क्या होता है जब आपके पास यूनिक्स / लिनक्स ओएस में एक ही नेटवर्क में 2 नेटवर्क इंटरफेस होते हैं?


5

यदि आपके पास उसी नेटवर्क पर 2 नेटवर्क इंटरफेस हैं जहां डिफ़ॉल्ट गेटवे / राउटर है तो क्या होगा?

जैसे

  • नेटवर्क इंटरफ़ेस e1000g0 - 192.168.1.50
  • नेटवर्क इंटरफ़ेस e1000g1 - 192.168.1.51
  • गेटवे - 192.168.1.1

यदि मैं एक पैकेट भेजता हूं 8.8.8.8, तो कौन सा नेटवर्क इंटरफ़ेस उपयोग किया जाएगा? मैं सोलारिस 10 बॉक्स का उपयोग कर रहा हूं। लेकिन यह मान लें कि यह प्रश्न सभी यूनिक्स / लिनक्स सामान्य कार्यान्वयन के लिए है

मेरी रूटिंग टेबल में, ऐसा लगता है कि e1000g1यूजी के रूप में चुना गया है, लेकिन क्यों / इसे कैसे चुना जाता है?


2
ध्यान दें कि यहां सभी उत्तर मानने चाहिए कि सबनेट आकार (उर्फ, "उपसर्ग लंबाई", उर्फ ​​"सबनेट मास्क") समान है। यदि वे समान नहीं थे, तो उत्तर आसान है: जो भी नियम है एक छोटे सबनेट का आकार अधिक विशिष्ट माना जाता है, और उस छोटे सबनेट पर जाने वाले ट्रैफ़िक के लिए पूरी प्राथमिकता लेता है।
तोगाम

जवाबों:


5

लिनक्स और यूनिक्स में, राउटिंग टेबल पर केवल एक गेटवे हो सकता है। लिनक्स पर आपके पास कई रूटिंग टेबल हो सकते हैं, लेकिन प्रत्येक में एक सिंगल गेटवे है।

लिनक्स में, इसे निम्नानुसार पहचाना जाता है:

    > ip route show
      default via 192.168.73.1 dev eth0  proto static 
      192.168.73.0/24 dev eth0  proto kernel  scope link  src 192.168.73.75  metric 1 

कुंजी लाइन एक शुरुआत है default, जिसमें कहा गया है कि (मेरा) प्रवेश द्वार है 192.168.73.1। आप इसे निम्नानुसार बदलते हैं:

     > ip route del default
     > ip route add default via 192.168.73.1 dev eth0

यदि मेरा एक से अधिक इंटरफ़ेस जुड़ा हुआ है, तो मेरी रूटिंग टेबल इस तरह दिखाई देगी:

     > ip route show
       default via 192.168.73.1 dev eth0  proto static 
       192.168.73.0/24 dev eth0  proto kernel  scope link  src 192.168.73.75  metric 1 
       192.168.73.0/24 dev wlan0  proto kernel  scope link  src 192.168.73.66  metric 9 

जैसा कि आप देख सकते हैं कि स्थानीय ट्रैफ़िक eth0या तो पास कर सकता है या wlan0, लेकिन, छोटे metricमूल्य (1 बनाम 9) के लिए धन्यवाद के माध्यम से रूट किया जाएगा eth0

डिफ़ॉल्ट गेटवे चालू होने के कारण WAN ट्रैफ़िक निश्चित रूप से चला जाएगा ।eth0dev eth0

ये मान आपके द्वारा स्वचालित रूप से बनाए रखे जाते हैं network manager, जो डिफ़ॉल्ट रूप से, वाईफाई कनेक्शन पर केबल द्वारा। आप हालांकि पिछले वाले के समान कमांड के माध्यम से इसकी पसंद को ओवरराइड कर सकते हैं,

       > ip route delete default
       > ip route add default via 192.168.73.1 dev wlan0

यदि आपके पास एक ही प्रकार ( जैसे कई ईथरनेट कनेक्शन) के कई इंटरफेस हैं, तो प्राथमिकता उस इंटरफ़ेस पर जाती है जो पहले जुड़ा हुआ था।

