Linux завжди надсилає переадресацію ICMP


14

У мене є кілька Debian Squeeze (6.0.6 на сьогоднішній день), які використовуються як маршрутизатори.
Коли посилання не працює, вони надсилають ICMP переадресації місцевим хостам. Це поведінка Debian та кількох інших за замовчуванням. Отож, коли посилання оживе, господарі не зможуть досягти його до перезавантаження.

Я не хочу, щоб перенаправлення 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

І таблиця маршрутизації локальних хостів (комп'ютери Windows) забруднена.

Я можу запобігти цьому за допомогою netfilter:
iptables -t mangle -A POSTROUTING -p icmp --icmp-type redirect -j DROP

Будь-яке уявлення про те, чому звичайний метод не працює?
І як запобігти переадресації ICMP, щоб надіслати, не використовуючи netfilter?

Відповіді:


14

Правильна команда: echo 0 | tee /proc/sys/net/ipv4/conf/*/send_redirects
Тому що для вимкнення у вас повинно бути 0 на "всі" та на "ім'я_інтерфейсу".

У /etc/sysctl.confабо подібний файл ви повинні встановити "всі" + "за замовчуванням" (або "всі" + "інтерфейс", але інтерфейс може не існувати вже при обробці цього файлу).


5
Який сенс у каталозі "все"? У мене склалося розпливчасте враження, воно переписує значення всіх інших записів?
Елронд

@Elrond, allне перезаписує, він робить побітові операції. Дивіться цей відповідь про allVS.default . send_redirectsє ORпараметром, тому налаштування all.send_redirectsна 0 буде перетворено на налаштування інтерфейсу.
Leif Arne Storset
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.