मैं लिनक्स राउटिंग टेबल से एक मार्ग को कैसे हटाऊं


42

यह मैंने सोचा था की तुलना में कठिन हो जाता है। जिन मार्गों को मैं हटाना चाहता हूं वे हैं "!" अस्वीकृत मार्ग, लेकिन मैं इसे खींचने के लिए सही "मार्ग डेल" कमांड तैयार करने के लिए प्रतीत नहीं कर सकता।

ये है रूटिंग टेबल ...

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
67.40.227.206   *               255.255.255.255 UH    0      0        0 ppp0
192.168.46.79   *               255.255.255.255 UH    0      0        0 ipsec0
192.168.46.79   -               255.255.255.255 !H    2      -        0 -
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
10.1.0.0        *               255.255.0.0     U     0      0        0 ipsec0
10.1.0.0        -               255.255.0.0     !     2      -        0 -
default         *               0.0.0.0         U     3      0        0 ppp0
default         *               0.0.0.0         U     4      0        0 ppp0

मेरे पास 192.168.46.79 और 10.1.0.0 के लिए दो प्रविष्टियाँ हैं। मेरे द्वारा उपयोग किए जा रहे छोटे लिनक्स आधारित राउटर द्वारा ये स्वतः उत्पन्न होते हैं। मैं शेल से ही IPSEC सुरंगों को पिंग कर सकता हूं, लेकिन लैन से ट्रैफ़िक दूसरा मार्ग लेता है (अस्वीकार कर दिया गया "!" या "! H" मार्ग) उन कारणों से जिन्हें मैं आसानी से नहीं समझता।


क्या आप अधिक विशिष्ट हो सकते हैं जब आप कहते हैं कि यातायात 'दूसरा मार्ग' लेता है?
18

192.168.46.79 के लिए दो टेबल प्रविष्टियों पर ध्यान दें? राउटर शेल में, अगर मैं सुरंग के उस तरफ पिंग करता हूं तो यह काम करता है। LAN-side से, ट्रैफिक "दूसरी 192.168.46.79" एंट्री पर जाता है और रिजेक्ट / ड्रॉप हो जाता है।

मुझे यह भी समझ में नहीं आता है कि SG560 "डिफ़ॉल्ट" और IPSEC गंतव्यों के लिए दो (2) तालिका प्रविष्टियाँ क्यों बनाता है। मैं हैरान हूं।

जवाबों:


53

route -nकमांड के साथ आप प्राप्त करेंगे

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.178.1   0.0.0.0         UG    0      0        0 eth0
0.0.0.0         160.98.123.1    0.0.0.0         UG    600    0        0 wlan0

sudo route del -net 0.0.0.0 gw 192.168.178.1 netmask 0.0.0.0 dev eth0

आपको ऊपर से क्रमशः सभी पैरामीटर मिलेंगे


1
रिबूट के बाद, यह फिर से आता है। मैं स्थायी रूप से कैसे हटा सकता हूं?
श्यामखड्डका

1
@shyamkkhadka यह इस बात पर निर्भर करता है कि यह किस प्रक्रिया से बनाया गया है ... इसका विश्लेषण करने के लिए आपको अपने विशिष्ट मामले के साथ एक प्रश्न पोस्ट करने की सलाह देते हैं। आपके द्वारा प्राप्त मार्ग के बारे में विवरण दें और निकालना चाहते हैं। ज्यादातर dhcp सर्वर और क्लाइंट मार्गों का निर्माण करेंगे
फिलिप गाचौड

15

!ध्वज के साथ मार्गों के प्रकार या तो अगम्य हैं या निषिद्ध हैं। routeनेट-टूल्स से एक प्राचीन उपयोगिता होने के नाते, दोनों के बीच अंतर नहीं है। Iproute2 का उपयोग करें।

इन मार्गों को हटाने के लिए नेट-टूल का तरीका route delउस पर उपयोग करना होगा। हालांकि, नेट-टूल्स अस्वीकृत मार्ग और दूसरे एक के बीच अंतर करने का कोई रास्ता नहीं प्रदान करते हैं (क्योंकि देव तर्क वैकल्पिक है, हालांकि किसी उपकरण को निर्दिष्ट नहीं करना अगम्य मार्ग को हटाने की संभावना है)।

iproute2 आपको इसे इस तरह से करने की अनुमति देता है:

ip route del unreachable 10.1.0.0/24
ip route del unreachable 192.168.46.79/32

यह अगम्य नहीं हो सकता है, लेकिन निषिद्ध है। ip routeजो निर्धारित करने के लिए कोई तर्क के साथ उपयोग करें ।


8

मुझे लगता है कि यह है: route del -net 10.1.0.0 netmask 255.255.0.0 metric 2

मैं 100% निश्चित नहीं हूं। लेकिन, मुझे लगता है कि आपके पास 2 डिफ़ॉल्ट मार्ग होने के कारण कुछ और नासमझ चल रहा है।


2
+1: 2 डिफ़ॉल्ट मार्ग हमेशा किसी चीज़ के गलत होने का संकेत है (जब तक कि वे वास्तव में अलग-अलग गेटवे की ओर न हों और अलग-अलग मीट्रिक हों)।
वुल्फगैंग्ज़

-1

कृपया देखें कि क्या /etc/network/interfaces.d/ -> के तहत "डिवाइस कॉन्फ़िग फ़ाइल" है या नहीं? वास्तव में, यह eht0 था और वहाँ eth0 नहीं!


आप कुछ हद तक अपने उत्तर का विस्तार करना चाह सकते हैं, क्योंकि वर्तमान में यह स्पष्ट नहीं है कि यह पूछे जाने वाले प्रश्न से कैसे संबंधित है।
Womble
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.