爬墙 wifi 配置的疑问 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
zhaogaz
V2EX    OpenWrt

爬墙 wifi 配置的疑问

  •  
  •   zhaogaz 2024-03-07 00:47:22 +08:00 1722 次点击
    这是一个创建于 666 天前主题,其中的信息可能已经有所发展或是发生改变。

    最近有个想法,想在局域网搞个‘旁路由’。想爬墙方便点,同时不影响主要网络结构。但是觉得手动修改网关、dns 等觉得太麻烦了,决定在主路由上面搞一个固定爬墙网关 的 wifi ,爬墙 wifi 和普通 wifi 共存。

    试验了一下,没有成功。想问问大哥们这个思路对不对?还是这个思路无法实现?也想知道是哪里错了,知道如何调试。

    接下来说一下细节配置。整体思路和 https://forum.openwrt.org/t/using-another-lan-device-in-a-different-subnet-as-gateway/152351 类似但是不完全一致。

    配置目标:

    • 想要爬墙的时候,就可以链接爬墙 wifi ,同时不影响局域网访问任何东西
    • 想要精细爬墙的时候,可是使用普通家庭 wifi
    • 爬墙服务坏掉了,只影响爬墙 wifi 。完全不需要任何修改,主链路继续上网

    初始状态:

    • 主路由是 redmi ax6000 ; openwrt 原生系统;版本 23.05 (基本上啥都没装)
    • 光猫桥接,主路由 pppoe 拨号
    • lan 网段是 192.168.100.1/24
    • 有一个爬墙的 linux 地址是 192.168.100.22 ,部署了一个 xary 透明代理 ;手动修改网关测试没问题
    • 192.168.100.11 有一个 nas

    新增爬墙 wifi 的改动 v1

    • 新建一个 static address 的 interface 名叫 proxy 。配置 ip 为 192.168.200.1/24 ;设置 dhcp ;关闭 v6 ;加入防火墙 lan ;同时配置 gateway 为 192.168.100.22
    • 新建 一个 wireless network ( wifi )名叫 guest ,选定 network 为上一步中配置的 proxy

    在我天真的以为,这样就 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

    • 新增 ipv4 rules ipv4 规则,设置 proxy interface 的流量走 table 100
    • 设置 静态 ipv4 路由,其中 interface 为 lan ; target 为 0.0.0.0/0 即全流量; gateway 为 192.168.100.22 即 代理网关; 同时设置为 table 100
    • 回滚 proxy interface 中 gateway 配置 为空

    配置生效过后,可以在 Routing 看到所有配置

    https://imgur.com/a/9xY9Pmf

    但是测试发生了这样的事情

    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

    1. 我自己想了半天,还是很迷惑,希望能有大哥指指路(跪谢)说明下到底是为什么
    2. 在配置过程中,反复查看 /etc/config/network router -n ip route ip rule 发现 ip rule 和 openwrt 中的配置并不一致,很困惑
    3. 大哥们有没有其他更简单的做法,指指路。
    第 1 条附言    2024-03-07 12:38:32 +08:00

    感谢各位大哥的观看(虽然没有人完全解答我的问题)

    最后还是换了个方式实现了配置。大概简述下我的操作

    1. 新建一个 叫 proxy 的 interface 配置了另一个网段,开启了dhcp,分了一个物理接口
    2. 物理接口接入 爬墙linux
    3. proxy 的 dhcp 分配 爬墙linux 为网关
    4. 新建一个wifi 加入到 proxy interface 中
    5. proxy 和 lan 共用一个 lan的防火墙

    整套配置下来,2个wifi都正常、2个子网都可以互相访问,没有隔离、没有碰 route、没有碰rule、没有碰什么iptables,nftables、也没有碰firewall、也没碰vlan、也不再需要手动配置网关了。

    很多东西不太懂,了解的越多,困惑的越多。其实很多东西不是不敢碰,而是改动了不知道怎么在openwrt上验证生效。我这个臭写代码的实在是搞不明白了。唉,不过好在搞完了。

    7 条回复    2024-03-21 18:26:52 +08:00
    tootfsg
        1
    tootfsg  
       2024-03-07 01:41:35 +08:00   1
    我两个路由器实现的,主路由 ros ,无线路由器 360t7 qwrt 。
    donaldturinglee
        2
    donaldturinglee  
       2024-03-07 01:45:55 +08:00   1
    我记得是不是要配一下 iptables
    supemaomao
        3
    supemaomao  
       2024-03-07 01:53:47 +08:00 via Android
    更简单的有两个方法
    1:使用 vrrp ,两个网关,默认所有流量都走 op ,op 会分流,国内外都没问题,如果 op 挂了,或者不能爬了(用 shell 脚本判定之类的)切换会另一个网关,这个切换基本无感知。但是这个你得两个路由,我是 ros+op 。
    2:路由协议分流,流量都到网关一,如果是国外的,去网关二加密代理,再出去。如果是国内就直接出去。这个你可以只用一个路由,但是你的有一个端点机用于下发路由表,和国外流量出口。
    上面两个方法,我是从 1 用到 2 ,现在 2 稳定就不折腾了。
    supemaomao
        4
    supemaomao  
       2024-03-07 01:59:41 +08:00 via Android   1
    看了一下你的初始状态,你可以用方法 2 ,因为你已经有一个可以 Linux ,可以用来做代理和下发路由的端点机了。
    wuruxu
        5
    wuruxu  
       2024-03-07 07:23:12 +08:00   1
    直接把 wireguard 配置到硬路由上,可以看我以前的帖子
    dier
        6
    dier  
       2024-03-07 09:05:00 +08:00   1
    越来越不喜欢折腾了,我是直接一个路由器搞定。OpenClash 规则分流。再加一个 AdGuardHome 过滤一下 DNS
    libregratis
        7
    libregratis  
       2024-03-21 18:26:52 +08:00
    openwrt 23.05 用 dhcp options 手动配置一下 tag 即可,openwrt 支持接入设备通告 linux 设备为 gateway 和 dns ,没有被通告的设备会默认正常上网
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2477 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 12:02 PVG 20:02 LAX 04:02 JFK 07:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86