![如何在这种网状场景中配置路由?](https://linux22.com/image/648422/%E5%A6%82%E4%BD%95%E5%9C%A8%E8%BF%99%E7%A7%8D%E7%BD%91%E7%8A%B6%E5%9C%BA%E6%99%AF%E4%B8%AD%E9%85%8D%E7%BD%AE%E8%B7%AF%E7%94%B1%EF%BC%9F.png)
我已经设置了以下场景
所有的路由器都是openwrt路由器,它们通过有线连接(Rout1 <> Rout2),或者通过无线连接(Rout2 <> Rout4)
我希望能够通过 SSH 从每个路由器连接到每个路由器。现在,如果我连接到路由器 2,我可以连接到路由器 1(上游),但不能连接到路由器 3(下游)。
由于每个路由器都有自己的子网,我猜最好的解决方案是设置静态路由规则,但我没有成功。
我尝试在路由器 2 上添加此规则,以便能够与路由器 3 通信,但是不起作用:
我究竟做错了什么?
更多信息,这些命令是由路由器 II 运行的:
root@OpenWrt:~# ifconfig
br-lan Link encap:Ethernet HWaddr E8:DE:27:D6:88:7E
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fd95:ccb3:25d1:4::1/62 Scope:Global
inet6 addr: fe80::eade:27ff:fed6:887e/64 Scope:Link
inet6 addr: fd55:9df8:d56e::1/60 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1457082 errors:0 dropped:0 overruns:0 frame:0
TX packets:2115340 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:150498460 (143.5 MiB) TX bytes:2840823770 (2.6 GiB)
eth0 Link encap:Ethernet HWaddr E8:DE:27:D6:88:7F
inet addr:192.168.1.185 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fd95:ccb3:25d1:0:eade:27ff:fed6:887f/64 Scope:Global
inet6 addr: fd95:ccb3:25d1::953/128 Scope:Global
inet6 addr: fe80::eade:27ff:fed6:887f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2108975 errors:0 dropped:0 overruns:3 frame:0
TX packets:1440391 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2841103470 (2.6 GiB) TX bytes:169610036 (161.7 MiB)
Interrupt:4
eth1 Link encap:Ethernet HWaddr E8:DE:27:D6:88:7E
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1418715 errors:0 dropped:8 overruns:1 frame:0
TX packets:2078193 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:163820177 (156.2 MiB) TX bytes:2836974076 (2.6 GiB)
Interrupt:5
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:237 errors:0 dropped:0 overruns:0 frame:0
TX packets:237 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:11404 (11.1 KiB) TX bytes:11404 (11.1 KiB)
wlan0 Link encap:Ethernet HWaddr E8:DE:27:D6:88:7C
inet6 addr: fe80::eade:27ff:fed6:887c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17781 errors:0 dropped:0 overruns:0 frame:0
TX packets:32439 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:817883 (798.7 KiB) TX bytes:2345307 (2.2 MiB)
wlan1 Link encap:Ethernet HWaddr E8:DE:27:D6:88:7D
inet6 addr: fe80::eade:27ff:fed6:887d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22619 errors:0 dropped:0 overruns:0 frame:0
TX packets:35299 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6555917 (6.2 MiB) TX bytes:4818415 (4.5 MiB)
root@OpenWrt:~# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 br-lan
192.168.3.0 192.168.2.1 255.255.255.0 UG 0 0 0 br-lan
请考虑一下,现在我在配置中有一个错误的静态路由规则,就是您在附图中看到的那样。
答案1
OpenWRT 默认配置为将互联网分为“WAN”区域和“LAN”区域,并在两者之间执行 NAT。因此,在除路由器 1 之外的所有路由器上,您需要修改防火墙配置以将所有接口放入 LAN 区域:
- 从 中删除整个
config zone
for ;wan
/etc/config/firewall
- 添加
list network wan
到config zone
forlan
。
重新启动后,您的路由器将不再在接口之间进行 NAT,并允许不受限制的路由。
为了提高性能,您可能还需要取消lan
接口与 的桥接wifi
。在 中/etc/config/firewall
,删除type bridge
,然后interface
为每个无线接口创建一个新条目。不要忘记将它们添加到lan
防火墙配置中的区域中。
我想就这些了。如果我忘记了什么,请告诉我。