डिफ़ॉल्ट गेटवे की पहचान की जाती है, इसलिए नेटवर्क द्वारा स्वयं को कहने के लिए: यह उन मापदंडों में से एक है, जो आपकी मशीन से गुजरता है जब डीएचसीपी संक्रमण पर बातचीत की जाती है (अन्य नेटमास्क, नेटवर्क, प्रसारण पता)। आप इससे अनभिज्ञ हैं क्योंकि डीएचसीपी की प्रक्रिया आपके द्वारा नियंत्रित की जाती है network-manager। कभी-कभी, आप एक स्थिर आईपी पते को सेटअप करना चाह सकते हैं, जो डीएचसीपी का उपयोग नहीं करता है ; इस मामले में आपको अपने आप को ऊपर वर्णित चार पैरामीटर प्रदान करने होंगे। नेटवर्क में भी इन मापदंडों को सीखने की तकनीकें हैं जो आपके लिए पूरी तरह से नई हैं, लेकिन आम तौर पर आप केवल लैंस में एक स्थैतिक पता सेटअप करेंगे जिसे आप पहले से ही अच्छी तरह से जानते हैं।

अपने LAN और डिफ़ॉल्ट गेटवे मार्गों के अलावा, आप इंटरफ़ेस के माध्यम से विशिष्ट मार्ग रख सकते हैं। उस मामले में, पहले सबसे विशिष्ट मार्गों के सिद्धांत के आधार पर मार्गों की प्राथमिकता का क्रम निर्धारित किया जाता है । मान लीजिए आप के लिए एक मार्ग है 1.1.1.0/24के माध्यम से wlan0। फिर, जब हमें पैकेटों को रूट करने की आवश्यकता होती है, तो कहें, 1.1.1.1यह नियम (thru wlan0) और डिफ़ॉल्ट नियम (थ्रू eth0) दोनों लागू होते हैं, लेकिन पहले वाला अधिक विशिष्ट है, इसलिए thse पैकेट थ्रू पास होगा wlan0। इस स्थिति में, dafult गेटवे वह मार्ग बन जाता है जब अन्य सभी विफल हो जाते हैं, अर्थात जब कोई अन्य मार्ग लागू नहीं होता है।

लिनक्स में आपके पास कई रूटिंग टेबल हो सकते हैं, इसे कहा जाता है policy or source routing। इस मामले में आपको कर्नेल को भेदभाव करने के लिए एक नियम की आवश्यकता होगी जब आपके निपटान में कई रूटिंग तालिकाओं को लागू किया जाए। आपको यहां नीति रूटिंग का एक संक्षिप्त परिचय मिलता है । इस मामले में, उपरोक्त आदेश समान रहते हैं, सिवाय इसके कि वे उस राउटिंग टेबल के नाम से अनुसरण करते हैं जिसे आप उदाहरण के लिए काम करना चाहते हैं:

       > ip route show table main
       > ip route show table MyOtherRoutingTable

आपको अक्सर netstat, मार्ग, ifconfig जैसे कमांड के संदर्भ मिलेंगे। लिनक्स में (लेकिन यूनिक्स पर नहीं, नीचे शीर्ष टिप्पणी पढ़ें) वे अप्रचलित हैं । वर्तमान कमांड, iproute2 सूट का आईपी , इन सभी के लिए विकल्प, और कुछ और। Googling के द्वारा आप ऐसी साइटों की खोज कर सकते हैं जिनकी तुलना पिछले और पिछले उपयोगिताओं की तुलना में है ।linux ip cheat sheetip

संपादित करें

यूनिक्स पर, ऊपर दिए गए आदेश होंगे: आप रूटिंग टेबल को इस रूप में क्वेरी करते हैं

   >  netstat -rn -f inet
      Routing tables

      Internet:
      Destination        Gateway            Flags        Refs      Use   Netif Expire
      default            192.168.11.1       UGSc           10        0     en0
      127                127.0.0.1          UCS             0        0     lo0
      127.0.0.1          127.0.0.1          UH              2   161444     lo0
      169.254            link#4             UCS             1        0     en0
      169.254.10.9       10:c3:7b:9d:c8:78  UHLSW           0        0     en0
      192.168.11         link#4             UCS             4        0     en0
      192.168.11.1       10:6f:3f:25:c6:33  UHLWIir        11     4589     en0   1162
      192.168.11.56      88:53:2e:10:77:5f  UHLWI           0        0     en0   1187
      192.168.11.65      2:f:b5:70:5b:22    UHLWI           0        0     en0   1081
      192.168.11.67      127.0.0.1          UHS             0        0     lo0
      192.168.11.113     6:20:3e:52:16:4d   UHLWIi          2      278     en0   1188

यहां गेटवे की पहचान defaultकीवर्ड और Gफ्लैग द्वारा की जाती है ।

आप डिफ़ॉल्ट गेटवे को इस रूप में बदलें:

   > route delete default
   > route add default 192.168.0.1
   > route change default -interface enp0s3

