परिचय

लिनक्स नेटवर्किंग की दुनिया में, आपका कंप्यूटर डेटा कैसे भेजता है, इस पर नियंत्रण रखना वास्तव में महत्वपूर्ण है। अधिकांश ऑपरेटिंग सिस्टम डीएचसीपी के माध्यम से रूटिंग को स्वचालित रूप से संभालते हैं, लेकिन कई बार विशेष रूप से सर्वर, राउटर या अन्य लैब वातावरण पर आपको सिस्टम को यह बताने की आवश्यकता होती है कि ट्रैफ़िक कहां भेजना है। यह का उपयोग करके किया जाता है ip route add कमांड.

द ip route add कमांड का हिस्सा है iproute2 सुइट, जो लिनक्स में नेटवर्किंग को कॉन्फ़िगर करने के लिए उपयोगिताओं का एक आधुनिक संग्रह है। यह आपको स्थिर मार्ग बनाने की अनुमति देता है: नेटवर्क ट्रैफ़िक के लिए निश्चित, मैन्युअल रूप से परिभाषित पथ।

"आईपी रूट ऐड" कैसे काम करता है?

जब आपके कंप्यूटर को कोई पैकेट भेजने की आवश्यकता होती है, तो वह उसे देखता है राउटिंग टेबल. यह तालिका नियमों की एक सूची है जो कहती है, "यदि गंतव्य आईपी एक्स है, तो गेटवे वाई के माध्यम से पैकेट भेजें।"

द ip route add कमांड बस इस तालिका में एक नया नियम सम्मिलित करता है।

यहां चरण-दर-चरण तर्क दिया गया है:

  1. कमांड निष्पादन: आप निर्दिष्ट करते हुए कमांड टाइप करें लक्ष्य नेटवर्क और प्रवेशद्वार (या इंटरफ़ेस) उस तक पहुंचने के लिए।
  2. कर्नेल अद्यतन: लिनक्स कर्नेल कमांड को मान्य करता है और मेमोरी में राउटिंग टेबल में प्रविष्टि जोड़ता है।
  3. रूटिंग निर्णय: अगली बार जब उस गंतव्य के लिए एक पैकेट तैयार किया जाता है, तो कर्नेल आपके नए नियम से उसका मिलान करता है।
  4. अग्रेषण: कर्नेल पैकेट को निर्दिष्ट इंटरफ़ेस के माध्यम से या निर्दिष्ट नेक्स्ट-हॉप आईपी पर भेजता है।

यह ध्यान रखना महत्वपूर्ण है कि अतिरिक्त कॉन्फ़िगरेशन के बिना, ये मार्ग अक्सर होते हैं अस्थायी और यदि आप मशीन को रिबूट करेंगे तो गायब हो जाएगा।

कमांड का उपयोग कैसे करें (उदाहरण)

मूल वाक्यविन्यास सरल लेकिन शक्तिशाली है। इसका उपयोग करने के सबसे सामान्य तरीके यहां दिए गए हैं।

1. एक विशिष्ट नेटवर्क में रूट जोड़ना

अपने सिस्टम को यह बताने के लिए कि किसी विशिष्ट नेटवर्क तक कैसे पहुंचा जाए (उदाहरण के लिए, 192.168.50.0/24) एक गेटवे आईपी के माध्यम से (192.168.1.1):

बैश
sudo ip route add 192.168.50.0/24 via 192.168.1.1

> 192.168.50.0/24: वह गंतव्य नेटवर्क जिस तक आप पहुंचना चाहते हैं।<br> > via 192.168.1.1: "अगला हॉप" राउटर जो जानता है कि वहां कैसे पहुंचा जाए।


  1. एक विशिष्ट इंटरफ़ेस के माध्यम से एक रूट जोड़ना

कभी-कभी आपको गेटवे आईपी की आवश्यकता नहीं होती है, केवल एक इंटरफ़ेस (जैसे वीपीएन सुरंग) की आवश्यकता होती है:

बैश
sudo ip route add 10.8.0.0/16 dev tun0
  • dev tun0: यातायात को बाध्य करता है 10.8.0.0/16 में से tun0 इंटरफ़ेस सीधे।

3. एक विशिष्ट होस्ट रूट जोड़ना

ए के लिए रूट बनाना सिंगल संपूर्ण नेटवर्क के बजाय आईपी पता:

बैश
sudo ip route add 8.8.8.8 via 192.168.1.254

यह ट्रैफिक को मजबूर करता है 8.8.8.8 (Google DNS) आपके मुख्य इंटरनेट ट्रैफ़िक से भिन्न गेटवे से गुजरने के लिए।

4. डिफ़ॉल्ट गेटवे बदलना

डिफ़ॉल्ट गेटवे इंटरनेट ट्रैफ़िक के लिए "कैच-ऑल" मार्ग है। इसे मैन्युअल रूप से बदलने के लिए:

बैश
sudo ip route add default via 192.168.1.1

के अनुप्रयोग ip route add

