O que pode fazer com que duas interfaces de rede na mesma máquina façam flip flop em seus endereços IP?

3

Temos um servidor Linux (Debian) que possui duas placas de rede conectadas ao mesmo switch. (Nós costumávamos ter um switch dedicado para o tráfego entre nossos servidores, mas quando a maioria dos nossos servidores mudavam para um local que o switch também usava.) Esses NICs têm endereços IP estáticos diferentes, mas uma vez por mês o arpwatch envia um par de Flip Flop mensagens como um dos IPs salta de uma interface para a outra e para trás. O que poderia estar causando isso?

    
por David Locke 24.08.2009 / 23:21

3 respostas

7

Isso pode estar relacionado ao comportamento do Linux ARP com várias NICs na mesma rede e foi discutido em esta pergunta de falha de servidor . Basicamente, você precisa definir alguns parâmetros sysctl :

net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2

Isso fará com que as respostas ARP sejam excluídas apenas da interface de rede que realmente possui o endereço IP solicitado na solicitação ARP.

Como mencionado na questão acima referenciada, isso ocorre porque, por padrão, no Linux, o host possui um IP, e não uma interface em particular, portanto, as respostas serão exibidas em qualquer interface escolhida. Isso pode causar problemas quando você tem várias interfaces na mesma rede e é exatamente o que os parâmetros sysctl acima modificam.

    
por 25.08.2009 / 00:56
2

se estiver no linux E você estiver usando o udev (provavelmente já é "padrão" há alguns anos), você pode forçar a atribuição de eth0 ou eth1 etc para endereços MAC específicos.

por exemplo. Eu tenho o seguinte em /etc/udev/rules.d/70-persistent-net.rules em um servidor de arquivos IBM x3655 no trabalho. ele tem 4 NICs, três deles conectados a 3 VLANs diferentes e o último conectado ao "backbone Gb interno" (um switch Gigabit dedicado no rack para todas as comunicações entre servidores - NFS, ntp, dns, rsync, etc). Obviamente, é crucial que cada interface tenha o mesmo nome e o mesmo endereço IP quando reinicializar:

# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.

# built-in broadcom extreme NICs
## PCI device 0x14e4:0x164a (bnx2)
SUBSYSTEM=="net", ACTION=="add",DRIVERS=="?*", ATTR{address}=="00:14:5e:5a:18:ac", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add",DRIVERS=="?*", ATTR{address}=="00:14:5e:5a:18:ae", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI Intel e1000 NICs
## PCI device 0x8086:0x105e (e1000)
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:15:17:2e:e0:c3", NAME="eth2"
SUBSYSTEM=="net", DRIVERS=="?*", ATTR{address}=="00:15:17:2e:e0:c2", NAME="eth3"
    
por 25.08.2009 / 00:33
1

Eu não tenho uma resposta, mas talvez uma sugestão. Um tempo atrás, um colega meu mencionou que havia um bug no driver do Linux para uma placa de rede específica. Esse bug aparentemente levaria os endereços MAC (!) A saltar entre as interfaces se o servidor tivesse mais de um. Eu nunca verifiquei isso, mas parece que lembro que esse bug foi supostamente corrigido com o 2.6.17 ou por aí.

    
por 24.08.2009 / 23:31