यह छोटा सा गाइड आपको बताता है कि SSH के माध्यम से UDP ट्रैफ़िक को कैसे भेजा जाए जो कि अधिकांश UNIX जैसे ऑपरेटिंग सिस्टम के साथ मानक (ssh, nc, mkfifo) आते हैं।
SSH कनेक्शन के माध्यम से UDP टनलिंग का प्रदर्शन करना
चरण दर चरण अपने SSH कनेक्शन के साथ एक टीसीपी फॉरवर्ड पोर्ट खोलें
अपने स्थानीय मशीन (स्थानीय) पर, SSH द्वारा दूर की मशीन (सर्वर) से कनेक्ट करें, अतिरिक्त -L विकल्प के साथ ताकि SSH TCP पोर्ट-फॉरवर्ड के साथ:
local# ssh -L 6667:localhost:6667 server.foo.com
यह आपके स्थानीय मशीन के पोर्ट नंबर 6667 पर टीसीपी कनेक्शन को सुरक्षित चैनल के माध्यम से server.foo.com पर पोर्ट नंबर 6667 पर अग्रेषित करने की अनुमति देगा। सर्वर पर आगे टीसीपी को यूडीपी पर सेट करें
सर्वर पर, हम टीसीपी पोर्ट 6667 पर एक श्रोता को खोलते हैं जो यूडीपी पोर्ट 53 को निर्दिष्ट आईपी के लिए डेटा अग्रेषित करेगा। यदि आप मेरी तरह DNS अग्रेषण करना चाहते हैं, तो आप पहले नेमसर्वर का IP ले सकते हैं जो आपको /etc/resolv.conf में मिलेगा। लेकिन पहले, हमें एक फिफो बनाने की जरूरत है। फ़ोरनो दो चैनलों के बीच दो-तरफ़ा संचार के लिए आवश्यक है। एक साधारण शेल पाइप केवल बाईं प्रक्रिया को 'मानक आउटपुट से सही प्रक्रिया' मानक इनपुट तक पहुंचाता है।
server# mkfifo /tmp/fifo
server# nc -l -p 6667 < /tmp/fifo | nc -u 192.168.1.1 53 > /tmp/fifo
यह 192.168.1.1 के पोर्ट 53 पर UDP ट्रैफ़िक को अग्रेषित करने के लिए सर्वर के पोर्ट 6667 पर टीसीपी ट्रैफ़िक और वापस आने की अनुमति देगा। अपनी मशीन पर UDP को TCP को आगे सेट करें
अब, हमें स्थानीय मशीन पर ऊपरी तौर पर जो किया गया था, उसके विपरीत करने की आवश्यकता है। यूडीपी पोर्ट 53 को बांधने के लिए आपको निजीकरण की आवश्यकता है।
local# mkfifo /tmp/fifo
local# sudo nc -l -u -p 53 < /tmp/fifo | nc localhost 6667 > /tmp/fifo
इससे लोकल मशीन के पोर्ट 53 पर UDP ट्रैफिक को स्थानीय मशीन के पोर्ट 6667 पर TCP ट्रैफिक के लिए फॉरवर्ड किया जा सकेगा। अपने मोबाइल DNS सर्वर का आनंद लें :)
जैसा कि आपने शायद अब अनुमान लगाया है, जब स्थानीय मशीन पर एक DNS क्वेरी का प्रदर्शन किया जाएगा, जैसे कि स्थानीय यूडीपी पोर्ट 53 पर, इसे स्थानीय टीसीपी पोर्ट 6667, फिर सर्वर के टीसीपी पोर्ट 6667, फिर सर्वर के DNS सर्वर पर भेजा जाएगा। , 192.168.1.1 का UDP पोर्ट 53। अपने स्थानीय मशीन पर डीएनएस सेवाओं का आनंद लेने के लिए, अपने /etc/resolv.conf में पहली नेमसर्वर के रूप में निम्न लाइन डालें:
nameserver 127.0.0.1