Quando não seria gerada uma resposta ARP?

3

Resumo do problema : um ping de client não vai para rpi1 , sua chamada ARP não está respondida em srv .

  • host0 e tap0 são vinculados por br0 .
  • vpnin e lan0 são duas interfaces independentes.
  • Todo o tráfego entre as interfaces é permitido em srv (o IP forwading está ativado e tenho tráfego bem-sucedido entre rpi1 e outras interfaces não visíveis aqui, entre outras, uma que é a porta de entrada para a Internet)

Detalhes : client pings com sucesso ( 10.20.1.2 ), 10.20.1.1 , 10.20.1.254 e 10.10.10.254 . Ao tentar executar o ping de 10.10.10.11 :

root@client:~# ping 10.10.10.11
PING 10.10.10.11 (10.10.10.11) 56(84) bytes of data.
From 10.20.1.1: icmp_seq=2 Redirect Host(New nexthop: 10.10.10.11)
From 10.20.1.1 icmp_seq=1 Destination Host Unreachable
From 10.20.1.2 icmp_seq=3 Destination Host Unreachable
From 10.20.1.2 icmp_seq=4 Destination Host Unreachable
From 10.20.1.2 icmp_seq=5 Destination Host Unreachable

Por favor, note o flip-flap no From , entre 10.20.1.1 e 10.20.1.2 .

Ao executar um tcpdump on srv (onde a capacidade de ping é perdida), vejo solicitações de ARP, mas nenhuma resposta:

root@srv ~# tcpdump -i vpnin -nn
17:10:54.463072 ARP, Request who-has 10.10.10.11 tell 10.20.1.1, length 28
17:10:55.459489 ARP, Request who-has 10.10.10.11 tell 10.20.1.1, length 28
17:10:56.459459 ARP, Request who-has 10.10.10.11 tell 10.20.1.1, length 28
17:10:56.473683 ARP, Request who-has 10.10.10.11 tell 10.20.1.2, length 28
17:10:57.469788 ARP, Request who-has 10.10.10.11 tell 10.20.1.2, length 28
17:10:58.469608 ARP, Request who-has 10.10.10.11 tell 10.20.1.2, length 28

Novamente, 10.20.1.1 e 10.20.1.2 solicitam uma resposta.

A tabela ARP em srv tem uma resposta

root@srv ~# arp -a
(...)
rpi1.10.in-addr.arpa (10.10.10.11) at f4:f2:6d:09:35:1b [ether] on lan0

Qual pode ser o motivo

  • pela falta de resposta?
  • e para essa estranha alternância entre 10.20.1.1 e 10.20.1.2 ?
por WoJ 15.07.2016 / 19:05

1 resposta

4

O ARP funciona somente na mesma LAN (domínio de broadcast da camada 2) porque uma solicitação ARP é uma transmissão. As transmissões não cruzam um limite da camada 3. Endereços MAC são endereços da camada 2, e eles são significativos, ou até mesmo vistos, no mesmo domínio de broadcast da camada 2.

Um host que deseja enviar tráfego para uma rede de camada 3 diferente enviará o tráfego para o endereço da camada 2 do gateway configurado, usando o ARP para localizar o endereço da camada 2 do gateway configurado, se necessário. Então, é responsabilidade do gateway configurado obter o tráfego para o próximo salto no caminho para o destino.

Se o tráfego deve ser roteado para uma rede diferente, você precisa configurar o gateway nos hosts para serem os endereços nas redes da camada 3 onde os hosts existem, no ponto em que as redes se encontram ( srv ). O gateway configurado para client deve ser 10.20.1.254 e o gateway configurado para rp1 deve ser 10.10.10.254 .

    
por 15.07.2016 / 20:05