उबंटू लिनक्स पर वीपीएन पर सभी ट्रैफ़िक को रूट करना


13

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

अब तक, मैंने प्रयास किया है:

मार्ग जोड़ने -net 0.0.0.0 gw homeportal dev tun0
मार्ग जोड़ने -net 0.0.0.0 tun0
मार्ग जोड़ें -नेट 0.0.0.0 gw 128.122.252.77 देव ट्यून
मार्ग जोड़ें -नेट 0.0.0.0 gw 128.122.252.77 देव eth0
iptables-FORWARD -o tun0 -j ACCEPT
iptables-FORWARD -i tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

और कई अन्य मूर्खतापूर्ण, अप्रभावी, चीजें जिन्हें मैं अच्छी तरह से याद नहीं कर सकता हूं कि वे सटीक रूप से स्थानांतरित कर सकें।

इसके अलावा, मैंने छोटी आईपी रेंज, और विशिष्ट आईपी को रूट करने की कोशिश की है, प्रत्येक का कोई फायदा नहीं हुआ। मुझे वास्तव में यकीन नहीं है कि क्या गलत हो रहा है, मैं जिन प्रभावों का पालन करने में सक्षम हूं, वे नाम रिज़ॉल्यूशन की विफलताओं, और वीपीएन पर यातायात को विफल करने में विफल हैं। मुझसे यहां क्या गलत हो रहा है?

संपादित-

यहां ip route showवीपीएन कनेक्शन को वीपीएनसी के साथ शुरू करने के बाद आउटपुट दिया गया है:

डिफ़ॉल्ट रूप से 192.168.1.254 देव eth0 प्रोटो स्टेटिक 
10.0.0.0/8 देव ट्यून 0 गुंजाइश लिंक 
91.230.41.0/24 देव ट्यून 0 गुंजाइश लिंक 
128.122.0.0/16 देव ट्यून गुंजाइश लिंक 
128.122.252.68 192.168.1.254 देव eth0 src 192.168.1.32 के माध्यम से 
128.122.253.46 देव टुन0 स्कोप लिंक 
128.122.253.79 देव ट्यून 0 गुंजाइश लिंक 
172.16.0.0/12 देव ट्यून गुंजाइश लिंक 
192.168.0.0/16 देव टुन स्कोप लिंक 
192.168.1.0/24 देव eth0 प्रोटो कर्नेल स्कोप लिंक src 192.168.1.32 मीट्रिक 1 
193.175.54.0/24 देव ट्यून 0 गुंजाइश लिंक 
193.205.158.0/25 देव ट्यून गुंजाइश लिंक 
193.206.104.0/24 देव ट्यून गुंजाइश लिंक 
195.113.94.0/24 देव ट्यून 0 गुंजाइश लिंक 
203.126.200.0/24 देव ट्यून गुंजाइश लिंक 
203.174.165.128/25 देव ट्यून 0 स्कोप लिंक 
212.219.93.0/24 देव ट्यून 0 गुंजाइश लिंक 
216.165.0.0/17 देव टुन स्कोप लिंक

अधिक जानकारी-

मैंने डिफ़ॉल्ट रूप से Cisco AnyConnect क्लाइंट के माध्यम से MS Windows में इस वीपीएन पर मनमाने ढंग से ट्रैफ़िक रूट किया है। यहां पर राउटिंग टेबल ऐसा दिखता है जब AnyConnect क्लाइंट काम कर रहा है (यह 192.168.1.254 पर एक ही राउटर के पीछे एक अलग कंप्यूटर है)।

IPv4 रूट टेबल
================================================== =========================
सक्रिय मार्गों:
नेटवर्क गंतव्य नेटमास्क गेटवे इंटरफ़ेस मीट्रिक
          0.0.0.0 0.0.0.0 192.168.1.254 192.168.1.13 30
         10.0.0.0 255.0.0.0 192.168.128.1 192.168.128.197 2
      91.230.41.0 255.255.255.0 192.168.128.1 192.168.128.197 2
        127.0.0.0 255.0.0.0 ऑन-लिंक 127.0.0.1 306
        127.0.0.1 255.255.255.255 ऑन-लिंक 127.0.0.1 306
  127.255.255.255 255.255.255.255 ऑन-लिंक 127.0.0.1 306
      128.122.0.0 255.255.0.0 192.168.128.1 192.168.128.197 2
   128.122.252.68 255.255.255.255 192.168.1.254 192.168.1.13 31
       172.16.0.0 255.240.0.0 192.168.128.1 192.168.128.197 2
      192.168.0.0 255.255.0.0 192.168.128.1 192.168.128.197 2
      192.168.1.0 255.255.255.0 ऑन-लिंक 192.168.1.13 286
     192.168.1.13 255.255.255.255 ऑन-लिंक 192.168.1.13 286
    192.168.1.254 255.255.255.255 ऑन-लिंक 192.168.1.13 31
    192.168.1.255 255.255.255.255 ऑन-लिंक 192.168.1.13 286
     192.168.31.0 255.255.255.0 ऑन-लिंक 192.168.31.1 276
     192.168.31.1 255.255.255.255 ऑन-लिंक 192.168.31.1 276
   192.168.31.255 255.255.255.255 ऑन-लिंक 192.168.31.1 276
    192.168.128.0 255.255.255.0 ऑन-लिंक 192.168.128.197 257
  192.168.128.197 255.255.255.255 ऑन-लिंक 192.168.128.197 257
  192.168.128.255 255.255.255.255 ऑन-लिंक 192.168.128.197 257
    192.168.203.0 255.255.255.0 ऑन-लिंक 192.168.203.1 276
    192.168.203.1 255.255.255.255 ऑन-लिंक 192.168.203.1 276
  192.168.203.255 255.255.255.255 ऑन-लिंक 192.168.203.1 276
     193.175.54.0 255.255.255.0 192.168.128.1 192.168.128.197 2
    193.205.158.0 255.255.255.128 192.168.128.1 192.168.128.197 2
    193.206.104.0 255.255.255.0 192.168.128.1 192.168.128.197 2
     195.113.94.0 255.255.255.0 192.168.128.1 192.168.128.197 2
    203.126.200.0 255.255.255.0 192.168.128.1 192.168.128.197 2
  203.174.165.128 255.255.255.128 192.168.128.1 192.168.128.197 2
     212.219.93.0 255.255.255.0 192.168.128.1 192.168.128.197 2
      216.165.0.0 255.255.128.0 192.168.128.1 192.168.128.197 2
        224.0.0.0 240.0.0.0 ऑन-लिंक 127.0.0.1 306
        224.0.0.0 240.0.0.0 ऑन-लिंक 192.168.1.13 286
        224.0.0.0 240.0.0.0 ऑन-लिंक 192.168.203.1 276
        224.0.0.0 240.0.0.0 ऑन-लिंक 192.168.31.1 276
        224.0.0.0 240.0.0.0 ऑन-लिंक 192.168.128.197 10000
  255.255.255.255 255.255.255.255 ऑन-लिंक 127.0.0.1 306
  255.255.255.255 255.255.255.255 ऑन-लिंक 192.168.1.13 286
  255.255.255.255 255.255.255.255 ऑन-लिंक 192.168.203.1 276
  255.255.255.255 255.255.255.255 ऑन-लिंक 192.168.31.1 276
  255.255.255.255 255.255.255.255 ऑन-लिंक 192.168.128.197 10000
================================================== =========================

मुझे लगता है कि यह स्पष्ट होगा कि नेटवर्क रूटिंग मेरे लिए काफी नया है, इसलिए मैं जवाबों में काफी उच्च स्तर की मौखिकता की सराहना करूंगा।
deftfyodor

1
यह उपयोगी होगा यदि आप यह बता सकें कि क्या आप किसी भी ग्राहक (anyconnect?) का उपयोग कर रहे हैं, और यदि आप अपनी रूटिंग टेबल पोस्ट कर सकते हैं, तो धन्यवाद।
MariusMatutiae

ip routeइस तरह से, का उपयोग कर ।
user1686

2
हां, कृपया अप्रचलित रूटिंग कमांड का उपयोग न करें: रूटिंग टेबल के लिए आईपी ​​रूट शो का उपयोग करें । अप्रचलित आदेश कुछ जटिलताओं को छिपाते हैं जो वीपीएन के साथ भी संभव और सहायक हैं, अकेले चलो VLAN, ...
MariusMatutiae

@grawity, @MariusMatutiae - निश्चित रूप से, मैंने कमांड आउटपुट के साथ प्रश्न को संपादित किया है। ip routeकमांड का उल्लेख करने के लिए धन्यवाद , मैं इससे पहले नहीं चला था।
deftfyodor

जवाबों:


3

आपका स्थानीय नेटवर्क 192.168.1.0/24 है, जैसा कि आपकी रूटिंग टेबल में इस लाइन द्वारा दिखाया गया है:

 192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.32  metric 1

आपका वीपीएन नेटवर्क 10.0.0.0/8 है, जैसा कि इस लाइन द्वारा दिखाया गया है:

 10.0.0.0/8 dev tun0  scope link 

वर्तमान में, आपका डिफ़ॉल्ट राउटर है:

 default via 192.168.1.254 dev eth0  proto static 

जो निश्चित रूप से वह है जो आप नहीं चाहते हैं, क्योंकि यह आपके स्थानीय LAN से संबंधित है: इस प्रकार आपके सभी सामान को आपके स्थानीय गेटवे के माध्यम से रूट किया जाता है, जैसे कि वीपीएन मौजूद नहीं था।

 You do have however, the all-important statement

 128.122.252.68 via 192.168.1.254 dev eth0  src 192.168.1.32  

जो आपके वीपीएन-प्रदाता का मार्ग है।

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

मुझे महसूस नहीं हुआ था कि राउटिंग टेबल केवल एक है जो आपके वीपीएन से प्राप्त होता है, आपके हस्तक्षेप के बिना। यह (अप्रत्यक्ष रूप से) संकेत दे सकता है कि आपका सेवा प्रदाता इंटरफ़ेस ट्यून के माध्यम से आपकी तालिका में स्पष्ट रूप से अनुमत ट्रैफ़िक को अग्रेषित करने के लिए तैयार है, और अन्य सभी ट्रैफ़िक को अवरुद्ध करने के लिए और कदम उठाए हैं, जिस स्थिति में आपके प्रयास निरर्थक होंगे।

हालांकि, यह मानते हुए कि आपका प्रदाता आपके सभी ट्रैफ़िक को आगे बढ़ाने के लिए तैयार है, आपको जो करने की आवश्यकता है वह निम्नलिखित है।

सबसे पहले, आपको यह पता लगाने की आवश्यकता है कि क्या कोई गेटवे दूसरी तरफ आपके कनेक्शन को स्वीकार करने के लिए तैयार है, क्योंकि हमें इसके आईपी पते की आवश्यकता है। मैं आपको ऐसा करने के लिए चार तरीके दूंगा।

1) वीपीएन से जुड़े पीसी के साथ, निम्नलिखित कमांड का प्रयास करें:

   sudo dhclient -v tun0

यदि सबकुछ ठीक हो जाता है, तो आपको एक उत्तर देखना चाहिए जिसमें इस पंक्ति को शामिल किया गया है:

 DHCPOFFER of a.b.c.d from x.y.w.z

xywz स्थानीय गेटवे का IP पता है। आपको इस परीक्षण के बाद अपने वीपीएन को बंद करना पड़ सकता है, और शायद अपने पीसी को रिबूट करने के लिए भी, क्योंकि हमने रूटिंग टेबल को बहुत अच्छी तरह से गड़बड़ कर दिया है।

2) वैकल्पिक रूप से, आप अनुमत साइटों में से किसी एक पर नेविगेट करने की कोशिश कर सकते हैं (जो आपके रूटिंग टेबल में tun0 इंटरफ़ेस से गुजरते हुए दिखाई देते हैं ), फिर कमांड जारी करना:

  ip neigh show

आपको मैक और आईपी पते के साथ एआरपी प्रोटोकॉल के माध्यम से संपर्क किए गए पीसी की एक सूची मिलनी चाहिए; सबसे अधिक संभावना है, आपको शून्य या एक उत्तर मिलेगा। यदि आपको एक भी उत्तर मिलता है, तो वह है आपका राउटर।

3) यदि आपको ऐसा कोई उत्तर नहीं मिलता है, तो आप इसके साथ प्रयास कर सकते हैं

  sudo nmap -sn 10.0.0.0/8

(जो बहुत धीमा हो रहा है)। आपका गेटवे सूचीबद्ध पीसी में से एक होगा , सबसे अधिक संभावना है कि पता 1 या .254 में समाप्त होता है, अगर ऐसा कोई मौजूद है।

4) tcpdump कमांड का उपयोग करें:

  sudo tcpdump -n -i tun0

और देखिए कि कमांड द्वारा आईपी पते का पता लगाया गया है।

यदि आपको इस परीक्षण का कोई उचित उत्तर नहीं मिला है, तो इसका मतलब है कि किसी ने उसके नेटवर्क में वास्तव में शिकंजा कस दिया है।

लेकिन हमें आशावादी होना चाहिए, और मान लीजिए कि अब आपके पास रिमोट राउटर के लिए एक उम्मीदवार का आईपी एड्रेस xwyz है। आपको डिफ़ॉल्ट गेटवे को हटाना होगा, (sudo के रूप में!):

  ip route del default via 192.168.1.254

नया जोड़ें:

  ip route add default via x.w.y.z 

और नेविगेट करने का प्रयास करें।

मुझे दोहराने दें: चूंकि आपके प्रदाता ने अपने वीपीएन के माध्यम से केवल कुछ चुनिंदा आईपी पते पर ही यातायात की अनुमति दी है, इसलिए संभव है कि उसने अपने वीपीएन के माध्यम से अपने जेनेरिक ट्रैफ़िक को बाध्य करने के लिए स्मार्ट उपयोगकर्ता को रोकने के लिए अतिरिक्त उपाय (= फ़ायरवॉल) किए हों। इस मामले में, ऐसा कुछ भी नहीं है जो आप कर सकते हैं। लेकिन अगर वह नहीं करता है, तो उपरोक्त कदम आपको एक समाधान खोजने में मदद करेंगे।


बहुत विस्तृत उत्तर के लिए धन्यवाद, हालांकि दूसरी छमाही में प्रवेश करते हुए, मुझे थोड़ा हिचकी का अनुभव होता है। बिना किसी सहकर्मी के पते के साथ ip addr show dev tun0पठन का आउटपुट 10: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1412 qdisc pfifo_fast state UNKNOWN group default qlen 500 link/none inet 192.168.128.193/24 brd 192.168.128.255 scope global tun0 valid_lft forever preferred_lft foreverदेखा जाता है। इसके अलावा, मैंने पहले जो रूटिंग टेबल पोस्ट की थी, वह मेरे द्वारा बिल्कुल भी संशोधित नहीं की गई थी- यह पूरी तरह से vpn क्लाइंट द्वारा जेनरेट की गई थी।
deftfyodor

@deftfyodor कृपया मेरा संपादन देखें।
MariusMatutiae

Tcpdump कमांड का उपयोग करते हुए, मैं वास्तव में गेटवे और इसके लिए डिफ़ॉल्ट ट्रैफ़िक को रूट करने में सक्षम था। दुर्भाग्य से, यह अभी भी केवल विशेष रूप से प्रावधानित आईपी रेंज के लिए काम करता है। मैं निश्चित रूप से यह मानना ​​चाह रहा हूं कि जगह में कुछ अतिरिक्त सुरक्षा उपाय हैं- हालाँकि, मुझे किसी भी वीपीएन पर एमएस विंडोज में किसी भी तरह के मनमाने ढंग से ट्रैफिक में कोई समस्या नहीं है, जैसे कि AnyConnect क्लाइंट का उपयोग करना।
deftfyodor

@deftfyodor क्या आप जांच सकते हैं कि क्या विंडोस में आपकी रूटिंग टेबल लिनक्स से अलग है?
MariusMatutiae 19

यह आम तौर पर समान है, हालांकि कुछ तत्व हैं जो भिन्न हैं- विशेष रूप से, 0.0.0.0 गेटवे के रूप में मेरे नेटवर्क राउटर के माध्यम से रूट पर सेट है, इंटरफ़ेस के रूप में वीपीएन गेटवे को पकड़े हुए है। मैंने विंडोज राउटिंग टेबल दिखाने के लिए प्रश्न को संपादित किया है।
deftfyodor 20

3

आपके सभी routeआदेशों में नेटमास्क गायब हैं, इसलिए वे केवल विशिष्ट 0.0.0.0पते से मेल खाते हैं , संपूर्ण इंटरनेट से नहीं। तो बदलने के 0.0.0.0साथ 0.0.0.0/0पहले आदेश आप की कोशिश की में:

ip route add -net 0.0.0.0/0 gw homeportal dev tun0

एक कैविएट हो सकता है जो कि मुझे यकीन नहीं है कि अगर आपका वीपीएन क्लाइंट खुद से हल करता है: टनल एंडपॉइंट को वीपीएन के माध्यम से रूट किए जाने से बाहर रखने की आवश्यकता है, तो इसे आपके eth0इंटरफ़ेस के माध्यम से रूट करना होगा । इसलिए यदि इस डिफ़ॉल्ट मार्ग को जोड़ने से आपका वीपीएन टूट जाता है, तो अपने वीपीएन समापन बिंदु के लिए एक विशिष्ट मार्ग जोड़ें:

ip route add <ENDPOINT>/32 dev eth0


2
मुझे लगता है कि दूसरा माना जाता है ip route, नहीं? नेटमास्क जोड़ने के लिए हमेशा एक अच्छा विचार है, इसके अलावा, ऐसा लगता है कि routeमान लिया गया है / 0 जब 0.0.0.0 जोड़ते हैं
user1686
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.