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

246 天前
 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 。

理想状态

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

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

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

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

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

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

部分行为怪异的软件可以用代理本身提供的 FakeIP DNS 处理, 例如 Steam 似乎只要连接中断就会回退到离线模式, 此时用 FakeIP 可以骗过它
mouyase
246 天前
@A1188
@dont39
@x86
@povsister

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

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

https://www.v2ex.com/t/1035217

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

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

© 2021 V2EX