हर टिप्पणी एक ही रहती है, सिवाय उन लोगों के policy routing, जो यूनिक्स गुठली द्वारा समर्थित नहीं हैं।


3
चलो नेटस्टैट / रूट / ifconfig अप्रचलित कॉल करने के बारे में सावधान रहें। आप लिनक्स पर ऐसे बयानों से दूर हो सकते हैं, लेकिन निश्चित रूप से यूनिक्स नहीं। iproute2 कुछ यूनिक्स सिस्टम के लिए सहनीय नहीं होने के कारण लाइसेंसिंग से प्रेरित है, इसलिए इसे कुछ गैर-लिनक्स प्रणालियों द्वारा कभी नहीं अपनाया जाएगा। वास्तव में, यह भी एक Solaris टैग है। चूंकि यह प्रश्न लिनक्स और यूनिक्स दोनों के लिए स्पष्ट रूप से चित्रित किया गया था, इसलिए पारंपरिक कमांड के अप्रचलित होने के बारे में बयान उन सभी प्लेटफार्मों पर लागू नहीं होते हैं जो प्रश्न पर लागू होता है।
तोगाम

@TOOGAM यूनिक्स (मानक) नेटस्टैट / मार्ग / ifconfig निर्दिष्ट नहीं करता है, इसलिए प्रत्येक यूनिक्स कार्यान्वयनकर्ता नेटवर्किंग को कॉन्फ़िगर करने के लिए जो भी सेट करता है उसे वितरित करने के लिए स्वतंत्र है। सोलारिस इंजीनियरिंग ने सोलारिस 11 में अधिकांश नेटवर्क स्टैक को फिर से लिखा और कुछ उल्लिखित कमांडों को हटा दिया, जिनकी जगह डीडीएलएम, आईपैडम, नेटकफ और अन्य ने ले ली।
जलियाग्रे

1

आपके प्रश्न में समान सबनेट से जुड़े e1000g0 और e1000g1 से एक ही OS उदाहरण पर दो अलग-अलग सक्रिय भौतिक इंटरफेस होना अविश्वसनीय है, और स्पष्ट रूप से कम से कम सोलारिस के साथ असमर्थित है:

ऐसी प्रणाली पर जिसके कई इंटरफेस एक ही सबनेट से जुड़ते हैं, आपको पहले इंटरफेस को आईपीएमपी समूह में कॉन्फ़िगर करना होगा। अन्यथा, सिस्टम मल्टीहोम्ड होस्ट नहीं हो सकता है।

जैसा कि कहा गया है, इस मज़बूती से काम करने का एक तरीका आईपीएमपी (आईपी मल्टीपाथिंग) को सक्षम करना है। आप पैकेट-अग्रेषण को भी अक्षम कर सकते हैं और सोलारिस 10 के लिए यहां प्रलेखित जैसे स्थैतिक मार्गों को कॉन्फ़िगर कर सकते हैं ।

वैकल्पिक रूप से, आप लिनक्स शब्दावली में निचले स्तर के लिंक एकत्रीकरण, उर्फ ​​इंटरफ़ेस संबंध का भी उपयोग कर सकते हैं।


सोलारिस के साथ एक ही सबनेट पर आपके पास कई इंटरफेस हो सकते हैं, हालांकि अनुशंसित नहीं - आईपीएमपी का उपयोग करना, या लिंक एकत्रीकरण बनाना एक पसंदीदा होगा। आपको बस यह सुनिश्चित करने की आवश्यकता है local-mac-address?=true
Sleepyweasel

@sleepyweasel I ने IPMP का स्पष्ट रूप से उल्लेख किया है, और लिंक एकत्रीकरण वास्तव में एक समान समर्थित दृष्टिकोण है। ओपी स्पष्ट रूप से इन मामलों में से किसी में भी नहीं है इसलिए मेरा बयान अभी भी लागू होता है। local-mac-address?=trueपहले उल्लेखित सेटिंग्स के लिए एक शर्त है, लेकिन इन मामलों के बाहर, मैं अभी भी यह सुनिश्चित करता हूं कि इस तरह का कॉन्फ़िगरेशन अविश्वसनीय और असमर्थित है।
jlliagre

-1

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


1
खैर, आईपी रूटिंग के मामले में, एक मार्ग हमेशा चुना जाएगा क्योंकि यह सबसे कम मीट्रिक के साथ उस पते पर सबसे विशिष्ट (सबसे लंबा मुखौटा) है।
फ्रैंक थॉमस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.