-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature] 能否在 Wiki 加上 "实验性:绕过中国大陆 IP" 具体实现的流程图 #3467
Comments
所以如果DNS设置是禁用“本地DNS劫持”的话,绕过大陆IP的选项就是不生效的是吗? |
是的 绕过大陆IP 就是劫持本地 DNS先做一次分流 日志启动后 有这样一条 ”在 FAKE-IP 模式下绕过中国 IP 可能会导致 Dnsmasq 加载时间过长,暂时劫持 DNS 至内核直到 Dnsmasq 正常工作“ |
楼主说得非常好,绕过大陆ip这个功能,dnsmasq分流一次,进入clash内核再分流一次,造成了很多问题,我反正觉得是没有必要,目前是meta+fakeip+tun+停用dns劫持+关闭绕过大陆,体验非常好。 |
我开启meta内核后,adguardhome日志里客户端全都是127.0.0.1 |
绕过大陆IP是为了分流!! 减少Clash Core 占用. 很多人用AdGuardHome 或者 SmartDNS/MosDNS 前置分流也是一个道理 谁是谁的上游 DNS为了无污染解析还是分流 所以希望 wiki 画张 类似 Clash Meta 的图 *红字的功能和实验性用不了 更加搞不懂 |
同求,另外能否请教一个问题,如果使用mosDNS前置分流,是否是指mosDNS转发非大陆请求到openclash?这是不是会导致openclash仅接到IP请求,从而openclash只能IP规则分流(域名已经被mosDNS用掉了)域名规则失效? |
还没有折腾过 MosDNS 是转发器 根据域名和IP表分流 https://songchenwen.com/tproxy-split-by-dns 如图 fallback 才用到DNS服务器解析成 IP 分流. 「 插件设置 - GEO 数据库订阅 把 GeoIP Dat 和 GeoSite 这两个库的自动更新打开,都选 Loyalsoldier 的版本,这个是用来给 mosdns 用的。 OpenClash 的绕过大陆IP 只有域名规则命中才走114解析 不属于大陆IP段的和不在域名规则的才入站 Clash 核. 应该问在域名规则中 但被114解析到国外IP 入站 Clash 是域名还是IP 我猜是 IP |
很不错的文章,我准备试试这个方案,我不需要AD,我就直接转发到MosDNS,分流后给clash,我已经很长时间使用了单独的clash,实在是无法满意,如果不开绕过IP,那么性能开销是一回事,还会把所有的流量都计算在旁路由头上,流量统计和QOS失效,如果开启绕过大陆,又会导致一些域名/IP没有被正确代理 |
开绕过大陆只为了性能开销,我的辣鸡设备关了绕过就跑不满千兆了 |
更新到 v0.45.141-beta Fake IP 增强模式 使用防火墙转发 黑白名单添加 不走代理的局域网设备 IP/MAC 192.168.2.21 macOS 192.168.2.10 Windows 后台查看日志如上两台设备还是进了内核 断电重启主路由 旁路网关后,日志内只会出该.2.21 macOS 有如下地址 WRN [TCP] dial failed error=dial 的请求 其中 2023-09-18 14:03:45 INF [UDP] connected lAddr=192.168.2.21:49838 rAddr=time.g.aaplimg.com:3478 mode=rule rule=SrcIPCIDR(192.168.2.21/32) proxy=DIRECT Config 加了 - SRC-IP-CIDR,192.168.2.10/32,DIRECT - SRC-IP-CIDR,192.168.2.21/32,DIRECT 是为了保底 查询是 DNS TXT record 不知道Windows 设备为何也会有这个请求 ,黑白名单不走代理 等于添加了 iptable 规则分流。 观察日志仅有这条UDP请求进入到Clash 目前注释掉 - SRC-IP-CIDR 规则,并添加 time.g.aaplimg.com Proxy 观察 |
另外 使用 黑白名单添加 不走代理的局域网设备 是为了远程NAT打洞使用. 最近折腾 Tailscale / 推友拿它开源版编译 加了国内 DERP 的 xEdge. 并不想回退到兼容NAT友好的 Redict HOST 模式 |
很遗憾,尝试了,目前发现两个问题:
想要实现无论 |
经过查询 发现终端设备 Config 文件内的 Fake IP filter 并不会被写入 需要手动配置TUN Mode 或者 Mixin 以上问题的产生是 类似打洞请求 controlplane.tailscale.com & *.xedge.cc 被 Fake IP 映射 走 169.254.0.0/16;100.64.0.0/16 出口 不能成功被OpenWrt 配置的防火墙黑白名单规则过滤 入站到OpenClash核 与其他内网其他设备占用的已存在的 80 443 端口请求重合导致路由表混乱导致的 还观察到同类型非本机发出莫名其妙的 wecha baidu weibo 等错误请求 经过终端Clash for Windows GUI 手动修改 TUN Mode 已解决 但又遇到以下 UDP 53449 41641 (Tailscale 防火墙默认开口 进入OpenClash 修改 插件设置---黑白名单----绕过核心的来源端口 添加 53449 41641 问题依旧 ~~ 😮💨 |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days |
请教一下,如果想在Fake-IP模式下通过黑白名单控制局域网设备是否走代理的话(设置里依然用dnsmasq转发),能否在dnsmasq环节就进行分流处理? |
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days |
Verify Steps
Describe the Feature
折腾了一周 OpenClash, 建议 Wiki 区画一张类似 Clash.Meta 的 DNS 解析流程图
搜索遇到很多的问题,为了配合更复杂的 SmartDNS/MosDNS; AdGuardHome 等等会涉及到关于 DNS 分流这部分的解析路径问题,方便使用者理解
已知:
Describe the Solution
目前遇到以下问题的解法 均未使用 Meta 内核
开启Fake-IP模式 选择绕过大陆IP 选择Dnsmasq转发 希望终端设备 .2.12 不走代理.
日志大量DNS请求报错
Config内配置 - SRC-IP-CIDR,192.168.2.12/32,DIRECT 实现本机不走代理. 此种情况下 流量依旧入站 OpenClash 核心, 日志观察到的是 类似 proxy=DIRECT lAddr=192.168.2.21:6109 rule=SrcIPCIDR rulePayload=192.168.2.21/32 出现大量 WRN [TCP] dial failed error 日志 大量 报错 WRN [TCP] dial failed error #3454 的原因是 终端PC CFW 配置了
fallback:
因此时是 DIRECT 所以国外的DNS间歇性被墙 终端PC删掉 fallback 就可以
终端 CFW无法使用代理
因为梯子提供商提供的是国内域名 类似 xx.xxx.xyz 并不在 添加在 Dnsmasq 2w多条域名列表中, 所以入站 OpenClash 核心, 按规则一条条往下 直到 Geo-IP, Direct Match, Proxy 得到的是 Fake-IP 映射假IP !最终使用海外落地节点解析. 流量回环! 所以连不上;
添加 梯子提供商订阅内的几个域名( 国内入口) 到 fake-ip-filter: 中 或者写规则 - DOMAIN, xx.xxx.xyz, Direct 可以使终端使用CFW代理 OpenClash logs 内显示的是 proxy=DIRECT lAddr=192.168.2.21:61095 rAddr= xxx.xx.xyz:443 rule=SrcIPCIDR rulePayload=192.168.2.21/32
苹果设备待机耗电量 [Bug] R2S 旁路由运行 OpenClash 严重增加局域网内 iPhone 待机耗电 #2614
查看 logs 请求 均是 类似 数字+courier.push.apple.com:5223 的请求, 匹配了 Rule -DOMAIN-SUFFIX, apple.com, Apple(Direct) 但被国内 DNS 解析到海外IP. 在苹果规则 Rule-Set 之上 添加一条 DOMAIN-SUFFIX, courier.push.apple.com,Proxy 歪打正着
Describe Alternatives
按照 OpenClash 的绕过大陆IP 的实现是先匹配添加至 Dnsmasq 中的国内站点域名表 2w多条,在这个域名表中的使用 默认114.114.114.114 来进行解析为真实的 IP ,再匹配写入 iptables 中添加中国大陆 IP 段. 无法匹配才入站 OpenClash (Google Facebook Twitter等 不匹配域名表直接入站;caixin 在列表中,但可能会被 114 解析成海外IP,无法匹配也会入站.
1, 既然已经匹配过一次筛选出需要代理的绝大部分域名DNS请求 还需要配置nameserver 参数么? 在 iptables 中添加中国大陆 IP 段其实就是 GeoIP, Direct 规则匹配的 区别是前者Dnsmasq 中根据域名分类DNS请求, 后者匹配不成功域名规则才向 nameserver 查询DNS请求来配对GeoIP 规则. 我不清楚苹果的某些域名在不在那 两万多列表内. 按某些情况下 需要Apple规则都走代理. 是需要入站到 OpenClash内再次选择的 方便添加规则 譬如 courier.push.apple.com 走代理 ;或者解决 某些PodCast 即使美区依旧无法搜索到内容的情况
2, 被默认 114解析到海外IP的情况 譬如 caixin.com 在Dnsmasq 域名表内, 但有很大几率查询到海外IP,OpenClash 可配置 nameserver-policy: '+.caixin.com': '61.132.163.68' 解决默认 nameserver 不友好的情况
3, 国内小众域名譬如 ddys.art ;梯子商的国内入口. 走 OpenClash 不匹配规则需要 Match, Direct/Proxy 之间调试
4, Clash 的规则分流广告已经很好了 没必要在去折腾 去广告 AdguardHome (反而更慢 ,用AdGuardHome 的 Web 管理页面轻松实现内网设备是否走代理倒是有意义的
5, SmartDNS/MosDNS 国外域名并发加速/缓存 只对Redir-Host模式有意义
Additional Context
折腾一周多 OpenClash 查询到的有帮助的内容. 没有 Blog 发到这里吧, 发现很多配置教程都人云亦云
1, YouTuber 不良林 关于 DNS 泄露的三+一期视频 以及UDP那期
2,关于旁路网关设置透明代理的种种问题 旁路由的原理与配置一文通 关于旁路由设置后,主路由WIFI无法上网的问题
3,Sukka 大佬写的 浅谈在代理环境中的 DNS 解析行为 我有特别的 DNS 配置和使用技巧
The text was updated successfully, but these errors were encountered: