एक विशिष्ट नेटवर्क इंटरफ़ेस के साथ ssh का उपयोग करें


37

मैं openconnectvpn से कनेक्ट करने के लिए उपयोग कर रहा हूं । अपनी साख दर्ज करने के बाद, मुझे यह मिला:

POST https://domain.name/...
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 30
Connected tun0 as xxx.xxx.xxx.xxx, using SSL
Established DTLS connection

रनिंग ifconfigशो मैं tun0एक निश्चित आईपी पते के साथ एक नया नेटवर्क इंटरफ़ेस है ।

प्रश्न: मैं sshकेवल नेटवर्क इंटरफ़ेस का उपयोग कैसे करूं tun0ताकि मैं उस निजी नेटवर्क पर कंप्यूटर का उपयोग कर सकूं?

संपादित करें:

मेरा नेटवर्क कॉन्फ़िगरेशन ( route -n) ऐसा लगता है:

172.16.194.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet8
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.16.25.0     0.0.0.0         255.255.255.0   U     0      0        0 vmnet1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 eth0

क्या आप अपने नेटवर्क कॉन्फ़िगरेशन पर विस्तार से बता सकते हैं? जगह में उचित मार्ग के साथ, ट्यून से जुड़े नेटवर्क के लिए नियत कोई भी ट्रैफ़िक उस इंटरफ़ेस का उपयोग करेगा।
एली हेडी जूल

जवाबों:


45

यह ssh क्लाइंट नहीं है जो यह तय करता है कि किस इंटरफ़ेस से TCP पैकेट जाना चाहिए, यह कर्नेल है। संक्षेप में, SSH कर्नेल को एक निश्चित IP पते से कनेक्शन खोलने के लिए कहता है, और कर्नेल यह तय करता है कि किस इंटरफ़ेस का उपयोग रूटिंग टेबल से परामर्श करके किया जाए।

(आप मानते हैं कि आप GNU / Linux पर हैं, सामान्य अवधारणा सभी यूनियनों के लिए समान है, लेकिन कमांड की बारीकियों को चलाने और आउटपुट के स्वरूप में भिन्नता हो सकती है।)

आप कमांड रूट -n और / या आईपी ​​रूट शो के साथ कर्नेल राउटिंग टेबल प्रदर्शित कर सकते हैं ।

OpenConnect tun0इंटरफ़ेस के लिए एक पंक्ति जोड़ा जाना चाहिए ; उस पंक्ति से मेल खाने वाले किसी भी पते के कनेक्शन को उस इंटरफ़ेस के माध्यम से रूट किया जाएगा। उदाहरण के लिए, route -nअपने लैपटॉप पर चलने से मुझे निम्नलिखित आउटपुट मिलते हैं:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.30.0.1       0.0.0.0         UG    0      0        0 eth0
10.30.0.0       0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

इसका मतलब यह है कि 192.168.122.0/24 में मेजबानों से कनेक्शन (यानी, 192.168.122.0 से 192.168.122.255 को CIDR नोटेशन के अनुसार ) नेटवर्क इंटरफ़ेस के माध्यम से रूट किया जाएगा virbr0; उन लोगों को 169.254.0.0/16 और 10.30.0.0/24 के माध्यम से जाना जाएगा eth0, और कुछ और (0.0.0.0 लाइन) को eth0 के माध्यम से गेटवे होस्ट 10.30.0.1 पर भेजा जाएगा।


मेरे लिए इसे स्पष्ट करने के लिए धन्यवाद - ऐसा लगता है कि इंटरफ़ेस के openconnectलिए एक पंक्ति नहीं जोड़ी गई थी tun0। मुझे लगता है कि मुझे इसे मैन्युअल रूप से करना चाहिए।
axel22

1
@ axel22 आप यहाँ देख सकते हैं: bbs.archlinux.org/viewtopic.php?id=69064 एक स्क्रिप्ट के लिए जो openconnect का उपयोग करता है और मार्गों को सेट करता है।
Riccardo Murri

@RiccardoMurri क्या आप मेरे सवाल
राहुल गौतम

6

मुझे नहीं पता कि इसे कब पेश किया गया था, लेकिन RHSS7 पर ओपनएसएसएच क्लाइंट के पास इसके मैनपेज में है:

 -b bind_address
         Use bind_address on the local machine as the source address of the connection.  Only useful on systems with more than one address.

इंटरफ़ेस चुनने में सक्षम होने के नाते उतना अच्छा नहीं है, लेकिन करीब।


इसके अलावा -Bध्वज, जो उपयोग करने के लिए नेटवर्क इंटरफ़ेस के नाम को निर्दिष्ट करने की अनुमति देता है।
हेनरिक

विकल्प -b bind_addressमेरे लिए काम नहीं करता था, किसी तरह। अस्थायी रूप से मार्गों को बदलने का काम करना चाहिए। BTW: -Bविकल्प उबंटू के साथ आने वाले SSH संस्करण पर मौजूद नहीं है।
जॉन

2

यदि आप अपने इंटरनेट कनेक्शन का प्रबंधन करने के लिए नेटवर्क प्रबंधक का उपयोग कर रहे हैं (जैसा कि कई प्रणालियों पर डिफ़ॉल्ट प्रबंधक है), तो आप दोनों openconnectऔर इंस्टॉल करना चाह सकते हैं network-manager-openconnect

नेटवर्क प्रबंधक के लिए OpenConnect प्लगइन स्थापित हो जाने के बाद, नेटवर्क प्रबंधक खोलें और +निचले-बाएँ आइकन पर क्लिक करें । आपको विकल्प वीपीएन के साथ कॉम्बो-बॉक्स दिया जाना चाहिए और फिर ओपनकनेक्ट संगत वीपीएन का चयन करने की क्षमता ।

OpenConnect के साथ इंटरफ़ेस करने के लिए नेटवर्क प्रबंधक का उपयोग करके, आपके मार्ग स्वचालित रूप से दिखाई देंगे और आपको वीपीएन से कनेक्ट करने में मदद करेंगे। यह वीपीएन पर सर्वर तक पहुंचने के लिए विशेष रूप से सहायक है, जैसे कि फायरहोस्ट चीजों को कैसे करता है।


1

सिर्फ एक उत्तर के अलावा। आप -bझंडे का उपयोग कर सकते हैं और पहुंच के समय में अपने स्रोत आईपी को परिभाषित कर सकते हैं ।

प्रारूप + उदाहरण

ssh -b interface-ip remote-ip
ssh -b 10.11.22.40 10.11.22.38 
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.