यदि राउटर इसे संभाल सकता है तो मैन्युअल रूप से रूट क्यों जोड़ें?

  • वीपीएन कॉन्फ़िगरेशन: जब आप किसी वीपीएन से कनेक्ट होते हैं, तो सॉफ्टवेयर का उपयोग होता है ip route add कॉर्पोरेट कार्यालय के लिए निर्धारित यातायात को एन्क्रिप्टेड सुरंग से गुजरने के लिए बाध्य करना (tun0) आपके सामान्य वाईफाई के बजाय।
  • डुअल-होम सर्वर: दो नेटवर्क कार्ड वाले सर्वर (उदाहरण के लिए, एक इंटरनेट के लिए, एक निरंतर बैकअप के लिए) को यह सुनिश्चित करने के लिए स्थिर मार्गों की आवश्यकता होती है कि बैकअप ट्रैफ़िक निजी, तेज़ नेटवर्क पर बना रहे।
  • परीक्षण और प्रयोगशालाएँ: नेटवर्क इंजीनियर अक्सर वर्चुअल लैब बनाते हैं। स्थैतिक मार्ग उन्हें एक ही लैपटॉप पर जटिल नेटवर्क टोपोलॉजी का अनुकरण करने की अनुमति देते हैं।
  • सुरक्षा अलगाव: आप एक विशिष्ट फ़ायरवॉल या सुरक्षित गेटवे के माध्यम से संवेदनशील गंतव्यों के लिए ट्रैफ़िक को रूट कर सकते हैं, जिससे महत्वपूर्ण डेटा के लिए "स्वच्छ पथ" बन सकता है।

यह महत्वपूर्ण क्यों है?

का महत्व ip route add में निहित है परिशुद्धता नियंत्रण.

डायनामिक रूटिंग प्रोटोकॉल बड़े नेटवर्क के लिए बहुत अच्छे हैं, लेकिन वे "शोर" और जटिल हैं। स्थैतिक रूटिंग मौन और सटीक है. लिनक्स सर्वर पर, आप केवल एक विशिष्ट बैकअप सर्वर तक पहुंचने के लिए भारी रूटिंग सॉफ़्टवेयर नहीं चलाना चाहेंगे। ip route add उस कार्य के लिए सर्जिकल उपकरण है।

के लिए यह प्राथमिक उपकरण भी है समस्या निवारण. यदि कोई सर्वर इंटरनेट तक नहीं पहुंच सकता है, तो रूटिंग टेबल की जाँच करें (ip route show) और यदि समस्या खराब गेटवे या गलत कॉन्फ़िगर किया गया नेटवर्क है तो अस्थायी मार्गों को जोड़ना इसका निदान करने का सबसे तेज़ तरीका है।

फायदे

  • सादगी: कॉन्फ़िगर करने के लिए कोई जटिल प्रोटोकॉल नहीं; बस एक आदेश.
  • कोई ओवरहेड नहीं: डायनेमिक रूटिंग प्रोटोकॉल के विपरीत, शून्य सीपीयू या बैंडविड्थ का उपयोग करता है।
  • सुरक्षा: मार्ग ज्ञात और निश्चित हैं; किसी दुष्ट राउटर द्वारा ट्रैफ़िक को ख़राब या पुनर्निर्देशित नहीं किया जा सकता है।
  • पूर्वानुमेयता: पथ हमेशा एक ही होता है, जिससे डिबगिंग आसान हो जाती है।

नुकसान

  • मैनुअल रखरखाव: यदि नेटवर्क स्थलाकृति बदलती है (उदाहरण के लिए, गेटवे आईपी बदलता है), तो आपको प्रत्येक सर्वर को मैन्युअल रूप से अपडेट करना होगा।
  • स्केलेबल नहीं: सैकड़ों उपकरणों पर प्रबंधन करना असंभव; हर बार रूट बदलने पर 500 सर्वरों पर कमांड टाइप करने की कल्पना करें।
  • कोई अतिरेक नहीं: यदि प्रवेश द्वार नीचे चला जाता है, तो मार्ग समाप्त हो जाता है। सिस्टम स्वचालित रूप से बैकअप पथ नहीं खोजेगा.
  • क्षणभंगुर: डिफ़ॉल्ट रूप से, रीबूट पर मार्ग खो जाते हैं। आपको उन्हें नेटवर्क कॉन्फ़िगरेशन फ़ाइलों (जैसे नेटप्लान या) में जोड़ना होगा /etc/network/interfaces) उन्हें स्थाई करने के लिए।

के बीच अंतर ip route और route

आप पुराने ट्यूटोरियल्स का उपयोग देख सकते हैं route कमांड. यही कारण है कि आपको इससे बचना चाहिए।

फीचर ip route (आधुनिक) route (विरासत)
पैकेज का भाग iproute2. का भाग net-tools.
स्थिति वर्तमान मानक, सक्रिय रूप से बनाए रखा गया। पदावनत, अधिकतर रखरखाव रहित।
क्षमताएं जटिल रूटिंग (पॉलिसी रूटिंग, मल्टीपल टेबल) का समर्थन करता है। केवल मूल रूटिंग।
आउटपुट संक्षिप्त, तेज़ और स्क्रिप्ट-अनुकूल। शब्दाडंबरपूर्ण और धीमा।
सिंटेक्स ip route add ... route add ...

निष्कर्ष

द ip route add कमांड एक भ्रामक सरल उपकरण है जो लिनक्स नेटवर्किंग की पूरी क्षमता को अनलॉक करता है। यह प्रशासकों को डिफ़ॉल्ट व्यवहारों को बायपास करने और यह निर्देशित करने की अनुमति देता है कि उनके सिस्टम के माध्यम से ट्रैफ़िक कैसे प्रवाहित होता है।

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