如何在此网格场景中configuration路由?

我已经设置了下面的场景

路由方案

所有路由器都是openwrt路由器,它们通过电缆(Rout1 <> Rout2)或无线(Rout2 <> Rout4)连接,

我希望能够通过SSH从每个路由器连接到每个路由器。 现在如果我连接到路由器2,我可以连接到路由器1(上游),但不连接到路由器3(下游)。

由于每个路由器都有自己的子网,我想最好的解决办法是设置静态路由规则,但我没有成功。

我试图在路由器2上添加此规则,以便能够与路由器3交谈,但它不起作用:

静态路由Openwrt。

我究竟做错了什么?

一些更多的信息,这些命令用完路由器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 

考虑一下,现在我在configuration中有一个错误的静态路由规则,就是你在附加图像中看到的规则。

OpenWRT默认configuration为将Internet分成“WAN”区域,“LAN”区域,并在两者之间执行NAT。 因此,除了路由器1以外的所有路由器,您都需要修改防火墙configuration,将所有接口置于LAN区域中:

  • /etc/config/firewall删除整个config zone wan ;
  • list network wan添加到lanconfig zone

重新启动,并且您的路由器不应再在接口之间进行NAT,并允许不受限制的路由。

为了提高性能,你可能还想从wifi上取消lan接口。 在/etc/config/firewall ,删除type bridge ,并为每个无线接口创build一个新的interface条目。 不要忘记将它们添加到防火墙configuration中的lan区域。

我想就是这样。 如果我忘记了什么,请告诉我。