Como posso corrigir uma entrada de arp ruim?

3

Estou apenas supondo que arp é o meu problema ...

Eu tenho um cluster de servidor drbd linux configurado, e devido a alguns problemas de energia tive que desconectar o switch que conecta os dois servidores. Como resultado, os dois servidores se tornaram primários e receberam o mesmo endereço IP por vários segundos. (isso causou uma condição split-brain , mas isso é outro problema)

Meu problema é que agora alguns servidores parecem conseguir ver o endereço IP compartilhado do cluster e outros não. Eu estou querendo saber se isso poderia ser uma situação em que alguns switches / portas estão enviando o tráfego para um servidor e alguns para o outro?

E se este for o problema, como posso resolvê-lo?

  • e ... isso é feito no comutador ou no servidor?
por Brent 12.06.2009 / 19:43

3 respostas

8

Se for realmente um problema de arp, o problema ficará restrito ao dispositivo de rede que faz o roteamento (desde que o ARP serve - mapeando endereços L3 (IP) para endereços L2 (MAC)) ou possivelmente no cache ARP de um servidor sentado na mesma sub-rede IP. Não envolverá um switch, a menos que seja um switch L3.

Para resolver o problema em um roteador cisco, você pode executar o seguinte comando para limpar o cache de arp e permitir que ele seja reconstruído:

clear arp

Para remover a entrada arp incorreta de um servidor que pode estar armazenando informações incorretas em cache (portanto, não o servidor que não pode ser acessado, mas o servidor que não pode alcançar), você pode excluir manualmente a entrada falsa do cache ARP, onde o endereço IP é o IP do servidor que não pode ser alcançado. Observe que esta mesma sintaxe parece ser válida no Linux e no Windows:

arp -d <ip-address>

Você também pode enviar um ARP gratuito do servidor que não pode ser acessado para fazer com que outros hosts na mesma sub-rede IP atualizem seus caches ARP (tenho isso em minhas anotações, mas admito que não o usei) Não consigo me lembrar se isso permite que você pule os passos acima, ou apenas encurte o processo dos outros hosts adicionando uma entrada arp depois de executar os comandos acima):

arping -q -A -c 1 -I eth0 <ip-address>
arping -q -U -c 1 -I eth0 <ip-address>

Todas as opções acima são para um problema de ARP, mas você menciona especificamente um switch na sua pergunta. Se é um switch que usa apenas L3 para gerenciamento, então os problemas de fluxo de dados teriam que ser problemas com o cache MAC, não com o cache ARP. Nesse caso, você pode executar o seguinte no switch para limpar o conteúdo do cache dinâmico:

clear mac-address-table dynamic
    
por 12.06.2009 / 19:51
1

Você pode usar o comando arp no Linux para excluir uma entrada específica com a opção -d . Se você tiver gerenciado switches, provavelmente poderá limpar o cache do arp, com cisco seria apenas clear arp . Além disso, você pode, claro, sempre desligar e ligar todos os switches e eles devem reconstruir suas tabelas.

    
por 12.06.2009 / 19:53
0

foram os comutados também através desta queda de energia? talvez eles tenham perdido a última mudança de configuração, a que diz "para este endereço mac, então empacote para essas duas portas".

A Cisco comutada tem que ser configurada como hub para o mac virtual, então eles enviam todos os pacotes relacionados ao mac virtual para ambos os hosts.

    
por 12.06.2009 / 20:06