मेरे पास कई डेबियन निचोड़ (6.0.6 अप टू डेट) राउटर्स के रूप में उपयोग किए जाते हैं।
जब कोई लिंक डाउन होता है, तो वे स्थानीय होस्ट को ICMP रीडायरेक्ट भेजते हैं। यह डेबियन और कई अन्य लोगों का डिफ़ॉल्ट व्यवहार है। एक बार लिंक जीवन में वापस आने के बाद, मेजबान इसे रीबूट तक नहीं पहुंचा सकते हैं।
मैं नहीं चाहता कि उन राउटर्स से कोई भी ICMP रीडायरेक्ट भेजा जाए।
मैं परीक्षण किया echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
और sysctl -w net.ipv4.conf.all.send_redirects=0
और डाल net.ipv4.conf.all.send_redirects=0
में /etc/sysctl.d/local.conf
उन समाधान का हर में सही मूल्य डाल/proc/sys/net/ipv4/conf/all/send_redirects
लेकिन ...
कर्नेल ICMP रीडायरेक्ट भेज रहा है। रिबूट के बाद भी:
$ tcpdump -n -i eth0
00:56:17.186995 IP 192.168.0.254 > 192.168.0.100: ICMP redirect 10.10.13.102 to host 192.168.0.1, length 68
और स्थानीय मेजबानों (विंडोज कंप्यूटर) की राउटिंग टेबल प्रदूषित है।
मैं इसे नेटफिल्टर से रोक सकता हूं:
iptables -t mangle -A POSTROUTING -p icmp --icmp-type redirect -j DROP
इस बारे में कोई विचार क्यों सामान्य विधि काम नहीं करती है?
और बिना नेटफिल्टर का उपयोग किए, आईसीएमपी पुनर्निर्देशन को कैसे रोका जाए?