Назад | Перейти на главную страницу

arp who-has requests просмотр vlan изолированных разных адресов (одна сетевая карта)

У меня есть хосты debian, которые подключены через магистральный порт на 5 разных vlan. Но этот хост отвечает на запросы arp "who-has" для всех своих IP-адресов. Я хочу понять почему ...

Здесь файл сети / интерфейсов (дескриптор eth0.1 172.16.1.145/16)

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet manual

auto eth0.1
iface eth0.1 inet dhcp

auto eth0.10
iface eth0.10 inet static
address 192.168.10.254
netmask 255.255.255.0

auto eth0.6
iface eth0.6 inet static
address 192.168.6.254
netmask 255.255.255.0

auto eth0.7
iface eth0.7 inet static
address 192.168.7.254
netmask 255.255.255.0

auto eth0.2
iface eth0.2 inet static
address 0.0.0.0
netmask 0.0.0.0

И это результат различных запросов arp who-has в широковещательном домене vlan1 от ldc (172.16.1.50/16)

ldc:~# arping 172.16.1.145
ARPING 172.16.1.145
60 bytes from ab:cd:ef:01:23:45 (172.16.1.145): index=0 time=193.119 usec
^C
--- 172.16.1.145 statistics ---
1 packets transmitted, 1 packets received,   0% unanswered (0 extra)

ldc:~# arping 192.168.10.254
ARPING 192.168.10.254
60 bytes from ab:cd:ef:01:23:45 (192.168.10.254): index=0 time=221.014 usec
^C
--- 192.168.10.254 statistics ---
1 packets transmitted, 1 packets received,   0% unanswered (0 extra)

ldc:~# arping 192.168.6.254
ARPING 192.168.6.254
60 bytes from ab:cd:ef:01:23:45 (192.168.6.254): index=0 time=256.062 usec
^C
--- 192.168.6.254 statistics ---
1 packets transmitted, 1 packets received,   0% unanswered (0 extra)

ldc:~# arping 192.168.7.254
ARPING 192.168.7.254
60 bytes from ab:cd:ef:01:23:45 (192.168.7.254): index=0 time=211.954 usec
^C
--- 192.168.7.254 statistics ---
1 packets transmitted, 1 packets received,   0% unanswered (0 extra)

Конечно l3 не ретранслируется, но я все равно хочу это исправить ... Кто-нибудь может мне помочь?

По умолчанию установка Linux реализует то, что называется модель "слабого узла", принимая пакеты на все свои адреса на любом интерфейсе. Если вас беспокоит только ARP, вам следует включить фильтрацию ARP с помощью

net.ipv4.conf.<interface>.arp_filter

настраиваемый. Для других типов IP-трафика рассмотрите возможность настройки соответствующих правил netfilter для входящей фильтрации и / или включения net.ipv4.conf.<interface>.rp_filter (не знаю, не делает ли Debian это по умолчанию)

Дальнейшее чтение: http://linux-ip.net/html/ether-arp.html#ether-arp-flux-arpfilter

Ничего страшного, я нашел исправление:

Это была проблема arp_ignore: echo 1 > /proc/sys/net/ipv4/conf/eth0.1/arp_ignore (потому что я получаю запрос от vlan1)

ИМХО, это должно быть поведение по умолчанию ...

Еще раз спасибо.

Ты должен написать vlan-raw-device eth0 в каждой записи интерфейса vlan. Видеть man vlan-interfaces. Если вы называете интерфейсы eth0.1, eth0.2, ... - он просто добавляет дополнительные адреса к тому же физическому интерфейсу. Используйте другие имена, например eth0_vlan1, ...

Просто попробуйте это:

auto eth0
iface eth0 inet manual

auto vlan6
iface vlan6 inet static
address 192.168.6.254
netmask 255.255.255.0

...

и напишите если работает