LINUX.ORG.RU
ФорумAdmin

arp reply 1.2.3.4 is-at 1.2.3.4.5.6 не с того интерфейса


0

0

Есть машина под Gentoo 1.4 (2.6.5), у которой оба интерфейса смотрят в один свич, но входят они в разные подсети:

eth1: 10.0.10.1  mac 10:10:10:10:10:10 (NET1)
eth2: 10.0.20.1  mac 20:20:20:20:20:20 (NET2)

оба интерфейса является default gw для своих сетей.

Во время работы машины периодически происходит вот такая гадость:
кто либо из NET1 или NET2 запрашивает MAC адрес 10.0.10.1 или 10.0.20.1 соотвественно

AA:AA:AA:AA:AA:AA > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: arp who-has 10.0.10.1 tell 10.0.10.23

но в ответ, вместо логичного ответа от 10.0.10.1 (с его MAC адресом)
мы видимо ответ

20:20:20:20:20:20 > AA:AA:AA:AA:AA:AA, ethertype ARP (0x0806), length 42: arp reply 10.0.10.1 is-at 20:20:20:20:20:20


т.е. вместо ответа с нужного (eth1) интерфейса, приходит ответ от соседнего (eth2) интерфейса, что "де именно я являюсь тем, кого вы ждете". Разумеется трафик к результате идет не на тот интерфейс и,
так как файрвол организован с привязкой входящего трафика к интерфейсам, то связь временно отрубается (до получения спрашивающим корректного MAC адреса от своего default-gw).

Почему подобная ситуация вообще может происходить? Никак понять не могу.

а не надо так делать , пускать два интерфеса в один свитч , ткни один интерфейс и подними на нем виртуальный второй для второй подсетки

anonymous
()
Ответ на: комментарий от anonymous

На виртуальные интерфейсы существует много ограничений. К примеру, iptables не понимает виртуальные интерфейсы в своих директивах.

Проблема решилась sysctl -w net.ipv4.conf.all.arp_filter=1

по умолчанию Linux выдает арп ответ с любого интерфейса.

eightn
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.