आपको tun2socks की आवश्यकता है, यह BadVPN परियोजना ( https://github.com/ambrop72/badvpn ) का हिस्सा है । ट्यूनसॉस्क की सिफारिश करने के लिए यहां पहले से ही एक जवाब है, लेकिन इसमें उदाहरणों की कमी है।
आप या तो स्रोत से tun2socks बना सकते हैं या पहले से तैयार पैकेज स्थापित कर सकते हैं। उदाहरण के लिए, उबंटू में:
sudo add-apt-repository ppa:hda-me/badvpn-tun2socks
sudo apt-get update
sudo apt-get install badvpn-tun2socks
ip tuntap add dev tun1 mode tun user nobody
ifconfig tun1 up 10.0.0.1/24
# --netif-ipaddr 10.0.0.2 is not a typo.
# It specifies the IP address of the virtual router inside the TUN device,
# and must be different than the IP of the TUN interface itself.
# This command assumes you have tor up and running on 127.0.0.1:9050.
# Of course, you can use any other SOCKS proxy instead.
badvpn-tun2socks --tundev tun1 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:9050
इसके बाद, आपको यह तय करने की आवश्यकता है कि क्या आप प्रॉक्सी के माध्यम से सभी ट्रैफ़िक को रूट करना चाहते हैं, या बस कुछ विशिष्ट आईपी या मेजबानों को ट्रैफ़िक देना चाहते हैं। यदि आपके पास ऐसी सूची है (या उचित मात्रा में प्रयास के साथ एक बना सकते हैं), तो यह सबसे कुशल समाधान है।
# Here list of hosts or IPs to route through proxy is just an example.
# You need to specify your own list.
list_of_IPs_to_route_via_proxy="example.com 203.0.113.5"
for IP in $(echo $list_of_IPs_to_route_via_proxy); do
route add $IP gw 10.0.0.2; done
यदि आपको प्रॉक्सी के माध्यम से सभी ट्रैफ़िक को रूट करने की आवश्यकता है, तो यह थोड़ा अधिक जटिल होगा। इस मामले में मैं ध्यान से https://github.com/ambrop72/badvpn/wiki/Tun2socks पढ़ने का सुझाव देता हूं । आधिकारिक दस्तावेज यह मानता है कि आप अपने प्रॉक्सी के रूप में लोकलहोस्ट: 1080 का उपयोग करना चाहते हैं, और एसएसएच डायनेमिक डेटािंग के साथ स्थानीय एसओकेकेएस सर्वर बनाने के निर्देश देते हैं। प्रलेखन का सबसे महत्वपूर्ण हिस्सा:
SSH सर्वर से कनेक्ट, -D localhost: 1080 से ssh कमांड को डायनेमिक फ़ॉरवर्डिंग सक्षम करने के लिए। यह ssh को एक स्थानीय SOCKS सर्वर खोल देगा, जो badvpn-tun2socks का उपयोग करेगा। यदि आप पुट्टी का उपयोग करते हैं, तो कनेक्शन-> एसएसएच-> सुरंगों पर जाएं, स्रोत पोर्ट में 1080 टाइप करें, डायनामिक चुनें और Add पर क्लिक करें।
मौजूदा डिफ़ॉल्ट गेटवे के बजाय TUN डिवाइस के माध्यम से कनेक्शन को रूट करना है। यह अग्रानुसार होगा:
मूल डिफ़ॉल्ट मार्ग की तुलना में कम मीट्रिक के साथ अपने मौजूदा प्रवेश द्वार के माध्यम से एसएसएच सर्वर के लिए एक मार्ग जोड़ें। यदि आपके DNS सर्वर इंटरनेट (आपके स्थानीय नेटवर्क के बजाय) में हैं, तो उनके लिए मार्ग भी जोड़ें (जैसे SSH सर्वर के लिए)। यह आवश्यक है क्योंकि ट्यूनडॉस्क डिफ़ॉल्ट रूप से यूडीपी को आगे नहीं करता है (नीचे देखें)। TUN डिवाइस में वर्चुअल राउटर के माध्यम से डिफ़ॉल्ट रूट जोड़ें, मूल डिफ़ॉल्ट मार्ग की तुलना में कम मीट्रिक के साथ, लेकिन SSH और DNS मार्गों से अधिक।
यह सभी बाहरी कनेक्शनों को TUN डिवाइस के माध्यम से जाने देगा, सिवाय SSH कनेक्शन के (अन्यथा SSH TUN डिवाइस से गुजरेगा, जो ... SSH) से होकर गुजरेगा।
उदाहरण के लिए (यह मानकर कि मेट्रिक <= 6 के साथ कोई मौजूदा डिफ़ॉल्ट मार्ग नहीं हैं; अन्यथा उन्हें हटा दें या अपनी मैट्रिक्स को बदल दें), लिनक्स में:
route add <IP_of_SSH_server> gw <IP_of_original_gateway> metric 5 <same for DNS>
route add default gw 10.0.0.2 metric 6
प्रलेखन भी यूडीपी अग्रेषण के लिए tun2socks का उपयोग कर, कैसे टो के माध्यम से मार्ग समस्त ट्रैफ़िक पर, कैसे IPv6 का समर्थन पाने के लिए उदाहरण है।