रूटिंग टेबल का उपयोग सबसे विशिष्ट से कम से कम विशिष्ट के क्रम में किया जाता है।
हालांकि linux पर यह आपकी अपेक्षा से थोड़ा अधिक जटिल है। सबसे पहले एक से अधिक रूटिंग टेबल है, और जब राउटिंग टेबल का उपयोग किया जाता है तो कई नियमों पर निर्भर करता है।
पूरी तस्वीर पाने के लिए:
$ ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
$ ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.0.0 dev eth0 proto kernel scope link src 192.168.1.27
local 192.168.1.27 dev eth0 proto kernel scope host src 192.168.1.27
broadcast 192.168.1.255 dev eth0 proto kernel scope link src 192.168.1.27
$ ip route show table main
default via 192.168.1.254 dev eth0
192.168.0.0/23 dev eth0 proto kernel scope link src 192.168.1.27
$ ip route show table default
$
local
तालिका विशेष मार्ग स्थानीय और प्रसारण पतों के लिए उच्च प्राथमिकता नियंत्रण मार्गों युक्त तालिका है।
main
तालिका सामान्य मार्ग सभी गैर-नीति मार्गों युक्त तालिका है। यह वह तालिका भी है जो आपको देखने को मिलती है यदि आप बस निष्पादित करते हैं ip route show
(या ip ro
संक्षेप में)। मैं route
अब पुराने आदेश का उपयोग नहीं करने की सलाह देता हूं, क्योंकि यह केवल main
तालिका दिखाता है और इसका आउटपुट प्रारूप कुछ हद तक पुरातन है।
default
यदि पिछले डिफ़ॉल्ट नियमों ने पैकेट का चयन नहीं किया है, तो तालिका खाली है और पोस्ट-प्रोसेसिंग के लिए आरक्षित है।
आप अपनी स्वयं की तालिकाओं को जोड़ सकते हैं और विशिष्ट मामलों में उपयोग करने के लिए नियम जोड़ सकते हैं। एक उदाहरण यह है कि यदि आपके पास दो इंटरनेट कनेक्शन हैं, लेकिन एक होस्ट या सबनेट को हमेशा एक विशेष इंटरनेट कनेक्शन के माध्यम से रूट किया जाना चाहिए।
लिनक्स के साथ नीति रूटिंग पुस्तक उत्तम विस्तार से यह सब बताते हैं।