फिक्स: कई नेटवर्कों के साथ Ubuntu पर होस्ट करने के लिए कोई रूट विफल



समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

जब आपके पास एक जटिल नेटवर्क सेटअप होता है, तो यह होना निराशाजनक होता है। ओई रास्ता नहीं है होस्ट के लिए 'एक नया इंटरफ़ेस बढ़ाने के बाद दिखाई देने लगते हैं। यह अक्सर डिफ़ॉल्ट मार्ग के कारण या तो बदल दिया जाता है या गिरा दिया जाता है।



अपना डिफ़ॉल्ट मार्ग दर्ज करने के लिए



आईपी ​​मार्ग शो



मेजबान -1 का कोई मार्ग नहीं

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

मशीन को इंटरनेट तक पहुंचने में सक्षम होने के लिए एक डिफ़ॉल्ट मार्ग की आवश्यकता होती है जिसे निम्नलिखित कमांड के साथ जोड़ा जा सकता है



sudo ip मार्ग 136.63.176.1 के माध्यम से डिफ़ॉल्ट जोड़ता है

यदि आपके पास यह समस्या एक या दो बार से अधिक उत्पन्न होती है, तो यह एक उपद्रव बन सकता है, इसलिए मेरे पास स्थिति को जल्दी से ठीक करने के लिए शेल स्क्रिप्ट के एक जोड़े हैं।

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

अपने पसंदीदा टेक्स्ट एडिटर का उपयोग करना, मुझे विम पसंद है और मेरे होम डायरेक्टरी में एक सोर्स फोल्डर है

mkdir ~ / src && cd ~ / src

मैं आ गया

#! / बिन / बैश

# दिए गए डिवाइस के लिए आईपी एड्रेस सेट करें

INTF = $ {1}

PTH = (~ / src /)

TMP_IP2 घोषित करें

TMP_IP2 = $ (ip a। Grep $ {INTF} | grep inet | cut -d ”” -f6 | cut -d ”/” -f1> $ {PTH} current _ $ {INTF} .ip)

आईपी ​​ए | grep $ {INTF} | grep inet | कट -d ”” -f6 | कट -d '/' -f1 | कटौती -d '' -f1-3 | awk ″ {प्रिंट $ 0 / .0 / 24>} '> $ {PTH} शुद्ध _ $ {INTU}।

आईपी ​​ए | grep $ {INTF} | grep inet | कट -d ”” -f6 | कट -d '/' -f1 | कटौती -d '' -f1-3 | awk ″ {प्रिंट $ 0 ″ .1>} '> $ {PTH} gw _ $ {INTU}।

TMP_IP घोषित करें

TMP_IP = $ (बिल्ली $ {PTH} करंट _ $ {INTF} .ip)

गूंज 'वर्तमान वान आईपी $ TMP_IP'

सहेजें और बाहर निकलें, इसे निष्पादन योग्य बनाएं और फिर इसका परीक्षण करें।

sudo chmod a + x getip.sh

bash getip.sh eth0.2

मेजबान -2 के लिए कोई रास्ता नहीं

यह मानते हुए कि आपके लिए ठीक से काम किया गया है और इसे विश्व स्तर पर निष्पादन योग्य बनाने के लिए / usr / स्थानीय / बिन / में कॉपी करें।

sudo cp getip.sh / usr / लोकल / बिन / गेटिप

अब मैं केवल getip eth0.2 टाइप कर सकता हूं और आईपी वापस कर दिया जाएगा।

दूसरी स्क्रिप्ट डिफ़ॉल्ट मार्ग बताएगी, साथ ही पहली स्क्रिप्ट भी चलाएगी।

मैं setip.sh से आया था

#! / बिन / बैश

getip $ {1}

दिए गए डिवाइस के लिए #fetch ip एड्रेस सेट करें

PTH = (~ / src /)

आरटी_आईपी घोषित करें

RT_IP = $ (बिल्ली $ {PTH} gw _ $ {1} .ip)

$ RT_IP के माध्यम से आईपी मार्ग परिवर्तन डिफ़ॉल्ट

आईपी ​​मार्ग $ RT_IP के माध्यम से डिफ़ॉल्ट जोड़ते हैं

गूंज 'आईपी मार्ग - $ RT_IP के माध्यम से डिफ़ॉल्ट'

सेव करके छोड़ो। आपने देखा होगा कि मेरे पास डिफ़ॉल्ट मार्ग को बदलने और जोड़ने दोनों हैं, यह ऐसे अवसरों के लिए है जो आपके पास गलत गेटवे सेट है।

sudo chmod a + x setip.sh

सुडो सेटिप.श एथ .२ sh

मेजबान -3 के लिए कोई रास्ता नहीं

आप राउटिंग टेबल को दोबारा जांच सकते हैं कि सब अच्छा है।

सुडो आईपी रूट शो

आप स्क्रिप्ट्स को / usr / लोकल / बिन / में कॉपी कर सकते हैं, अगर आप उन्हें विश्वव्यापी निष्पादन योग्य बनाना चाहते हैं। यह अभी भी sudo की आवश्यकता होगी, क्योंकि आप संशोधित और इंटरफ़ेस कर रहे हैं।

sudo cp setip.sh / usr / लोकल / बिन / सेटिप

2 मिनट पढ़ा