祖国科技,日新月异。
上次折腾家里的网络之后一切正常。只是主路由上的爱国上网服务会因为祖国科学技术的发展而挂掉,而且还不方便远程调试,每次都想要调试的时候都要家里人在电脑上打开 TeamViewer 远程,非常麻烦。这次折腾主要是升级一下主路由上的爱国上网工具,顺便加个远程访问上去。
如今的爱国上网已经不再是简简单单的阴影袜子(ShadowSocks)了,从 V2Ray 到 Torjan 再到 Clash,爱国上网的软件层出不穷。可惜在今天,WNDR4300 的性能只算堪用,如果把这些软件装在主路由上可能有性能问题,况且如果之后有新的爱国软件的话,又要再次修改主路由。远程操作不但有风险,还会吃紧路由器性能。不如加一个树莓派来单独做这些有性能要求的工作,让主路由只做路由。
这次的折腾其实是加一个旁路网关,或者叫旁路由,要实现的是把 LAN 的全部流量先经过旁路,再经过主路由,并且在性能比较好的旁路上进行爱国上网。
网上关于旁路由的设置教程有很多,很多是把 DHCP 改为旁路由上的,不过因为 DHCP 与网关无关,而且拨号和 NAT 转换仍然是主路由的工作,所以我只是把主路由上的网关和 DNS 服务器改到了旁路由上,DHCP 依然是主路由分配。至于主路由,因为不需要跑 Shadowsocks 了,极大地解放了生产力,可以专心路由了,所以把下面的两个二级路由改成了 AP ,也就是说,网内所有的设备都是由主路由来带了。
完成后的网络拓扑如下:
下载
在 SuLingGG/OpenWrt-Rpi: Raspberry Pi & NanoPi R2S/R4S & G-Dock & x86 OpenWrt Compile Project. (Based on Github Action / Daily Update) 这个项目里下载了适用了树莓派的 OpenWrt 的固件并烧写到树莓派,然后按照这篇教程:自编译 OpenWrt 系列 – 旁路由设置指南 | 美丽应用,完成更改 LAN 口 IP 地址的部分。
旁路由(树莓派)设置
首先将旁路由的 LAN 设置为静态 IP , IP 地址为与主路由同网段的任意 IP ,家里的主路由为192.168.0.1,我把树莓派设置为192.168.0.3。
子网掩码为子段的 255.255.255.0 。
网关为主路由地址 192.168.0.1 。
广播地址为 192.168.0.255 。
关闭 DHCP 服务器:基本设置-忽略此接口。
对于 OpenWrt 来说,还需要在物理设置中关闭桥接接口,并把接口改为树莓派的硬件地址,如下图。
主路由设置
主路由的 LAN 口设置如下:
网关设置为旁路 IP 192.168.0.3。
广播地址为192.168.0.255。
DNS 服务器由旁路提供,方便爱国上网,192.168.0.3。
并保持 DHCP 服务打开。
并在 DHCP 服务器的高级设置中添加两条 DHCP 选项,指向旁路由。
6,192.168.0.3
3,192.168.0.3
至此设置完成,然后将树莓派的 LAN 与主路由的 LAN 链接,然后重启两个路由器,完毕。
效果
网络内的 DHCP 服务仍是主路由提供,旁路由接管了 DNS 服务,并且浏览器请求会先经过旁路由,再经过主路由,方便在旁路由上配置爱国上网服务。可以通过 traceroute 检查网络流量经过了旁路由。
traceroute to 1.2.4.8 (1.2.4.8), 64 hops max, 52 byte packets
1 * 192.168.0.3 (192.168.0.3) 3.434 ms * #旁路由
2 192.168.0.1 (192.168.0.1) 2.413 ms 2.966 ms 5.824 ms #主路由
3 27.*.*.* (27.*.*.*) 9.727 ms 6.540 ms 4.990 ms
4 * 60.*.*.* (60.*.*.*) 10.800 ms
60.*.*.* (60.*.*.*) 6.971 ms
5 222.134.155.6 (222.134.155.6) 14.747 ms
222.134.155.66 (222.134.155.66) 4.475 ms
222.134.155.6 (222.134.155.6) 7.666 ms
6 219.158.4.249 (219.158.4.249) 18.907 ms
219.158.8.205 (219.158.8.205) 36.244 ms
60.210.14.5 (60.210.14.5) 9.075 ms
7 219.158.4.241 (219.158.4.241) 17.311 ms
61.49.214.14 (61.49.214.14) 19.007 ms
124.65.194.34 (124.65.194.34) 20.167 ms
8 at613.bta.net.cn (202.96.12.122) 49.071 ms * *
9 61.148.152.202 (61.148.152.202) 23.472 ms * *
10 61.148.152.218 (61.148.152.218) 40.302 ms
61.148.4.166 (61.148.4.166) 44.810 ms
202.106.192.194 (202.106.192.194) 21.595 ms
随后在树莓派上安装爱国上网的服务即可。
后记
这个旁路由的方案可以把在主路由运行的一大堆服务分离出来,即便之后遇到性能瓶颈也只需要更换旁路由即可,不会干涉到主路由。不出意外的话,这应该是最后一次折腾家里的网络了,本来只是出于无聊折腾一下网络,没想到变成了连载……
参考
- Setting up a gateway on OpenWRT – ARDC (ampr.org)
- [OpenWrt Wiki] Router vs switch vs gateway and NAT
- 自编译 OpenWrt 系列 – 旁路由设置指南 | 美丽应用 (mlapp.cn)
- 软路由做旁路由三步搞定!openwrt软路由 R2S R4S openwrt软路由科学上网设置 – YouTube
- 从听说到上手,人人都能看懂的旁路由入门指南 – 少数派 (sspai.com) (修改了DHCP)
- 自制旁路网关(三) ——nftables 来做透明代理 | Hi! 上天不? (a-wing.top)