मेरे पास डॉकटर पर एक सिम्युलेटेड एड-हॉक नेटवर्क है, जो आधार के रूप में उबंटू 16.04 का उपयोग कर रहा है।
मेरे पास कई राउटिंग टेबल हैं। तालिका 102, प्रश्न के रूप में दिखाई देती है:
root@b22e0eafe06d:~# ip route show table 102
172.17.0.3 via 172.17.0.3 dev eth0 proto static
172.17.0.4 via 172.17.0.4 dev eth0 proto static
172.17.0.5 via 172.17.0.3 dev eth0 proto static
172.17.0.6 via 172.17.0.3 dev eth0 proto static
172.17.0.7 via 172.17.0.3 dev eth0 proto static
172.17.0.8 via 172.17.0.3 dev eth0 proto static
172.17.0.9 via 172.17.0.3 dev eth0 proto static
कुछ नीति नियम भी शामिल हैं, जिसमें 0x02 की तालिका सेटिंग 102 के साथ कुछ भी निर्देशन करने वाला कोई भी शामिल है:
root@b22e0eafe06d:~# ip rule list
0: from all lookup local
1: from all tos 0x02 lookup 102
2: from all tos 0x04 lookup 104
3: from all tos 0x06 lookup 106
4: from all tos 0x08 lookup 108
32766: from all lookup main
32767: from all lookup default
हालाँकि, जब मैं एक काम करता हूं ip route get 172.17.0.9 tos 0x02
, जब मुझे 172.17.0.3
गेटवे के रूप में लौटना चाहिए , मुझे मिलता है 172.17.0.4
:
root@b22e0eafe06d:~# ip route get 172.17.0.9 tos 0x02
172.17.0.9 via 172.17.0.4 dev eth0 src 172.17.0.2
cache
यह गेटवे के लिए होता है जिसे चुना जाएगा मुख्य राउटिंग टेबल का उपयोग किया गया था। मुझे संदेह है कि नियम 0x02 का संदर्भ किसी कारण से मेल नहीं खा रहा है।
मैंने नियम 1 को एक नियम से बदल दिया, जो 172.17.0.9 को दिए गए सभी पैकेटों को तालिका 102 में भेजता है, और यह काम करता है। मैं यह निष्कर्ष निकालता हूं कि तालिका १०२ काम कर रही है, लेकिन किसी कारण के लिए ० एक्स ०२ पर मेल नहीं खाता है।
root@b22e0eafe06d:~# ip rule del priority 1
root@b22e0eafe06d:~# ip rule add to 172.17.0.9 table 102
root@b22e0eafe06d:~# ip route get 172.17.0.9
172.17.0.9 via 172.17.0.3 dev eth0 src 172.17.0.2
cache
कोई स्पष्टीकरण?
BTW, जब मैं अन्य tos मानों, जैसे 0x04, 0x08 के साथ रूटिंग करने का प्रयास करता हूं, तो यह काम करता दिखता है। यह 0x02 है जो एक समस्या दे रहा है। मैं परीक्षण उद्देश्यों के लिए कस्टम टॉस मानों का उपयोग कर रहा हूं।