लिनक्स में मौजूदा मार्ग प्रविष्टि को संशोधित करना


11

लिनक्स में मौजूदा मार्ग प्रविष्टि के मीट्रिक को संशोधित करने के लिए कमांड क्या है? मैं नीचे के रूप में "आईपी मार्ग परिवर्तन" कमांड का उपयोग करके एक मौजूदा प्रविष्टि के प्रवेश द्वार को बदलने में सक्षम हूं लेकिन मैट्रिक्स को बदलने में सक्षम नहीं हूं। क्या उसके लिए कोई अन्य आदेश है?

route –n
40.2.2.0        30.1.3.2        255.255.255.0   eth2

ip route change 40.2.2.0/24 via 30.1.2.2

route -n
40.2.2.0        30.1.2.2        255.255.255.0   eth1

यहां एक वेबसाइट पेज है जिसमें ifconfig कमांड का उपयोग करके आईपी एड्रेस को एडिट करने की कमांड है। मैं अपने सिर के ऊपर से सभी आदेशों को नहीं जानता, लेकिन उम्मीद है कि यह पृष्ठ आपकी मदद करेगा। tecmint.com/ifconfig-command-examples
निकोलस Awesomepants

1
मार्ग को हटा दें और फिर इसे फिर से जोड़ें, जब तक कि वे तय नहीं हुए हैं lkml.iu.edu/hypermail/linux/net/0504.3/0017.html
19

जवाबों:


7

जैसा कि प्रश्न के लिए एक टिप्पणी में उल्लेख किया गया है, लिनक्स-नेट मेलिंग सूची पर एक संदेश को उद्धृत करते हुए : "मीट्रिक / प्राथमिकता को बदला नहीं जा सकता है [...] यह वर्तमान प्रोटोकॉल की एक सीमा है [...]।"
मार्ग को हटाने और एक नया जोड़ने का एकमात्र तरीका है।

यह routeकमांड का उपयोग करके किया जाता है , उदाहरण:

sudo route add -net default gw 10.10.0.1 netmask 0.0.0.0 dev wlan0 metric 1

मार्ग कमांड के लिए डेबियन मैनपेज


4
सवाल यह नहीं था कि किसी दिए गए मीट्रिक के साथ एक मार्ग कैसे जोड़ा जाए; ओपी एक मौजूदा मार्ग पर (मार्ग को हटाने और पुन: जोड़ने के बिना) मीट्रिक बदलना चाहता था।
एंड्रस कोर्न

4
स्पष्ट रूप से आपने उस प्रश्न में टिप्पणी नहीं पढ़ी है जो यह दर्शाता है कि ईमेल में लिंक यह दर्शाता है कि मीट्रिक को बदला नहीं जा सकता है The metric/priority cannot be changed [...] This is a limitation of the current protocol[...]:। मार्ग को हटाने और एक नया जोड़ने का एकमात्र तरीका है।
Jan

7
मुझे पता है कि मीट्रिक को बदला नहीं जा सकता है। आपका जवाब अभी भी सवाल का जवाब नहीं देता है - शायद इस बात का जवाब दें कि उत्तर में, केवल मार्ग को हटाकर और फिर से जोड़कर मीट्रिक को बदला जा सकता है?
आंद्र कॉर्न

17

(उत्तर में विभिन्न टिप्पणियों को मिलाकर)

वर्तमान में, किसी रूट के मीट्रिक को संशोधित करना संभव नहीं है। LKML राज्यों पर 2005 के संदेश के रूप में :

[...] मीट्रिक / प्राथमिकता नहीं बदली जा सकती क्योंकि हमारे पास फ़ील्ड के मिलान के लिए अलग फ़ील्ड नहीं हैं और नए मान हैं इसलिए यदि आप मीट्रिक निर्दिष्ट करते हैं तो प्रवेश नहीं मिलेगा और अनुरोध ENOENT के साथ विफल रहता है क्योंकि NLM_F_CREATE निर्दिष्ट नहीं है। यह वर्तमान प्रोटोकॉल की एक सीमा है और इसे बदलने के लिए एक अच्छा विचार हो सकता है, हालांकि यह गैर तुच्छ है [...]

यह मेरे लिए एक त्रुटि के पूर्व परिणामों को - ip route changeऔर ip route replace- दोनों पर लागू होता है , जबकि बाद वाला विज्ञापन के रूप में एक अतिरिक्त मार्ग बनाता है (इसका मैन पेज बताता है कि एक मार्ग replaceको बदल देगा या बना देगा )। यह ENOENT के साथ कर्नेल प्रतिक्रिया के अनुरूप है, और ip route replaceमार्ग निर्माण अनुरोध के साथ निम्नलिखित है।


तो, समाधान मौजूदा मार्ग को हटाने और एक नया जोड़ने का है। जैसे

ip route del 40.2.2.0/24 via 30.1.2.2
ip route add 40.2.2.0/24 via 30.1.2.2 metric 1234

हाँ, इस समस्या से पिछले कुछ महीनों में काट लिया गया ... जैसा कि ब्रायन कैंट्रिल लिनक्स के बारे में कहते रहते हैं: यह NIH (यहाँ आविष्कार नहीं किया गया) सिंड्रोम के साथ एक विकसित करने वाली बात है ...
Hvisage

@ क्या आप विस्तृत कर सकते हैं? क्या कोई ऐसा उपकरण है जो मीट्रिक को बिना हटाए उसे बदलने की अनुमति देता है?
ब्राह्म

@Braiam यह एक नकारात्मक है, जैसे कि: ऐसा कोई उपकरण मौजूद नहीं है। उत्तर के अनुसार। यदि आप मेरे ब्रायन कैंट्रिल उद्धरणों का उल्लेख करते हैं, तो यह कहीं न कहीं मुझे youtube.com/watch?v=wTVfAMRj-7E पर
Hvisage

2

ifmetric आपको फ़्लाइट पर अपने रूट मीट्रिक को बदलने की अनुमति देगा, यह देखते हुए इंटरफ़ेस जिसे आप बदलना चाहते हैं।

प्रयोग

ifmetric <iface> [<metric>]

उदाहरण के लिए, ifmetric tun0 12सभी मार्गों के लिए मीट्रिक को 12 में बदलने के लिए उपयोग करें tun0

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