Questão peculiar com ping

2

Estou usando ping do pacote iputils-ping ( 3:20121221-4ubuntu1.1 ) no Ubuntu 14.04.

Ao pingar um host host2.lan com IP 192.168.1.20 que está inativo inicialmente, mas aparece durante a execução de ping , vejo isso quando host2.lan fica on-line (entre os números de sequência 56 e 57):

From host1.lan (192.168.1.1) icmp_seq=49 Destination Host Unreachable
From host1.lan (192.168.1.1) icmp_seq=50 Destination Host Unreachable
From host1.lan (192.168.1.1) icmp_seq=51 Destination Host Unreachable
From host1.lan (192.168.1.1) icmp_seq=52 Destination Host Unreachable
From host1.lan (192.168.1.1) icmp_seq=53 Destination Host Unreachable
From host1.lan (192.168.1.1) icmp_seq=54 Destination Host Unreachable
From host1.lan (192.168.1.1) icmp_seq=55 Destination Host Unreachable
From host1.lan (192.168.1.1) icmp_seq=56 Destination Host Unreachable
64 bytes from host1.lan (192.168.1.1): icmp_seq=57 ttl=64 time=0.303 ms
64 bytes from host1.lan (192.168.1.1): icmp_seq=58 ttl=64 time=0.165 ms
64 bytes from host1.lan (192.168.1.1): icmp_seq=60 ttl=64 time=0.284 ms
64 bytes from host1.lan (192.168.1.1): icmp_seq=61 ttl=64 time=0.181 ms
64 bytes from host1.lan (192.168.1.1): icmp_seq=62 ttl=64 time=0.136 ms
64 bytes from host1.lan (192.168.1.1): icmp_seq=63 ttl=64 time=0.180 ms

O que está acontecendo aqui? Estou recebendo um eco de host1.lan aqui ou de host2.lan e ele só é mostrado como host1.lan erroneamente?

Descrição para mecanismos de pesquisa: ping off-line host2 de host1 yields Destination Host Unreachable inicialmente, mas alterna para uma resposta de eco de host1 assim que o host2 aparece.

    
por 0xC0000022L 18.05.2015 / 18:24

2 respostas

1

Simplificado:

  1. seu host envia solicitações de ARP para "quem tem host2.lan ";
  2. quando não recebe nenhuma resposta, envia um " echo-request for host2.lan " para seu gateway (presumivelmente host1.lan );
  3. o gateway responde com host-unreachable ;
  4. quando host2.lan acorda, responde às solicitações ARP e é registrado nas tabelas ARP em todas as máquinas na sua LAN;
  5. seu host começa a enviar os pacotes icmp-echo para host2.lan em vez de enviá-los para o gateway;
  6. o gateway pára de responder com host-unreachable e encaminha os poucos icmp-echo que ainda tem em trânsito para o (agora conhecido por ARP ) host2.lan ;
  7. finalmente, host2.lan responde com echo-reply .

Aliás, é exatamente isso que deveria acontecer. Não é específico para o Linux de qualquer forma.

    
por 18.05.2015 / 18:58
1

Eu duvido que o ping esteja imprimindo o endereço IP errado - tenho certeza de que ele imprimirá o que realmente está no pacote. Eu sugiro que o tcpdump / wireshark investigue mais. Coisas que vêm à mente:

  • Regras de NAT do firewall. Tanto na máquina que você está pingando, a máquina que você está pingando, e (especialmente se é um salto entre você e para host2!) Host1.
  • confusão de DNS. Suas entradas de DNS estão erradas, e você não está pingando o que você pensa que é. Ou suas entradas reversas estão erradas.
  • Conflito de IP (o outro host tem o IP incorreto?)

Parece ter vindo de um host remoto, adivinhando pelos timestamps. Aqui, 0,1 ms é remoto em gig-e, 0,02 ms é local.

    
por 18.05.2015 / 18:43

Tags