终极的分流策略

2024 年 11 月 20 日
 yyysuo
这里聊的是分流策略,不是 fakeip 、bgp 、ospf 、ipset 、ipt 、nft 等分流用到的技术手段,也不是 sing-box 、mihomo 等核心,更不是 openclash ,小猫咪等集成代理工具。

首先要确定分流的对象,互联网上的访问需要分流的,就是域名,没有对应域名纯 IP 访问的场景极其有限,可以做特殊处理。

分流总体上可以分为 2 类,直连和代理,需要代理的域名就直接引入到 sing-box/mihomo 等代理程序中进一步分流即可,代理程序按域名分流十分成熟了。

那如何判断一个域名需要代理呢?目前有各种域名列表,直连域名列表、gfwlist ,基本上覆盖了大部分常用的域名,重点是那些没在域名列表中的域名,虽然访问的机率小,其实是海量的,永远也无法维护完全的。

于是就产生了白名单和黑名单 2 种模式,即不在列表中的域名,要么全走国内 dns 解析,要么全走国外 dns 解析。可能遇到尴尬的场景,黑名单模式下,某个人个博客不在 gfwlist 列表中,无法访问,需要手动添加域名至 gfwlist ;白名单模式下,某国内购物网站突然定位到了国外,出停车场时扫码付费一直在转圈,因为小程序的域名 xxx.top 只做了国内解析,国外 dns 压根没解析结果。

对于这种尴尬,解决的办法有两种
1:列表外域名国内 dns 解析,解析结果为国外 IP/无 IP 的,使用国外 dns 再解析一次,速度快,dns 有泄露。
2:列表外域名国外 dns 解析,附加上国内 ip 作为 ecs ip ,速度慢,结果可能不够精确,dns 无泄露。

当然还有很多细节问题,比如方法 2 就无法解决国外 dns 无解析结果的情况,需要回落到国内 dns 做 2 次解析,可以添加过期缓存来保存分流结果等等等等,需要慢慢打磨。

以上 2 种方法,对域名列表的依赖度大大降低了,基本上可以自动分流不在列表中的域名,分流精度大大提高,体验极佳。

推荐方法 1 ,速度快,dns 逻辑处理起来更简单。
13440 次点击
所在节点    宽带症候群
90 条回复
yyysuo
2024 年 11 月 20 日
@beijiaoff 没说完美啊,现状下仅从体验来讲最好的,家里路由上部署全透明,ios 侧 sing-box 从来不关,国内国外没遇到卡顿访问不了的情况,可以了。
vinsony
2024 年 11 月 20 日
我是国内域名国内 dns 解析,国外域名国外 dns 解析,不在列表内的域名国内外同时解析连速度最快的那个,代理根据 IP 分流
hzw
2024 年 11 月 20 日
国内的对象全部直连 国外的对象全部代理
不就行了吗 也是很简单的策略 一句话就说清楚了呀 dns 是后面的具体操作了 直连的走 ali 企鹅的 public dns ,代理么就都不用管了
至于怎么判断直连代理 其实也不难的 就是你说的黑白名单,国内走白名单,白名单外全部代理
国内白名单用 geo 库,基本是全部覆盖的
感觉现在分流不是什么大问题
Mar5
2024 年 11 月 20 日
不太懂,但是感觉跟 sing-box 的 dns 规则挺像的
yyysuo
2024 年 11 月 20 日
@vinsony 这种如果有被污染的列表外域名就处理不了了。
vinsony
2024 年 11 月 20 日
@yyysuo #25 那必须要污染的 IP 可用而且比真实的快,平时访问的网站也就那几个,基本上不存在这种问题
NoCloud
2024 年 11 月 20 日
感觉对普通人来说,都不用考虑泄露的问题,速度和准确性优先就完事了。
被重点关注、因为 DNS 泄露了访问记录就会被盯上的网站基本都在 gfwlist 上了;其他的有一两只漏网之鱼也无所谓。
真踩红线了,就算全局也没用。
basncy
2024 年 11 月 20 日
@Kinnice #8 @gfreezy #2 @yyysuo #13
bing.com 和 部分 adtrafficquality.google 等, 都能解析到正确 ip , 但国内外提供的服务不一样。
Byleth
2024 年 11 月 20 日
@gfreezy 这个对于检测到中国 IP 后跳转中国特供阉割服务的网站不行,比如领英
JustdoitSoso
2024 年 11 月 20 日
我用的代理软件是 clash ,clash 可以用这个吗?如果问题太白痴了可以不回答,我也在线 dns 解决方案。暂时没真找到自己想到的……
gfreezy
2024 年 11 月 20 日
@Byleth 这种情况只能把域名直接加规则里面。
@yyysuo 自己实现的。
povsister
2024 年 11 月 20 日
唉。fakeip
yyysuo
2024 年 11 月 20 日
@basncy 这种是需要特殊处理的
xpn282
2024 年 11 月 21 日
早就不玩 dns 了,dns 只用运营商的了

现在整体思路就是,国内域名和 ip 直连,其他全部代理。其中黑名单的域名本地不解析,足够了,不搞那些有得没得,使用下来毫无意义,对我而言
frankilla
2024 年 11 月 21 日
同楼上,折腾这么几年根本不想折腾了,而且泄露真的很重要吗,一点也不。
zyqf2016
2024 年 11 月 21 日
@Kinnice 在公网自建 dns 可能有较大风险
likai
2024 年 11 月 21 日
最近刚玩分流碰到一个问题。
一个用了 cdn 的威尼斯网站,
国内正常可访问,
禁止代理访问。
用上分流之后,就访问不了了。
将域名和 cname 域名加白名单都没用。
yyysuo
2024 年 11 月 21 日
@likai 发出来看一下呀 可能换个节点就好了
SodaPopBoy
2024 年 11 月 21 日
而我,只想抄作业
yyysuo
2024 年 11 月 21 日
@SodaPopBoy append 里面有作业,你抄不抄?

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

https://study.congcong.us/t/1091065

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

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

© 2021 V2EX