[Sysadmins] Роутинг через два хоста в одной сети

Vladimir Lettiev thecrux на gmail.com
Ср Янв 14 09:11:18 MSK 2015


On Wed, Jan 14, 2015 at 04:14:57AM +0200, Maksym Tiurin wrote:
> Приветствую!
> 
> Есть локальная сеть со своим DG (172.24.0.1).
> В этой сети находится девайс (172.24.0.140) через который надо пустить
> трафик с одного из хостов.
> 
> Но хосте указываю девайс как DG
> 
> root на argon:~# ip route show
> default via 172.24.0.140 dev eth0
> 172.24.0.0/23 dev eth0  proto kernel  scope link  src 172.24.1.129
> 
> Проверяю:
> root на argon:~# tracepath yahoo.com
> 1?: [LOCALHOST]                                         pmtu 1500
> 1:  172.24.0.140                                          0.412ms
> 1:  172.24.0.140                                          0.331ms
> 2:  172.24.0.1                                            0.749ms
...
> Проверяю еще раз:
> root на argon:~# tracepath yahoo.com
> 1?: [LOCALHOST]                                         pmtu 1500
> 1:  172.24.0.1                                            0.800ms asymm
> 2
> 1:  172.24.0.1                                            0.722ms asymm
...
> Через 172.24.0.140 уже ничего не идет. Как оторвать этот интеллект
> который выбрасывает "лишний" хоп?

172.24.0.140 отправляет ICMP redirect вашему хосту о том, что есть более
оптимальный шлюз в этой подсети. Ваш хост его принимает и начинает его 
использовать.

Нужно либо отключить отправку этих редиректов на 172.24.0.140

    net.ipv4.conf.all.send_redirects = 0

либо отключить приём ICMP redirects на argon

    net.ipv4.conf.all.accept_redirects = 0
    net.ipv4.conf.all.secure_redirects = 0


-- 
Vladimir Lettiev aka crux ✉ theCrux на gmail.com


Подробная информация о списке рассылки Sysadmins