Ping não ecoou, mas o tcpdump o vê

1

Estou trabalhando para obter uma configuração do Raspberry Pi em uma rede WPA2-Enterprise. No momento, ele obtém um endereço IP do servidor DHCP em eth0 e wlan0 . Este pi está indo em algum lugar onde não pode chegar a uma porta ethernet, por isso precisa trabalhar em wi-fi. Eu posso pingar, ssh e acessar o pi através do endereço IP dado a eth0 . No entanto, não posso fazer nada para acessar o endereço IP dado a wlan0 . Quando faço o ping do IP fornecido para wlan0 , tcpdump vê as solicitações de eco (e até vai longe para resolver o nome do host). Eu não entendo porque o eco não está sendo roteado de volta à sua origem.

Aqui estão algumas saídas de programas para mais informações:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         xxx.yyy.142.1   0.0.0.0         UG    202    0        0 eth0
0.0.0.0         xxx.yyy.234.1   0.0.0.0         UG    303    0        0 wlan0
xxx.yyy.142.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0
xxx.yyy.234.0   0.0.0.0         255.255.255.0   U     303    0        0 wlan0

# ifconfig
eth0      Link encap:Ethernet  HWaddr ...:bd  
          inet addr:xxx.yyy.142.226  Bcast:xxx.yyy.142.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:72200 errors:98 dropped:740 overruns:0 frame:0
          TX packets:3381 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4682949 (4.4 MiB)  TX bytes:331697 (323.9 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:108 errors:0 dropped:0 overruns:0 frame:0
          TX packets:108 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:9216 (9.0 KiB)  TX bytes:9216 (9.0 KiB)

wlan0     Link encap:Ethernet  HWaddr ...:e5  
          inet addr:xxx.yyy.234.195  Bcast:xxx.yyy.234.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:271 errors:0 dropped:49 overruns:0 frame:0
          TX packets:199 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:47373 (46.2 KiB)  TX bytes:26125 (25.5 KiB)

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

# ip route
default via xxx.yyy.142.1 dev eth0  metric 202 
default via xxx.yyy.234.1 dev wlan0  metric 303 
xxx.yyy.142.0/24 dev eth0  proto kernel  scope link  src xxx.yyy.142.226  metric 202 
xxx.yyy.234.0/24 dev wlan0  proto kernel  scope link  src xxx.yyy.234.195  metric 303

# ip rule
0:      from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default 

Quando faço ping em xxx.aaa.234.195, tcpdump mostra:

listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes
16:34:31.664494 IP <My Computer> > raspberrypi: ICMP echo request, id 1, seq 1426, length 40
16:34:36.452314 IP <My Computer> > raspberrypi: ICMP echo request, id 1, seq 1427, length 40
16:34:41.451536 IP <My Computer> > raspberrypi: ICMP echo request, id 1, seq 1428, length 40
16:34:46.464017 IP <My Computer> > raspberrypi: ICMP echo request, id 1, seq 1429, length 40

Estou em uma rede universitária, por isso não posso reconfigurar nada sobre a rede. Eu não tenho experiência de rede suficiente para descobrir isso sozinho, por isso agradeço qualquer ajuda que puder obter.

Obrigado antecipadamente.

    
por Osmium USA 07.12.2015 / 18:10

1 resposta

1

Parece um problema de roteamento.

Você tem dois gateways padrão no RasPi e tem rotas diretas via eth0 e wlan0 para suas respectivas redes. Se você pingar o endereço wlan0 de um host que tenha endereço na rede eth0, o RasPi tentará enviar uma resposta da eth0, não da wlan0 (mas com o endereço de origem do wlan0).

Se houver um firewall com estado entre as redes, isso pode quebrar roteamento assimétrico.

Tente desconectar a eth0 (desligue-a, retire o cabo ou algo assim) para remover rotas redundantes e, em seguida, faça ping do endereço wlan novamente.

    
por 07.12.2015 / 18:56