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

Отравление кэша ARP в Windows Server 2008

Недавно столкнулся с очень странной проблемой.

У нескольких приложений были проблемы со связью через наш балансировщик нагрузки F5. Когда мы изучили это, мы обнаружили, что маршрутизатор имеет неправильную запись в таблице ARP и MAC-ADDRESS в Load-Balancer VLAN. Эти записи указывали на окно Windows Server 2008 R2, а не на внешний интерфейс балансировщиков нагрузки.

А теперь вот что странно. Аппаратный адрес в записях таблицы MAC / ARP не существует на Windows 2008 Server, но он очень близок. Windows Server находился на интерфейсе маршрутизатора Gi1 / 37 (ниже). Внешний адрес балансировщика нагрузки - 192.168.111.61, а для сервера Windows - 192.168.111.125. Два совершенно разных IP-адреса в одной подсети / 24.

IPConfig на Windows Server

Ethernet adapter Local Area Connection:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Intel(R) 82574L Gigabit Network Connect
   Physical Address. . . . . . . . . : 00-E0-81-DF-15-FE
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::917f:6781:df6:f724%11(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.111.125(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : fe80::21e:f7ff:fe41:2a80%11
                                       fe80::21e:f7ff:fe41:3540%11
                                       192.168.111.1

Информация MAC в Windows Box

C:\Users\Administrator>getmac

Physical Address    Transport Name
=================== =========================================================
00-E0-81-DF-15-FE   \Device\Tcpip_{5BB4FA88-7056-4303-8528-AA2293E4821B}
00-E0-81-DF-15-FD   Media disconnected

Запись ARP и MAC-АДРЕС в маршрутизаторе

Router#sh ip arp 192.168.111.61
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.111.61            1   00e0.81df.15fc  ARPA   Vlan50  

Router#sh mac-address-table addr 00e0.81df.15fc

Legend: * - primary entry
    age - seconds since last seen
    n/a - not available

  vlan   mac address     type    learn     age              ports
------+----------------+--------+-----+----------+--------------------------
Module 1[FE 1]:
*   50  00e0.81df.15fc   dynamic  Yes        275   Gi1/37

Последние 4 бита аппаратного адреса, хотя и не похожи, не были физическими адресами оборудования в Windows 2008 Server. Логика подсказывает, что Windows Server должен был выполнить какой-то некорректный бесплатный ARP, чтобы отравить таблицу ARP и MAC на маршрутизаторе. Или он отвечал на ARP-запрос IP, которым он не владел, и MAC-АДРЕС, который ему не принадлежал.

После того, как мы отключили интерфейс Windows 2008 и очистили таблицы ARP / MAC, проблема была решена.

На всю жизнь я не могу понять, как это произошло (или почему).

Если у вас есть виртуальный сервер, и на нем произошел отказ кластера, отправляется бесплатный запрос ARP. Скорее всего, ваш коммутатор не пересылает это, и в таблице ARP на другой стороне коммутатора остался неверный MAC.

При отказе кластера сервер будет / может переключить MAC-адрес.

Решение состоит в том, чтобы настроить коммутатор (-ы) на пересылку бесплатного запроса ARP.