子网之间的通信不一致失败

子网之间的通信不一致失败

我有一台 DD-WRT 路由器,配置了 LAN 上的两个子网,192.168.254.0/24(MAIN)和 192.168.101.0/24(LOCAL)。这两个子网具有由 dnsmasq 提供的 DHCP 服务器。MAIN 子网的网关地址为 192.168.254.253,而 LOCAL 子网的网关地址为 192.168.101.0。
其中一个子网仅连接到 VLAN(ath0.2),另一个子网是标准网络,连接到常规 WLAN、有线 LAN 和 br0 上的 WAN(使用 NAT)。我希望 MAIN 子网与 WAN 和 LOCAL 通信,LOCAL 子网仅与 MAIN 通信。
当通过 WLAN 将设备连接到两个网络中的每一个时,它们会从各自的正确范围内接收 IP 地址。我有连接到两个子网的设备,每个子网中都有一台 PC。不幸的是,DD-WRT BusyBox 中没有可用的 TCPDUMP,因此我只能在每个子网中的 PC 上使用 wireshark。
在 DD-WRT 路由器的管理页面上,我可以看到所有 DHCP 租约,并可以看到两个子网上的所有设备。两个子网内的通信正常(PING、HTTP)。
问题是子网之间的通信。Iptables 设置为允许从 MAIN 到 LOCAL 的所有流量,反之亦然。我可以从 MAIN 中的任何设备 ping 到个人电脑本地子网中的 PC 可以正常通信,反之亦然,但本地子网中的其他设备则无法通信,即使它们可以正常进行本地通信。本地子网中的 PC 可以正常通信至主子网中的所有设备

因此,沟通的工作原理如下:

  • 本地 PC -> 本地任意设备是的
  • 本地 PC -> 主设备中的任何设备是的
  • 本地电脑 -> 互联网(预期的)
  • MAIN 中的任何设备 -> LOCAL 子网中的 PC是的
  • 主设备中的任何设备 -> 本地设备中的其他设备

当从主网络 ping 到本地无法访问的设备时,我Reply from 192.168.254.253: Destination host unreachable从主网关获得信息。在网关上
运行可访问和不可访问的设备会导致 网关上的 ARP 显示 PC 是本地的唯一条目。 为什么本地子网中的某些地址可以访问,而有些地址则不能访问?如果本地上的其他设备由于防火墙只接受本地流量而无法通信,PING 是否会超时而不是无法访问?ip route get 192.168.101.XXX192.168.101.XXX dev ath0.2 src 192.168.101.0


答案1

问题找到了。其他设备太聪明了,拒绝接受网关地址 192.168.101.0。因此没有响应被转发到主网络。

答案2

您从默认网关 (192.168.254.253) 收到目标计算机无法访问的信息。这是一种完全正常的行为,可能确实是由于您的 ICMP 请求在目标计算机上被阻止而导致的。因此不会向网关发送任何答复,因此它会回复您“无法访问目标”。ICMP 中没有您想象的超时。

相关内容