最近有个想法,想在局域网搞个‘旁路由’。想爬墙方便点,同时不影响主要网络结构。但是觉得手动修改网关、dns 等觉得太麻烦了,决定在主路由上面搞一个固定爬墙网关 的 wifi ,爬墙 wifi 和普通 wifi 共存。
试验了一下,没有成功。想问问大哥们这个思路对不对?还是这个思路无法实现?也想知道是哪里错了,知道如何调试。
接下来说一下细节配置。整体思路和 https://forum.openwrt.org/t/using-another-lan-device-in-a-different-subnet-as-gateway/152351 类似但是不完全一致。
配置目标:
初始状态:
新增爬墙 wifi 的改动 v1
在我天真的以为,这样就 ok 的时候,连上 guest wifi 发现完全没有爬墙功能,使用 命令 tracert
查了一下,发现路由如下
C:\Users\bbbbbb>tracert www.bilibili.com
通过最多 30 个跃点跟踪
到 a.w.bilicdn1.com [117.23.60.14] 的路由:
1 1 ms 1 ms 3 ms OpenWrt.ax6kdns [192.168.200.1]
2 2 ms 1 ms 2 ms 100.69.128.1
。。。。。
可以上网,但是没有经过指定的 gateway 。
经过一番搜索,找到了 Using another LAN device in a different subnet as gateway 然后参考配置了一下
改动 v2
配置生效过后,可以在 Routing 看到所有配置
但是测试发生了这样的事情
C:\Users\bbbbbb>tracert www.bilibili.com
通过最多 30 个跃点跟踪
到 a.w.bilicdn1.com [111.225.214.25] 的路由:
1 <1 毫秒 <1 毫秒 <1 毫秒 OpenWrt.ax6kdns [192.168.200.1]
2 2 ms 4 ms 5 ms 192.168.100.22
3 1 ms 1 ms 1 ms OpenWrt.ax6kdns [192.168.200.1]
4 * * * 请求超时。
5 * * * 请求超时。
6 * ^C
后来想了很久,感觉是不是缺少一个 nat ?和 openwrt 论坛里面的人配置对比一下,我没有新建防火墙,我只是复用了之前的 lan 防火墙;没配置防火墙之间的 forwarding ,也没配置 masquerade
/etc/config/network
router -n
ip route
ip rule
发现 ip rule 和 openwrt 中的配置并不一致,很困惑感谢各位大哥的观看(虽然没有人完全解答我的问题)
最后还是换了个方式实现了配置。大概简述下我的操作
整套配置下来,2个wifi都正常、2个子网都可以互相访问,没有隔离、没有碰 route、没有碰rule、没有碰什么iptables,nftables、也没有碰firewall、也没碰vlan、也不再需要手动配置网关了。
很多东西不太懂,了解的越多,困惑的越多。其实很多东西不是不敢碰,而是改动了不知道怎么在openwrt上验证生效。我这个臭写代码的实在是搞不明白了。唉,不过好在搞完了。
1
tootfsg 261 天前 1
我两个路由器实现的,主路由 ros ,无线路由器 360t7 qwrt 。
|
2
donaldturinglee 261 天前 1
我记得是不是要配一下 iptables
|
3
supemaomao 261 天前 via Android
更简单的有两个方法
1:使用 vrrp ,两个网关,默认所有流量都走 op ,op 会分流,国内外都没问题,如果 op 挂了,或者不能爬了(用 shell 脚本判定之类的)切换会另一个网关,这个切换基本无感知。但是这个你得两个路由,我是 ros+op 。 2:路由协议分流,流量都到网关一,如果是国外的,去网关二加密代理,再出去。如果是国内就直接出去。这个你可以只用一个路由,但是你的有一个端点机用于下发路由表,和国外流量出口。 上面两个方法,我是从 1 用到 2 ,现在 2 稳定就不折腾了。 |
4
supemaomao 261 天前 via Android 1
看了一下你的初始状态,你可以用方法 2 ,因为你已经有一个可以 Linux ,可以用来做代理和下发路由的端点机了。
|
5
wuruxu 261 天前 1
直接把 wireguard 配置到硬路由上,可以看我以前的帖子
|
6
dier 261 天前 1
越来越不喜欢折腾了,我是直接一个路由器搞定。OpenClash 规则分流。再加一个 AdGuardHome 过滤一下 DNS
|
7
libregratis 246 天前
openwrt 23.05 用 dhcp options 手动配置一下 tag 即可,openwrt 支持接入设备通告 linux 设备为 gateway 和 dns ,没有被通告的设备会默认正常上网
|