探讨两台软路由实现出国网络分流的最佳方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mouyase
V2EX    宽带症候群

探讨两台软路由实现出国网络分流的最佳方案

  •  
  •   mouyase 2024-04-24 12:01:16 +08:00 4904 次点击
    这是一个创建于 535 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前本人家中的用法

    • iKuai 爱快软路由(双网口)

    负责拨号,DHCP 服务,Docker 部署 AdguardHome

    • OpenWRT(单网口)

    负责跑 ShellClash

    目前的网络配置是,iKuai 爱快软路由中,然后设置 DHCP 默认 DNS 为 AdguardHome 。

    将需要出国的 IP 添加到列表,设置该列表 IP 的下一跳网关到 OpenWRT 。

    OpenWRT 设置旁路模式,网关为 iKai 爱快软路由,DNS 为 AdguardHome 。

    目前实现的效果

    如果 OP 的 Clash 出现故障导致网络无法连通,网关下一跳失败,网络会自动从旁路网关转回本机,于是不会导致断网 如果 OP 的 Clash 正常服务,则可以通过下一跳直接走到旁路网关,通过旁路网关再连接到互联网,实现出国

    目前遇到的问题

    • 首先是走了旁路网关,会导致带宽劣化

    千兆带宽下,正常应该是可以公网下行带宽跑到 945Mbps ,但是走了旁路网关目前只能跑到 600Mbps-700Mbps 之间。

    • 其次是 Nat 状态异常

    目前 iKuai 爱快软路由是开启了 FullCoreNat 全锥形 Nat 的,在没有使用旁路网关的情况下,是非公网 IP 下的最佳 NAT 形式(Nat1),对于 BT 下载,网游联机等具有很大的帮助。但是走了旁路网关之后再测试就会变成 Nat2 。

    理想状态

    • 国内带宽不劣化(国内带宽跑满千兆)
    • 保证 Nat1
    • 可以使用 AdguardHome 做去广告
    • 国内外网络分流,非出国不走代理,不使用海外 DNS 解析
    • 出国离线后网络国内网络不会阻断
    • 可以异地组网(打洞),实现在公网使用本地服务

    不知道诸位坛友们有没有什么更加优秀的方案,欢迎探讨

    25 条回复    2024-04-27 10:06:02 +08:00
    dford
        1
    dford  
       2024-04-24 12:06:36 +08:00
    1,2 去掉旁路由就行了
    3 是它本来就有的功能吧
    4 用 felix on mars 的域名列表分一下流
    5 写个脚本周期性检测一下
    mouyase
        2
    mouyase  
    OP
       2024-04-24 12:25:39 +08:00
    @dford 去掉旁路网关的情况有什么更优秀的方式来做出国吗?
    A1188
        3
    A1188  
       2024-04-24 12:45:47 +08:00 via Android
    爱快多 WAN ,然后其中一个 WAN1 只走国内流量,另一个 WAN2 口就走梯的。。。爱快的 Docker 里跑个 ADG ,爱快 DNS 设置里的 DNS 就填成 ADG 的,实现域名分流,国内域名用国内 DNS ,国外域名用国外 DNS 。然后跑梯子的路由就直接插 WAN2 口就行,就算跑梯的路由挂掉,流量会自己切到 WAN1 的,不影响正常上网。。。
    A1188
        4
    A1188  
       2024-04-24 12:46:50 +08:00 via Android
    @A1188 也不会影响网络的 NAT 类型
    huihuilang
        5
    huihuilang  
       2024-04-24 13:34:32 +08:00
    我旁路由千兆宽带可以跑差不多 900M 。。。顺便说一下 900M 是跑日本小鸡的速度,跑国内测速点其实也差不多,900M+,懒得去折腾了
    povsister
        6
    povsister  
       2024-04-24 14:07:57 +08:00
    你这个旁路使用方式是 !CHNRoutes 固定路由模式(即常说的大陆 IP 白名单机制),属于比较初级的旁路模式。

    再来讲问题
    > 首先是走了旁路网关,会导致带宽劣化
    旁路性能取决于旁路由本身,无法更改,只有两个优化办法:
    * 优化路由选择策略,做到必须走旁路的情况下,再去承担这个性能损耗
    * 旁路软件使用 dae 这种带直连转发加速的代理实现(但是需要额外注意直连流量可能导致路由环路问题)

    > Nat 状态异常
    解决方案只有一个,优化路由策略,能不走旁路就不走旁路。
    否则你只能信任代理软件的承诺,比如 dae 和 xray 都承诺支持 FullCloneNAT

    理想的旁路由模式应该是 DNSRoute ,即 FakeDNS 的优化版,做到全真 IP 。
    放弃使用!CHNRoutes 固定路由,转而使用基于域名的 DNSRoute 。可以看这位大佬的帖子,很详细了。t/1034955
    dont39
        7
    dont39  
       2024-04-24 14:18:46 +08:00
    paopaogateway+paopaodns, 别人整合好的 fakeip 方案,不用折腾太多东西
    x86
        8
    x86  
       2024-04-24 14:21:18 +08:00
    搜爱快自定义运营商 分流方案
    mouyase
        9
    mouyase  
    OP
       2024-04-24 14:52:19 +08:00
    @A1188 这种是不是需要有多条宽带入户呀
    vcn8yjOogEL
        10
    vcn8yjOogEL  
       2024-04-24 15:01:43 +08:00
    主路由用 BGP CN 表+内网 IP 表做 IP 分流, 或者代理网关接 2.5G 口用 geoip 分流(这样更简单, 但所有流量都会绕, 还有 NAT 问题)
    部分需要直连的域名另开一个 set 设置直连, 再设置超时防止过期规则滞留
    建议自己写 nft, mangle_prerouting 匹配入口设备后跳进自己写的分流链就行了, fw4 的 gui 配置功能不全

    AGH 的 UI 不是给大批域名规则设计的, 要么自己用脚本生成要么在后面加一层, 记住不要开多层缓存

    部分行为怪异的软件可以用代理本身提供的 FakeIP DNS 处理, 例如 Steam 似乎只要连接中断就会回退到离线模式, 此时用 FakeIP 可以骗过它
    mouyase
        11
    mouyase  
    OP
       2024-04-24 15:10:24 +08:00
    @A1188
    @dont39
    @x86
    @povsister

    各位说的方案都在看了,受益匪浅了属于是,不过看起来都需要研究验证一阵,估计要再等好多天才能有结果了(
    A1188
        12
    A1188  
       2024-04-24 18:40:48 +08:00
    @mouyase 宽带能多播就行
    Labope03
        13
    Labope03  
       2024-04-24 19:06:56 +08:00
    问一下 主路由直接用 OP 不好吗
    主路由上开 adguardhome 和 clash
    所有问题都解决了
    putaosi
        14
    putaosi  
       2024-04-25 00:29:06 +08:00 via Android
    @mouyase #11 试试我的方案
    mouyase
        15
    mouyase  
    OP
       2024-04-25 09:44:58 +08:00
    @Labope03 直接用 OP 加 Clash ,Clash 会接管所有网络连接,如果 Clash 配置错误挂掉就会导致直接断网,DNS 也会失灵,而且 Nat 会被降级。直接用 OP 当主路由不是解决所有问题的办法,而是最简单但是问题最多的办法。
    VwEI
        16
    VwEI  
       2024-04-25 10:02:05 +08:00
    爱快多 WAN+域名分流 或者 端口分流+非国内跳 openwrt
    zbatman
        17
    zbatman  
       2024-04-25 10:59:59 +08:00
    爱快装 mosdns ,国内外分流,国内走 adguardhome ,国外指向 clash 的 dns ,然后加静态路由 fake-ip 段指向 clash
    linhu66
        18
    linhu66  
       2024-04-26 11:02:12 +08:00
    @mouyase 电信宽带裸连出国
    mouyase
        19
    mouyase  
    OP
       2024-04-26 16:20:27 +08:00
    @linhu66 上海电信精品网?
    mouyase
        20
    mouyase  
    OP
       2024-04-26 16:21:00 +08:00
    @zbatman 这个方案听起来和 PaoPaoGateWay 是相同的操作
    zbatman
        21
    zbatman  
       2024-04-26 16:25:45 +08:00
    @mouyase 没了解过这个东西,可能是配置更简单了
    mouyase
        22
    mouyase  
    OP
       2024-04-26 16:46:16 +08:00
    @zbatman 是的,本质上是把配置简化了的一个方案
    h9VZ3hilI68DVl36
        23
    h9VZ3hilI68DVl36  
       2024-04-26 17:58:33 +08:00
    @zbatman #17 有教程吗
    mouyase
        24
    mouyase  
    OP
       2024-04-26 18:36:44 +08:00
    @hitoto 感觉老哥说的已经相当于教程了……你要是搞不定可以试试上面说的 PaoPaoDNS 和 PaoPaoGateWay
    zbatman
        25
    zbatman  
       2024-04-27 10:06:02 +08:00 via Android
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     998 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:41 PVG 02:41 LAX 11:41 JFK 14:41
    Do have faith in what you're doing.
    ubao 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