O Linux enviará o probe ARP gratuito ou o ARP (definido na RFC 5227)

7

Fiz um experimento para verificar se o Linux enviará o probe ARP ou ARP gratuito antes de usar o IP de destino.

O cenário da experiência é o seguinte:

Existem dois computadores Linux, ambos conectados ao mesmo AP. Conectei o primeiro e usei ifconfig wlan0 192.168.1.30(que é o endereço IP padrão de outro computador Linux) para definir o endereço IP estaticamente.

Então eu uso o WPA_supplicant para conectar o outro e utilizo dhclient wlan0para obter o endereço IP. No sniffer, eu não observei nenhum probe ARP ou ARP gratuito enviado do segundo computador.

Apenas imaginando sob que condição, o computador linux enviará essas duas solicitações de ARP? Como nas mesmas condições, observo que o computador com o Windows enviará o ARP Probe para solicitar o IP.

obrigado

Anakin Tung
fonte

Respostas:

2

A configuração manual de um endereço IP em um dispositivo não exige que o dispositivo verifique se há conflitos de endereço. Somente se o dispositivo configurar seu próprio endereço IP (DHCP, etc.), deverá verificar se há conflitos de endereço.

Você não verá um ARP gratuito se você configurar manualmente um dispositivo, pois ele não tem como alterar seu endereço (ou solicitar um novo) se descobrir um conflito. O objetivo do RFC é que um dispositivo, configurando seu próprio endereço IP, possa detectar se ele precisa alterar o endereço IP obtido. Pode fazer isso para coisas como DHCP, mas não há como fazer isso se você configurar manualmente o endereço. Em outras palavras, o dispositivo precisa confiar que você, o humano, sabe o que está fazendo, mas precisa verificar se qualquer endereço fornecido por ele próprio ainda não está em uso.

Ron Maupin
fonte
11
Incorreta. Cito a seção 2.1 da RFC 5227 (ênfase minha) - "Antes de começar a usar um endereço IPv4 (recebido da configuração manual , DHCP ou algum outro meio), um host que implementa essa especificação DEVE testar para ver se o endereço já está em use .... " https://tools.ietf.org/html/rfc5227#section-2.1
Steve365 11/11/16
Sim, mas não é exatamente quantos fornecedores de SO implementaram, daí a questão. Você pode testar isso sozinho com o WireShark.
Ron Maupin
Na verdade, eu estava apenas esclarecendo para futuros leitores que, para estar em total conformidade com a RFC, uma implementação deve aplicar o protocolo para endereçamento manual e DHCP. Sua linha de abertura sugeriu que esse não era o caso. Estou ciente que há muitas implementações de buggy lá fora, que não fazem isso :)
Steve365
Eu não vi um único sistema operacional que realmente implementa isso. Eu já vi isso em alguns equipamentos de rede. Os fornecedores de SO não entendem o ponto. Alguns ignoram RFCs inteiras (por exemplo, RFC 3021 - Usando prefixos de 31 bits em links ponto a ponto IPv4 , que existe há mais de 15 anos).
Ron Maupin
Algumas versões do Windows implementam isso. Acabei de usar o Wireshark para confirmar no Windows 7 com um IP estático.
Steve365
2

Aqui está uma pergunta: Why would Linux send an ARP probe for an IP that is being locally assigned, it knows who the own of that IP will be (itself!) ?- Você está configurando os IPs para saber qual é o IP gratuito. Quando o rm -rf /Linux não verifica, "apenas faz", porque você deve saber se está bem executar essa operação ou não. O Windows (por exemplo) tem o hábito de segurar sua mão para torná-la mais à prova de idiotas (na minha opinião).

No caso de um servidor MS DHCP, se você executar uma captura de pacotes em um (o que eu tenho), verá que eles executarão ping em um endereço antes de alugá-lo para um cliente para garantir que ele ainda não esteja capturado e não saber sobre isso (devido a outro servidor DHCP ou uma atribuição estática).

Quando você atribui um IP a uma interface no Linux, não há necessidade de enviar um ARP gratuito. Se outros hosts quiserem conhecer o MAC para IP 1.2.3.4, ele poderá enviar uma solicitação ARP. Não há benefício em obter ARP gratuitamente sempre que uma interface é exibida.

Sei que fiz poucas declarações sem evidências concretas para apoiá-las, no entanto, de acordo com sua pergunta, você já viu o mesmo comportamento. Isso só faz sentido lógico para mim.

jwbensley
fonte
0

O Solaris 10 e seguintes oferecem suporte ao DAD (RFC 5227) para IPv4 para endereços IP atribuídos estáticos e endereços IP dinamicamente atribuídos.

O daemon dhcp (dhcpd) no NetBSD e outras plataformas (como o Ubuntu) suporta RFC 5227.

John
fonte