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

2024-04-24 12:01:16 +08:00
 mouyase

目前本人家中的用法

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

负责跑 ShellClash

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

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

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

目前实现的效果

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

目前遇到的问题

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

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

理想状态

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

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

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

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

理想的旁路由模式应该是 DNSRoute ,即 FakeDNS 的优化版,做到全真 IP 。
放弃使用!CHNRoutes 固定路由,转而使用基于域名的 DNSRoute 。可以看这位大佬的帖子,很详细了。t/1034955
dont39
2024-04-24 14:18:46 +08:00
paopaogateway+paopaodns, 别人整合好的 fakeip 方案,不用折腾太多东西
x86
2024-04-24 14:21:18 +08:00
搜爱快自定义运营商 分流方案
mouyase
2024-04-24 14:52:19 +08:00
@A1188 这种是不是需要有多条宽带入户呀
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
2024-04-24 15:10:24 +08:00
@A1188
@dont39
@x86
@povsister

各位说的方案都在看了,受益匪浅了属于是,不过看起来都需要研究验证一阵,估计要再等好多天才能有结果了(
A1188
2024-04-24 18:40:48 +08:00
@mouyase 宽带能多播就行
Labope03
2024-04-24 19:06:56 +08:00
问一下 主路由直接用 OP 不好吗
主路由上开 adguardhome 和 clash
所有问题都解决了
putaosi
2024-04-25 00:29:06 +08:00
@mouyase #11 试试我的方案
mouyase
2024-04-25 09:44:58 +08:00
@Labope03 直接用 OP 加 Clash ,Clash 会接管所有网络连接,如果 Clash 配置错误挂掉就会导致直接断网,DNS 也会失灵,而且 Nat 会被降级。直接用 OP 当主路由不是解决所有问题的办法,而是最简单但是问题最多的办法。
VwEI
2024-04-25 10:02:05 +08:00
爱快多 WAN+域名分流 或者 端口分流+非国内跳 openwrt
zbatman
2024-04-25 10:59:59 +08:00
爱快装 mosdns ,国内外分流,国内走 adguardhome ,国外指向 clash 的 dns ,然后加静态路由 fake-ip 段指向 clash
linhu66
2024-04-26 11:02:12 +08:00
@mouyase 电信宽带裸连出国
mouyase
2024-04-26 16:20:27 +08:00
@linhu66 上海电信精品网?
mouyase
2024-04-26 16:21:00 +08:00
@zbatman 这个方案听起来和 PaoPaoGateWay 是相同的操作

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/1035217

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX