रिबूट किए बिना डिफ़ॉल्ट मैक OSX रूटिंग टेबल को फिर से कैसे लोड करें


71

अभिनंदन,

मैं vpncएक वीपीएन क्लाइंट के लिए उपयोग कर रहा हूं । मैं कुछ मुश्किल काम भी कर रहा हूं, यह routeसुनिश्चित करने के लिए कि मैं अभी भी अपने स्थानीय नेटवर्क आदि का उपयोग कर सकता हूं, आदि (यहां विवरण बहुत महत्वपूर्ण नहीं हैं)।

कभी-कभी मुझे रूटिंग टेबल मिल जाती है इसलिए मुझे उर के ping: sendto: Network is unreachableलिए मिलता है जो अन्यथा हल करना चाहिए।

वर्तमान में, अगर मैं मैक ओएस एक्स को पुनरारंभ करता हूं तो सब कुछ सामान्य हो जाता है। मैं जो करना चाहता हूं वह रूटिंग टेबल को "डिफॉल्ट" पर रीसेट करना है (उदाहरण के लिए बूट पर यह क्या सेट है) पूरे सिस्टम रिबूट के बिना

मुझे लगता है कि चरण 1 route flush(सभी मार्गों को हटाने के लिए) है। और चरण 2 को सभी डिफ़ॉल्ट मार्गों को पुनः लोड करने की आवश्यकता है।

यह कैसे करना है पर कोई विचार? (उदाहरण चरण 2 क्या है?)

संपादित करें इसके अलावा, मैं एक और लक्षण देख रहा हूं, tracerouteप्रश्न में पते पर भी विफल है। उदाहरण के लिए:

traceroute the.good.dns.name

traceroute: bind: Can't assign requested address

जवाबों:


64

आपको मार्गों को फ्लश करने की आवश्यकता है। रूट -n फ़्लश का कई बार उपयोग करें । बाद में मार्ग जोड़ने के साथ अपने मार्गों को जोड़ें।


1
मैंने इसे स्वीकृत उत्तर में बदल दिया है। यह काम करता हैं! मैंने route -n flushकई बार किया, फिर मैंने सिस्टम वरीयताओं के माध्यम से अपनी नेटवर्किंग को फिर से शुरू किया। मुझे वापस आने और इसे जानने में केवल एक वर्ष का समय लगा :) :)
नैट मरे

यह मेरे लिए सोनिकवॉल एवेंटेल कनेक्ट वीपीएन क्लाइंट के साथ एक समान समस्या का समाधान करता है, जो मुझे विशेष रूप से "वायरलेस नेटवर्क स्विच करने के दौरान" अनुरोधित पता नहीं दे सकता है। अब मेरे पास हल करने का एक तरीका है जो एक शक्ति चक्र से नहीं बचता है। धन्यवाद!
एलन डोनेली

वाह! इसने बाराकुडा वीपीएन के साथ मेरी समस्या को भी हल किया ... मैंने वाई-फाई को चालू / बंद कर दिया, और अंत में फिर से जुड़ सका! आपका बहुत बहुत धन्यवाद!
hans_meine

19

मैं एक होम OpenVPN सर्वर का उपयोग करते समय और मैक पर टनलब्लिक एप्लिकेशन का उपयोग करके इसे जोड़ने के दौरान इस मुद्दे पर चल रहा था।

मेरे अंत में क्या हो रहा था कि गंतव्य के रूप में मेरे घर के आईपी के साथ एक मार्ग और वीपीएन से डिस्कनेक्ट करने के बाद एक गलत प्रवेश द्वार बचे हुए हो रहा था। इस मार्ग को हटाने से समस्या हल हो गई, बस

$ sudo route -n delete the.good.dns.name

उदाहरण: मैं स्कूल में हूं और एक ताजा कंप्यूटर बूट के बाद, मैं एक वायरलेस नेटवर्क से जुड़ता हूं। मैं अपने घर OpenVPN सर्वर को टनलब्लिक से जोड़ता हूं।

$ netstat -nr
Destination                   Gateway
....
[home-ip]/32                  [school-default-gateway-1] ....
....

मैं वीपीएन सर्वर से डिस्कनेक्ट करता हूं। मैं वायरलेस नेटवर्क बदलता हूं। यह मेरा डिफ़ॉल्ट गेटवे बदलता है।

$ netstat -nr
Destination                   Gateway
...
[home-ip]/32                  [school-default-gateway-1] ...
...
$ ping [home-ip]
PING [home-ip]: 56 data bytes
ping: sendto: Network is unreachable
ping: sendto: Network is unreachable
Request timeout for icmp_seq 0
...

ऐसा होने के बाद मैं किसी भी परिस्थिति में अपने होम नेटवर्क (वीपीएन, पिंग, कुछ भी) से कनेक्ट नहीं हो सकता। यदि मैं तब मार्ग को हटाता हूं:

$ sudo route -n delete [home-ip]
delete net [home-ip]
$ ping [home-ip]
PING [home-ip]: 56 data bytes
64 bytes from [home-ip]: icmp_seq=1 ttl=56 time=13.111 ms

यह बढ़िया काम करता है।

