Como posso rastrear a origem de um problema de tabela ARP Ethernet entre laptops Linux?

0

Em nossa rede local, depois de reinicializar o roteador, não consigo fazer ssh do laptop A para o laptop B exceto através do roteador. No entanto, depois de fazer um ping do laptop B para o laptop A, posso conectar normalmente de A a B. Eu posso reproduzir esse problema reiniciando o roteador. Ambos os laptops estão conectados ao roteador via WiFi e não há outros APs ou roteadores conectados. Existem outros dispositivos na LAN e não tenho conhecimento de nenhum outro problema ARP.

Demonstrando o problema depois que o roteador foi reinicializado:

scott@laptopa:~$ ip addr show dev wlp58s0 |grep 'inet '
    inet 192.168.8.194/24 brd 192.168.8.255 scope global dynamic noprefixroute wlp58s0
scott@laptopa:~$ ssh 192.168.8.131 echo okay
ssh: connect to host 192.168.8.131 port 443: No route to host
scott@laptopa:~$ ssh 192.168.8.131 echo okay
ssh: connect to host 192.168.8.131 port 443: No route to host
scott@laptopa:~$ ssh 192.168.8.131 echo okay
ssh: connect to host 192.168.8.131 port 443: No route to host
scott@laptopa:~$ arp |grep 9c:b6:d0:44:18:09
scott@laptopa:~$ 

A difícil alternativa:

scott@laptopa:~$ ssh -o 'ProxyCommand ssh -q -W %h:%p [email protected]' 192.168.8.131 'ping -c 10 192.168.8.194'
PING 192.168.8.194 (192.168.8.194) 56(84) bytes of data.
64 bytes from 192.168.8.194: icmp_seq=1 ttl=64 time=66.3 ms
64 bytes from 192.168.8.194: icmp_seq=2 ttl=64 time=22.9 ms
64 bytes from 192.168.8.194: icmp_seq=3 ttl=64 time=106 ms
64 bytes from 192.168.8.194: icmp_seq=4 ttl=64 time=230 ms
64 bytes from 192.168.8.194: icmp_seq=5 ttl=64 time=252 ms
64 bytes from 192.168.8.194: icmp_seq=6 ttl=64 time=275 ms
64 bytes from 192.168.8.194: icmp_seq=7 ttl=64 time=298 ms
64 bytes from 192.168.8.194: icmp_seq=8 ttl=64 time=321 ms
64 bytes from 192.168.8.194: icmp_seq=9 ttl=64 time=38.3 ms
64 bytes from 192.168.8.194: icmp_seq=10 ttl=64 time=60.3 ms

--- 192.168.8.194 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9012ms
rtt min/avg/max/mdev = 22.950/167.478/321.937/112.761 ms

Demonstrando que agora funciona corretamente:

scott@laptopa:~$ ssh 192.168.8.131 echo okay
okay
scott@laptopa:~$ arp |grep 9c:b6:d0:44:18:09
laptopb.lan              ether   9c:b6:d0:44:18:09   C                     wlp58s0

Os laptops A e B estão executando o Ubuntu 18.04 e o roteador é o Lede (OpenWRT) 17.01.4.

    
por bitinerant 13.11.2018 / 22:52

1 resposta

0

Como sugerido pelo @roaima, excluí todas as regras iptables e testei novamente. Eu tive zero problemas, mesmo depois de reiniciar o roteador várias vezes. Então eu adicionei minhas regras iptables de volta e testei mais. Eu ainda não tinha problemas.

Em suma, não consigo mais reproduzir o problema, então talvez seja aleatório como o @dirkt experimentou. Talvez seja algum outro dispositivo na rede.

    
por 16.11.2018 / 16:09