मैं का मैन पेज पढ़ता हूं ip
और फिर भी समझ नहीं आता कि क्या src
है और मुझे ज्यादा दस्तावेज नहीं मिले।
कृपया, यदि आप इसे अच्छी तरह से समझा सकते हैं या किसी लिंक पर इंगित कर सकते हैं तो यह एक अच्छा उत्तर होगा।
मैं का मैन पेज पढ़ता हूं ip
और फिर भी समझ नहीं आता कि क्या src
है और मुझे ज्यादा दस्तावेज नहीं मिले।
कृपया, यदि आप इसे अच्छी तरह से समझा सकते हैं या किसी लिंक पर इंगित कर सकते हैं तो यह एक अच्छा उत्तर होगा।
जवाबों:
जब एक मल्टीहोमेड होस्ट में रूट जोड़ते हैं, तो हो सकता है कि आप इस रूट का उपयोग करते हुए संचार शुरू करते समय अपने होस्ट को उस स्रोत आईपी पते पर नियंत्रण करना चाहते हों, जिसे आप भेज रहे हैं। यह वही है जो src के लिए है।
एक छोटा उदाहरण: आपके पास दो इंटरफेस के साथ एक मेजबान है और आईपी पते 192.168.1.123/24 और 10.45.22.12/24। आप 10.45.22.1 के माध्यम से 78.22.45.0/24 पर एक मार्ग जोड़ रहे हैं और यह सुनिश्चित करना चाहते हैं कि आप 192.168.1.123 पते का उपयोग करके 78.22.45.0/24 पर नहीं भेज रहे हैं (हो सकता है क्योंकि नेटवर्क 78.22.45.0/24 का कोई मार्ग वापस नहीं है 192.168.1.0/24 पर या क्योंकि आप नहीं चाहते कि आपका ट्रैफ़िक इस कारण से एक या दूसरे मार्ग पर ले जाए:
ip route add 78.22.45.0/24 via 10.45.22.1 src 10.45.22.12
ध्यान दें कि आप जो src दे रहे हैं, वह केवल आपके बहुत होस्ट पर उत्पन्न होने वाले ट्रैफ़िक को प्रभावित करेगा। यदि एक विदेशी पैकेट को रूट किया जा रहा है, तो जाहिर है कि इसमें पहले से ही एक स्रोत आईपी एड्रेस होगा, इसलिए इसे अनलेडेड पर पारित किया जाएगा (जब तक कि आप NAT का उपयोग नहीं कर रहे हैं, लेकिन यह एक पूरी तरह से अलग मामला है)। इसके अलावा, इस सेटिंग को एक प्रक्रिया द्वारा विशेष रूप से कनेक्शन (आरंभिक) नहीं करते हुए चूक का उपयोग करने के बजाय एक विशिष्ट पते पर बाँधने से रोक दिया जा सकता है।
src
विशेषता एक संकेत है कि द्वारा इस्तेमाल किया जाता है पता चयन एल्गोरिथ्म । यह महत्वपूर्ण है जब एक मेजबान के कई आईपी पते होते हैं, जो आमतौर पर होता है, लेकिन हमेशा नहीं, जब इसमें कई इंटरफेस होते हैं। जबकि अन्य नियम हैं जो पते के चयन को प्रभावित करते हैं, और एक नेटवर्क एप्लिकेशन सिस्टम कॉल का उपयोग करके चयन एल्गोरिथ्म को भी ओवरराइड कर सकता है bind()
, src
विशेषता सवाल का जवाब देने के लिए एक रूटिंग-टेबल लुकअप का उपयोग करने का एक तरीका है, "यदि मैं एक आरंभ करना चाहता हूं होस्ट एक्स से कनेक्शन, मुझे अपने कौन से पते का उपयोग करना चाहिए? "
यहाँ src
विशेषता के उपयोग और प्रभाव का वर्णन करने के लिए एक उदाहरण है । यह सुनिश्चित करने के लिए कि यह पते और मार्गों से संबंधित है, कड़ाई से इंटरफेस के लिए नहीं, इस उदाहरण होस्ट में केवल एक नेटवर्क इंटरफ़ेस है लेकिन दो पते हैं। इसके अलावा, दोनों पते इस तथ्य पर जोर देने के लिए एक ही सबनेट पर हैं कि यह चुनने का कोई अन्य स्पष्ट तरीका नहीं है कि किसका उपयोग करना है।
$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 10.1.0.2/24 brd 10.1.0.255 scope global eth0
inet 10.1.0.16/24 scope global secondary eth0
$ ip route list dev eth0
10.1.0.32/27 scope link src 10.1.0.16
10.1.0.0/24 proto kernel scope link src 10.1.0.2
यह होस्ट या तो पते से इस / 24 सबनेट पर अन्य 252 पतों में से किसी के साथ संवाद कर सकता है, लेकिन डिफ़ॉल्ट रूप से 10.1.0.16 का उपयोग करेगा जब 10.1.0.33 के माध्यम से 10.1.0.32 के साथ एक कनेक्शन शुरू करता है, और सभी के लिए 10.1.0.2 का उपयोग करता है। आराम।
यदि मेजबान पहल करने के बजाय जवाब दे रहा है, तो वह अनुरोध के गंतव्य पते से जवाब देगा। उदाहरण के लिए, अगर 10.1.0.32 पर एक और होस्ट 10.1.0.2 पर इस होस्ट से जुड़ता है, तो प्रतिक्रिया 10.1.0.2 से आएगी, भले ही वह src
रिटर्न रूट की विशेषता से मेल न खाता हो ।