कोई समस्या हो सकती है कि OpenVPN सर्वर / क्लाइंट को कैसे कॉन्फ़िगर किया गया है जो इसे छोड़ रहा है (और मुझे यह पता लगाने में दिलचस्पी होगी कि क्या है), लेकिन मैंने एक टनलब्लिक पोस्ट-डिस्कनेक्ट स्क्रिप्ट स्थापित की है जो इस मार्ग को हटाने को स्वचालित करती है।


मैं वास्तव में यहाँ एक समान मुद्दा रहा हूँ। वास्तव में गुस्से वाला।
टॉम बस्बी

मैं एक ही समस्या में चल रहा हूँ, उदाहरण के लिए ovpn स्क्रिप्ट के साथ भी। एकमात्र समाधान जो मुझे मिला है, वह ओपी के समान है, मार्ग को पोस्ट-डिस्कनेक्ट स्क्रिप्ट में हटाने के लिए: /
jklp

क्या हर डिस्कनेक्ट पर इस स्क्रिप्ट को स्वचालित रूप से चलाने का कोई तरीका है?
व्हिटेकैट

@Hitecat हाँ! इसे देखें: superuser.com/a/1305361
Elad Nava

13

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

ifconfig en0 down

ifconfig en0 up

route add <ip address> default


1
हां, लेकिन मैक ओएस एक्स कैसे जानता है कि डिफ़ॉल्ट मार्ग का आईपी पता क्या है? मैं वास्तव में यह देखना चाहता हूं कि मैक ओएस एक्स बूट प्रक्रिया कैसे करता है और ठीक यही काम करता है।
नैट मरे

1
...? यह डीएचसीपी से प्राप्त होता है ...
जोर्डन यूसन

5

मैं @Sean (मैं भी OS X चला रहा हूं) के रूप में एक ही समस्या में चल रहा था, जब मैंने घर और कार्य नेटवर्क के बीच स्विच किया तो डिफ़ॉल्ट मार्ग नष्ट नहीं हो रहा था।

पूर्णता के लिए, जब मैं घर पर अपने वीपीएन से जुड़ता हूं और निम्नलिखित कमांड चलाता हूं, तो यह नीचे के रूप में डिफ़ॉल्ट गेटवे दिखाएगा

$ netstat -nr
Destination                   Gateway
...
[home-ip]/32                  [work-default-gateway-1]

और जब मैंने डिस्कनेक्ट किया, तो [होम-आईपी] गेटवे अभी भी रहेगा। जब मैं अपने कार्य नेटवर्क से जुड़ूंगा तो मैं इंटरनेट से बिल्कुल भी नहीं जुड़ सकता, और ओपी के समान ही समस्या में चल सकता हूं

$ traceroute the.good.dns.name    
$ traceroute: bind: Can't assign requested address

फिर मुझे मैन्युअल रूप से मार्ग को हटाना होगा

$ sudo route -n delete [home-ip]

शुरू में मैंने एक post-disconnect.shस्क्रिप्ट में "मार्ग-एन डिलीट" डाला , लेकिन यह थोड़ा गड़बड़ था, इसलिए मुझे यह लिंक मिला

https://code.google.com/p/tunnelblick/issues/detail?id=177

जाहिरा तौर पर कारण मेरी .ovpnफ़ाइल में निम्नलिखित सेटिंग के कारण है

user nobody
group nogroup

जिसका अर्थ है कि रूट को रूट के रूप में सेट किया गया है, लेकिन जब कनेक्शन लिया जाता है तो उपयोगकर्ता अब रूट नहीं होता है, इसलिए रूट को हटाया नहीं जा सकता है।

मेरी .ovpnफ़ाइल में इन 2 पंक्तियों पर टिप्पणी करने से समस्या का समाधान हो गया, बिना उपयोग के post-disconnect.sh


धन्यवाद, यह मेरे लिए भी काम किया। यह दुर्भाग्यपूर्ण है कि Google कोड लिंक किसी भी अधिक काम नहीं करता है।
टॉबी

मैंने आपके सुझाव का उपयोग करने की कोशिश की है, समस्या यह है कि जब मैं वीपीएन से जुड़ता हूं तो यह कहीं से कॉन्फिग फाइल खींचता है और मेरे बदलावों को अधिलेखित कर देता है। यह उन्हें सर्वर से नहीं मिल रहा है, अब तक मैं बता सकता हूं क्योंकि जब मैं उन फाइलों को बदलता हूं तो यह समस्या को ठीक नहीं करता है। क्या कुछ क्लाइंट-साइड लोकेशन है जहाँ मैं इन फ़ाइलों को ढूँढ सकता हूँ और उन्हें नष्ट / संशोधित कर सकता हूँ ताकि मेरे परिवर्तन चिपक जाएँगे?
फाइनेंशियल प्राइस

मैं भ्रमित करने की तुच्छ त्रुटि कर रहा था ~ / पुस्तकालय के साथ / पुस्तकालय। ऊप्स! इसे पढ़ने वाले किसी भी व्यक्ति के लिए, आप फ़ाइल को ~ / लाइब्रेरी / एप्लीकेशन सपोर्ट / टनलब्लिक / कॉन्फिगरेशन / <vpnname> .tblk / Contents / Resources
Finncent Price
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.