Mar 30

主路由器 (Router 1) 接入互联网,下面接入两台子路由器:Router 2 和 Router 3。Router 2 和 Router 3的 WAN 端口用网线连接到Router 1的 LAN 端口,两个子路由分别有自己的子网。这样的好处就是三个路由器可以根据需求分别管理,缺点就是管理比较复杂,更不方便的是 Router 2 和 Router 3 可以访问 Router 1 下的设备,如 NAS,Plex 等,但是 Router 1 不能访问 Router 2 和 Router 3 下的设备,这时就需要设置静态路由,实现各子域互通。

1.设置各路由器的静态 IP 地址
Router 1:
WAN IP:ISP Provideed
WAN Subnet:ISP Provideed
LAN IP:192.168.1.1
LAN Sunnet:192.168.1.0/24

Router 2:
WAN IP:192.168.1.2
WAN Subnet:192.168.1.0/24
LAN IP:192.168.2.1
LAN Sunnet:192.168.2.0/24

Router 3:
WAN IP:192.168.1.3
WAN Subnet:192.168.1.0/24
LAN IP:192.168.3.1
LAN Sunnet:192.168.3.0/24

2.设置主路由器
在 Setup->Advanced Routing 页面的 Static Routing 选项下添加内容。
Route Name: Router2
Destination LAN NET: 192.168.2.0
Subnet Mask: 255.255.255.0
Gateway: 192.168.1.2
Interface: LAN/WLAN

Route Name: Router3
Destination LAN NET: 192.168.3.0
Subnet Mask: 255.255.255.0
Gateway: 192.168.1.3
Interface: LAN/WLAN

3.设置两台子路由器
在Setup->Advanced Routing 页面的 Static Routing 选项下添加内容。
其中在 Router2 下添加:
Route Name: Router3
Destination LAN NET: 192.168.3.0
Subnet Mask: 255.255.255.0
Gateway: 192.168.1.3
Interface: LAN/WLAN

其中在 Router3 下添加:
Route Name: Router2
Destination LAN NET: 192.168.2.0
Subnet Mask: 255.255.255.0
Gateway: 192.168.1.2
Interface: LAN/WLAN

并且,在Setup->Advanced Routing 页面下,将 ‘Gateway’ 改成 ‘Router’ 模式,即将网管模式改成路由模式。

4.设置 Router2 和 Router3 的防火墙
在 Administration->Commands 页面下 添加防火墙的命令,然后让路由器开机自动运行。代码类似于

# Allow everything to be forwarded through the router (simple but do not use on routers directly connected to the internet)
iptables -I FORWARD -j ACCEPT

其中在 Router2 的防火墙应设置为

# Allow Router2 to forward traffic from Router1 and Router3's subnets
iptables -I FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -I FORWARD -s 192.168.3.0/24 -j ACCEPT

其中在 Router3 的防火墙应设置为

# Allow Router3 to forward traffic from Router1 and Router2's subnets
iptables -I FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -I FORWARD -s 192.168.2.0/24 -j ACCEPT

也可以在 Router1 上设置

# Allow the entire 192.168.0.0/16 block to be forwarded through the router
iptables -I FORWARD -s 192.168.0.0/16 -j ACCEPT

如果嫌命令行设置太麻烦,还有直接粗暴的方法:直接关闭 Router2 和 Router3 的防火墙,但是关闭路由器的防火墙后可能会有安全问题。

最后就是重启路由器,使上述设置生效。

参考资料:https://www.dd-wrt.com/wiki/index.php/Linking_Subnets_with_Static_Routes

Leave a Reply