Странный ответ Linux-сервера Linux на благодарную ARP вызывает сбой DHCP

Это проблема, с которой я недавно столкнулся на довольно сильно настроенном сервере Linux. Эта машина запускает Samba как контроллер домена Active Directory, почтовый сервер, веб-сервер, две виртуальные машины (используя KVM/QEMU и подключая один из их виртуализированных интерфейсов Ethernet к одному из реальных интерфейсов Ethernet машины через виртуальный мост). настроить с помощью brctl) и еще несколько сервисов. В частной сети VLAN также работает DHCP-сервер. Это работало нормально, но недавно стало невозможно пропускать устройства Apple. Но и простая точка доступа WiFi (которая настроена для динамического получения своего IP-адреса через DHCP) также не может получить IP-адрес.

Бесконечный цикл, в котором устройства пытаются получить IP-адрес, выглядит следующим образом (захватывается с помощью tcpdump -e). Там 2c:30:33:2b:68:d0 MAC удаленного блока, и 74:d0:2b:99:52:bc это сервер Linux После каждого пакета я написал свою интерпретацию этого пакета:

15:48:33.350358 2c:30:33:2b:68:d0 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 345: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 2c:30:33:2b:68:d0, length 303
(DHCPDISCOVER from 2c:30:33:2b:68:d0)

15:48:34.351523 74:d0:2b:99:52:bc > 2c:30:33:2b:68:d0, ethertype IPv4 (0x0800), length 345: 172.17.9.1.67 > 172.17.9.7.68: BOOTP/DHCP, Reply, length 303
(DHCPOFFER on 172.17.9.7 to 2c:30:33:2b:68:d0 via eth0.9)

15:48:34.366366 2c:30:33:2b:68:d0 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 357: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 2c:30:33:2b:68:d0, length 315
(DHCPREQUEST for 172.17.9.7 (172.17.9.1) from 2c:30:33:2b:68:d0 via eth0.9)

15:48:34.492289 74:d0:2b:99:52:bc > 2c:30:33:2b:68:d0, ethertype IPv4 (0x0800), length 345: 172.17.9.1.67 > 172.17.9.7.68: BOOTP/DHCP, Reply, length 303
(DHCPACK on 172.17.9.7 to 2c:30:33:2b:68:d0 via eth0.9)

15:48:34.492707 2c:30:33:2b:68:d0 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Request who-has 172.17.9.7 tell 172.17.9.7, length 46
(gratuitous ARP of the newly registered box)

15:48:34.492761 74:d0:2b:99:52:bc > 2c:30:33:2b:68:d0, ethertype ARP (0x0806), length 42: Reply 172.17.9.7 is-at 74:d0:2b:99:52:bc, length 28
(this is the packet, that I don't understand)

15:48:34.526375 2c:30:33:2b:68:d0 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 346: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, unknown (0x00), length 304
(DHCPDECLINE of 172.17.9.7 from 2c:30:33:2b:68:d0 via eth0.9, the box abandones the IP address 172.17.9.7, because it seems in use)

DHCP-клиенты, которые не отправляют упомянутый выше бесплатный ARP, могут нормально зарегистрироваться. Поэтому я предполагаю, что проблема сервера linux в ответ на этот ARP, где он отвечает, что адрес принадлежит машине linux, является проблемой.

Я гарантировал, что IP-адреса, которые должен выдавать сервер DHCP, не зарегистрированы на сервере Linux. Так что я, честно говоря, не знаю, почему этот пакет отправляется.

Все попытки поиграть с /proc/sys/net/ipv4/conf/eth0.9/arp_accept, /proc/sys/net/ipv4/conf/eth0.9/arp_announce и т. Д. Потерпели неудачу. Даже попытка отфильтровать плохие пакеты ARP с arptables не было успеха И полное отключение ARP на интерфейсе также не дает желаемого эффекта.

Любая идея, почему этот странный пакет создается? Где я мог посмотреть дальше?

0 ответов

Другие вопросы по тегам