मैं अपने OSX सिस्टम को सेटअप करना चाहता हूं जैसे कि सभी नेटवर्क ट्रैफिक एक SSH सुरंग के माध्यम से किया जाता है।
मैंने इस उद्देश्य के लिए एक छोटी स्क्रिप्ट लिखी है, और ये इसके द्वारा निष्पादित कमांड हैं:
// setup tunnel
ssh -fN -D 1080 -p 22 user@remote
// start up redsocks
sudo redsocks -c /tmp/redsocks.conf -p /tmp/redsocks.pid
// forward all tcp traffic to tunnel
sudo ipfw add 0010 fwd 127.0.0.1,12345 tcp from me to any not dst-port 12345 not dst-port 1080 not dst-ip REMOTE_IP
मैं अपनी ssh-tunnel को http प्रॉक्सी बनाने के लिए redsocks का उपयोग करता हूं (ताकि मैं इसे ipcw के माध्यम से सभी tcp ट्रैफ़िक को अग्रेषित कर सकूं), redsocks.conf इस तरह दिखता है:
base {
log_debug = on;
log_info = on;
log = "file:/tmp/redsocks.log";
redirector = generic;
}
redsocks {
local_ip = 127.0.0.1;
local_port = 55660;
ip = 127.0.0.1;
port = 1080;
type = socks4;
}
अब तक सब कुछ काम करने लगता है, मेरे OSX सिस्टम पर सभी TCP ट्रैफ़िक ssh सुरंग के माध्यम से किया जाता है, लेकिन समस्या UDP ट्रैफ़िक के साथ है और इसके कारण DNS क्वेरीज़ काम नहीं कर रही हैं।
मैं SSH सुरंग के माध्यम से काम करने के लिए अपने स्थानीय मशीन पर DNS कैसे प्राप्त कर सकता हूं?