我有两个物理设备,一个路由器和一个接入点,都安装了 OpenWRT。
路由器有两个接口,一个是LAN口(192.168.1.1/24),一个是WAN口。AP也有两个接口,一个是LAN口(192.168.1.2/24),一个是WiFi口(192.168.2.1/24)。两个LAN口用网线连接。
在路由器上,设置WiFi的路由:
ip route add 192.168.2.0/24 via 192.168.1.1
192.168.2.1
当我在路由器上ping 时,我希望回显请求能够通过带有源 IP192.168.1.1
和目标 IP的线路传输192.168.2.1
,并且路由器会收到回显答复,但事实证明路由器会生成 ARP 广播,询问 MAC 地址,并将其192.168.2.1
发送到 AP 的 LAN 接口,然后被忽略。
我怎样才能使路由器按预期工作?
答案1
问题是您没有告诉路由器将数据包发送到哪里,发送到哪个可以访问该网络的设备。
您使用了无法访问网络的同一主机上的 IP ,因此您基本上是在告诉他将自己用作该网络的路由器,然后它通过具有您指定的本地 IP 的 NIC 发送 ARP,尝试找到与 192.168.1.1 NIC 连接到同一物理网络(交换机)的 IP192.168.2.0/24
的设备。192.168.2.1
如果您添加带有在 via 部分指定远程主机的路由,那么一切都应该正常工作。
ip route add 192.168.2.0/24 via 192.168.1.2
然后,您告诉路由器将需要进入192.168.2.0./24
网络的数据包发送到位于同一网络上的具有 IP 的设备192.168.1.2
,然后该设备将处理到其他网络的路由。