Ping 没有回显,但 tcpdump 可以看到它

Ping 没有回显,但 tcpdump 可以看到它

我正在努力在 WPA2-Enterprise 网络上设置 Raspberry Pi。现在它从 和 上的 DHCP 服务器获取 IP 地址eth0wlan0此 pi 正在去往无法访问以太网端口的地方,因此需要通过 wifi 工作。我可以通过提供给 的 IP 地址 ping、ssh 或以其他方式访问 pi eth0。但是,我无法通过任何方式访问提供给 的 IP 地址wlan0。当我 ping 提供给 的 IP 时wlan0tcpdump会看到回显请求(甚至会解析主机名)。我不明白为什么回显没有被路由回其来源。

以下是一些程序的输出,以供参考:

# 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 

当我 ping xxx.yyy.234.195 时,tcpdump显示:

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

我使用的是大学网络,因此无法重新配置网络。我没有足够的网络经验来自己解决这个问题,因此我非常感谢任何能给我的帮助。

先感谢您。

答案1

看起来像是路由问题。

RasPi 上有两个默认网关,并且它通过 eth0 和 wlan0 直接路由到各自的网络。如果您从具有 eth0 网络中地址的主机 ping wlan0 地址,RasPi 将尝试从 eth0 发送回复,而不是 wlan0(但源地址为 wlan0)。

如果网络之间存在状态防火墙,它就可以打破这种不对称路由。

尝试断开eth0(关闭它,拔掉电缆或类似的东西)以删除冗余路由,然后再次ping wlan地址。

相关内容