1
yyysuo OP 再多说几句,主题是如何分流,其实分流完成后,对于需要代理的域名发 fakeip 直接远程解析即可,不需要使用解析出来的 ip ,否则有可能出现 8888 走了美国代理,解析出对美国友好的 IP ,奈飞选了新加坡节点,要么速度慢,要么解锁失败的情况。
|
2
gfreezy 34 天前
自动探测,同时建立 2 个连接:通过代理和直连。哪个先建立成功就用哪个。然后缓存结果,下一次直接使用缓存的结果,同时再探测一下更新缓存。
除了 DNS 污染的极端情况,不需要黑名单也不需要白名单 |
3
xiaooloong 34 天前
|
4
yyysuo OP @xiaooloong ip 哪来的呢?逃不开 dns 的,既然 dns 都能分好了,就不需要 ip 再分一次。
|
6
Kinnice 34 天前
拿几乎不要钱的国内 阿里云/腾讯云 VPS, 自建了 DNS (doh/dot)服务器, 支持 ECS
- 国内域名名单直接走支持 ECS 的国内 DNS - 其他域名走支持 ECS 的境外 DNS ( ip 直连的 doh ) - 乐观 cache - ttl ++ 本地也不用跑一堆东西 解析到的 IP 始终是纯净的 境内的话是归属地友好 mihomo/sb 等都支持嗅探,因此给到代理服务器的还是域名,不用担心流媒体异常 |
10
jqtmviyu 34 天前
我现在是
国内白名单, 用国内 dns 名单外先用国外 dns, 附带 ecs, 如果解析为国内, 再用国内 dns 解析一次. 分流策略最终还是要结合工具的. 你说的方法, 光靠 clash 我没想到该怎么实现. |
12
wu67 34 天前
国内域名 ip 直连, 其他全部代理. 自己用的规则自己维护就行.
|
16
ljn917 34 天前 via Android
国内 DNS 解析出国外的 IP ,或者国外 DNS 解析出国内,这两种是可以确定最佳策略的。其他两种情况就只能手动列表。
|
17
isAK47 34 天前
国内 IP 直连,非国内 IP 走代理,不需要什么域名列表
|
18
xiaooloong 34 天前
@yyysuo #4 ip 从 dns 来是因为用的 dns 缓存服务器。递归交给外部网络做了。
企业级别的防火墙或者网关的 dns 服务都是支持自己做递归,直接去域名权威 dns 上查询结果的。这样 dns 就是从 ip 来的了。只用做 IP 分流即可。 |
19
yyysuo OP @xiaooloong 递归没缓存很慢吧,特别是第一次访问的时候。这真是另外一条赛道了,看他们搞 bgp 分流,据说体验也不错,不过门槛比较高。
|
20
beijiaoff 34 天前
说句没啥建设意义的情绪话,没有 100%完美的方案,复杂度、易用性、有效性的三角。要是没有墙就好了
|
21
yyysuo OP @beijiaoff 没说完美啊,现状下仅从体验来讲最好的,家里路由上部署全透明,ios 侧 sing-box 从来不关,国内国外没遇到卡顿访问不了的情况,可以了。
|
22
vinsony 34 天前
我是国内域名国内 dns 解析,国外域名国外 dns 解析,不在列表内的域名国内外同时解析连速度最快的那个,代理根据 IP 分流
|
23
hzw 34 天前
国内的对象全部直连 国外的对象全部代理
不就行了吗 也是很简单的策略 一句话就说清楚了呀 dns 是后面的具体操作了 直连的走 ali 企鹅的 public dns ,代理么就都不用管了 至于怎么判断直连代理 其实也不难的 就是你说的黑白名单,国内走白名单,白名单外全部代理 国内白名单用 geo 库,基本是全部覆盖的 感觉现在分流不是什么大问题 |
24
bigshawn 34 天前
不太懂,但是感觉跟 sing-box 的 dns 规则挺像的
|
27
NoCloud 34 天前
感觉对普通人来说,都不用考虑泄露的问题,速度和准确性优先就完事了。
被重点关注、因为 DNS 泄露了访问记录就会被盯上的网站基本都在 gfwlist 上了;其他的有一两只漏网之鱼也无所谓。 真踩红线了,就算全局也没用。 |
28
basncy 34 天前
@Kinnice #8 @gfreezy #2 @yyysuo #13
bing.com 和 部分 adtrafficquality.google 等, 都能解析到正确 ip , 但国内外提供的服务不一样。 |
30
JustdoitSoso 34 天前 via Android
我用的代理软件是 clash ,clash 可以用这个吗?如果问题太白痴了可以不回答,我也在线 dns 解决方案。暂时没真找到自己想到的……
|
32
povsister 34 天前
唉。fakeip
|
34
xpn282 34 天前 via iPhone
早就不玩 dns 了,dns 只用运营商的了
现在整体思路就是,国内域名和 ip 直连,其他全部代理。其中黑名单的域名本地不解析,足够了,不搞那些有得没得,使用下来毫无意义,对我而言 |
35
frankilla 33 天前 via iPhone
同楼上,折腾这么几年根本不想折腾了,而且泄露真的很重要吗,一点也不。
|
37
likai 33 天前 via Android
最近刚玩分流碰到一个问题。
一个用了 cdn 的威尼斯网站, 国内正常可访问, 禁止代理访问。 用上分流之后,就访问不了了。 将域名和 cname 域名加白名单都没用。 |
39
SodaPopBoy 33 天前 via Android
而我,只想抄作业
|
40
yyysuo OP @SodaPopBoy append 里面有作业,你抄不抄?
|
41
maybeonly 33 天前
我现在的实现是这样的:
基础的还是白名单+ip 分流+自建递归 +黑名单直接用 1111 解析的 然后每天在 gww (宽带出口)上收集来自递归服务器的访问 udp 53 端口的请求 夜里解析这些域名,然后动态扩充白名单。 这些累积的白名单目前是 3 个月校对一次 基本逻辑还是那个:有任何一层权威在墙内的就算墙内域名。 实际上遇到过的问题:有些域名在 dnspod 或者 ali 上,但是只能通过海外访问,这些就得手工配置了…… |
42
yyysuo OP @maybeonly
自动扩充域名列表我是直接在 mosdns 配置 lazy_cache (过期缓存/分流结果)并永久保存来实现的,家庭使用,目前的条目数没超过 2 万条,mosdns 处理这点数据是没有压力的,其它方案规则数据量多了,不知道效率如何。 我目前域名基本上都是自动处理,极少需要(基本没有)手动添加规则,不明白你说的只能海外访问的域名是哪类,像这种吗? https://www.fx168news.com/ |
43
wm5d8b 33 天前 via Android
现在不少国外域名使用的 cdn ,在国内有了节点,直接访问速度比代理不知道高到哪里去了。
但是呢,这个国内节点你得使用运营商的 dns 才能解析到。而且这个国内节点不是电信联通移动都能解析并访问,可能只有其中一两家能访问,其他运营商还是得访问国外的 cdn 节点,这样还是得走代理,否则慢得不能接受。 就这个情况,要自己一个人不断维护不太现实。因为大家使用的运营商不一样,相同运营商南方北方还不一样,也就杜绝了共同维护一份的可能。 以上情况和墙完全没关系,纯纯就是访问速度带来的分流问题了,没有能解决的方案 |
45
Goooooos 33 天前
纯 IP 的例子很多
1. telegram 2. 软件内建的 httpdns |
46
yyysuo OP @Goooooos 我主帖说了纯 IP 特殊处理,目前已知的是国外 dns ip 、电报 ip 、奈飞安卓 tv 端 ip ,其它暂时没发现; httpdns 知道了也管不了,也不用管。
|
47
lw4free 33 天前 1
目前我的 dns 是这样实现的
1:广告域名拦截 2:国外黑名单走 fakeIP 3:国内白名单走运营商 dns 查询 4:其它域名先走运营商 dns 查询,结果如果不匹配国内 IP 再走 fakeIP 设定 fakeIP 持久化 ttl 为 10 秒 |
48
yyysuo OP @lw4free 棒,咱俩一样,说分流的事儿,我就没在主帖中提 fakeip ,我 fakeip ttl 是 1 秒,理论上不持久化也行,不过还是持久化的好,要不然安卓 tv 看奈飞会转圈。
|
52
yyysuo OP @likai 加了白名单是可以的,确实屏蔽了代理访问。
nkvod.com 2406:da18:2d6:bf00:6957:2a07:7286:c0ac hm.baidu.com 2408:871a:2100:10ea:0:ff:b011:69 media-gslz-fy-home.gs7oss.ctyunxs.cn 240e:935:a04:1001::3 pic.rmb.bdstatic.com 2408:8726:7000::3cdd:1223 qb.xn--it-if7c19g5s4bps5c.com 121.62.31.111 |
54
lw4free 33 天前
@sicifus 我是使用 routedns 作为 dns 分流和改变 ttl sing-box 实现 tun 模式下的代理和 fakeIP 的持久化
mosdns 可以实现 routedns 同样的功能 sing-box 基于 TProxy 模式也能实现 但不能基于其他入站方式例如 socks 否则 dns 分流就不起效了 sing-box 的内置 dns 功能不能实现功能 4dns 查询后再匹配 使用 xray 应该可以实现所有功能 不过好像不能 fakeIP 持久化和改变 ttl 不是那么理想 |
55
yyysuo OP @lw4free sing-box 可以的
"dns": { "servers": [ { "tag": "google", "address": "https://8.8.8.8/dns-query", "detour": "♻️ 自动选择" }, { "tag": "local", "address": "202.102.213.68", "detour": "DIRECT" }, { "tag": "ban", "address": "rcode://success" }, { "tag": "remote", "address": "fakeip" } ], "rules": [ { "outbound": "any", "server": "local" }, { "clash_mode": "Direct", "server": "local" }, { "clash_mode": "Global", "server": "google" }, { "rule_set": "ads", "domain_suffix": [ "pcmanager.microsoft.com", "officeplus.cn", "scorecardresearch.com", "nelreports.net" ], "server": "ban", "disable_cache": true }, { "rule_set": [ "geosite-geolocation-cn", "playstation" ], "domain_suffix": [ "myds.me", "dynv6.net", "dynv6.com", "asuscomm.com" ], "server": "local" }, { "type": "logical", "mode": "and", "rules": [ { "rule_set": "geosite-geolocation-!cn", "invert": true }, { "rule_set": "cnip" } ], "server": "google", "client_subnet": "114.114.114.114/24" }, { "query_type": [ "A", "AAAA" ], "server": "remote" } ], "fakeip": { "enabled": true, "inet4_range": "198.18.0.0/15", "inet6_range": "fc00::/18" }, "reverse_mapping": true, "independent_cache": true }, |
57
yyysuo OP @likai 自己在 whitelist.txt 中添加上这个域名,你上面不是说加了白名单也不能访问吗,默认确实不能访问,因为这个站只允许大陆 IP ,这个是规则无法判断的。
|
58
likai 33 天前
whitelist 加了这个网址的,
cname 那个域名也加了, 奇怪了. |
59
YGBlvcAK 33 天前 via Android
这不是我老早发过的吗?参考我的配置了吧?哈哈
|
61
yyysuo OP @lw4free 你说那段带 bssid 的逻辑?就是在不连接家里 wifi 的时候,走 directm 出站,directm 出站绑定了 pdp_ip0 接口,就是 iphone 自带的移动数据接口,可以在连接 wifi 的时候,也走手机流量。
|
64
vokins 32 天前
我的是自己常用国外 app 手机的域名走代里(自己维护了一个列表)剩下的全部直连。
|
65
scegg 32 天前
mosdns 用了这个配置后,cloudflared 会挂,报错是域名解析不到 srv 记录。
dig srv _origintunneld._tcp.argotunnel.com ANSWER SECTION 就没了 可能跟某个 sequence 的处理有影响吧。 |
66
yyysuo OP @scegg 非 a 和 aaaa 的除了 12 和 65 都走了 8888 ,你这个 33 ,走了 8888 ,mosdns 的 socks5 服务器配置了吗,mosdns 的 socks5 ,只支持 tcp ,8888 要用 doh
|
69
scegg 31 天前
@yyysuo 不过可能还有别的问题。用的你在 https://github.com/IrineSistiana/mosdns/discussions/837 中 1199 的方案文件,修改了 forward_google 为 tcp://8.8.8.8 和 tcp://1.1.1.1 ,2 并发均带 socks5 之后,问题依旧:dig srv _origintunneld._tcp.argotunnel.com 没有 answer
|
71
metalvest 29 天前 via Android
抄 append 作业时 sing-box 的 config.json 报错 lazy_cache 字段 unknown 是怎么回事
daemon.err sing-box[6039]: [31mFATAL [0m[0000] decode config at /etc/sing-box/config.json: dns.lazy_cache: json: unknown field "lazy_cache" |
73
yyysuo OP @scegg 这个配置的 dns type 优先级高于 whitelist.txt ,这种情况加白名单无效。默认情况下我试了一下,返回是没问题的。
PaoPao_MosUI:~# dig srv _origintunneld._tcp.argotunnel.com 10.10.10.1:5454 ; <<>> DiG 9.18.29 <<>> srv _origintunneld._tcp.argotunnel.com 10.10.10.1:5454 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27316 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1200 ;; QUESTION SECTION: ;_origintunneld._tcp.argotunnel.com. IN SRV ;; ANSWER SECTION: _origintunneld._tcp.argotunnel.com. 143 IN SRV 2 1 7844 region2.argotunnel.com. _origintunneld._tcp.argotunnel.com. 143 IN SRV 1 1 7844 region1.argotunnel.com. ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP) ;; WHEN: Mon Nov 25 09:14:02 CST 2024 ;; MSG SIZE rcvd: 215 ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 48634 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1200 ;; QUESTION SECTION: ;10.10.10.1:5454. IN SRV ;; AUTHORITY SECTION: . 86399 IN SOA a.root-servers.net. nstld.verisign-grs.com. 2024112401 1800 900 604800 86400 ;; Query time: 210 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) (UDP) ;; WHEN: Mon Nov 25 09:14:03 CST 2024 ;; MSG SIZE rcvd: 119 |
75
yyysuo OP @metalvest 找一下有没有你的架构 话说 mosdns 你也得自己去找核心啊 https://github.com/PuerNya/sing-box/actions/runs/10412051372
|
77
metalvest 29 天前
@yyysuo #75
这链接里的 build 好像是失败了? sing-box-1.10.0-alpha.29-067c81a7-linux-arm64 Expired Annotations 1 warning Failed to restore: "/usr/bin/tar" failed with error: The process '/usr/bin/tar' failed with exit code 2 |
81
yyysuo OP @metalvest 原来用 shellcrash ?那用我上面粘的那段长长的 sing-box dns 配置,可以勉强模拟 mosdns 的逻辑,在 shellcrash 的基础上改一下应该可以。
|
82
canyue7897 28 天前 via iPhone
买个落地就行了
专门用来干这个 |