记录一个 openclash 和 passwall 都会存在的关于 ipv6 的问题

221 天前
 LongLights

现在如果路由器本地开启 ipv6 并且节点有 ipv6 地址,两个插件都可以正常进行代理 ipv6 流量。

但是我想要的效果是:国内网站正常使用 ipv6 优先网络,国外则屏蔽 ipv6 解析只使用 ipv4 (原因是买了特殊线路的小鸡,ipv6 吃不上,比如 gia cmi 等等)

在 passwall ,这点可以变相实现:在插件内关闭 ipv6 解析(高级设置里 ipv6 透明代理开不开均可),dhcp 设置里允许 ipv6 解析,即可访问国内正常 v6 优先,经过 pw 的丢弃 v6 解析结果。

但是 openclash 插件内如果取消勾选允许 ipv6 解析,境内境外的 ipv6 都会被屏蔽,都变成仅 v4 解析。

于是尝试在 openclash 选择允许 v6 解析,但是不允许 v6 流量代理: 在 redir 模式下,这样操作会导致一部分网站无法进行代理(优先 v6 地址并且面板内不显示记录,无论是否勾选 实验性:绕过指定区域 IP ),比如 dash.cloudflare.com

但是在 fake-ip 模式下,就不会有这样的问题,面板内可见域名并且经过代理,但是如果在 fake-ip-filter 里加入域名(如+.cloudflare.com ),那么 dash.cloudflare.com 这个域名的表现就会变得和 redir 模式一样:面板内不可见域名并且未经过代理。

5233 次点击
所在节点    宽带症候群
21 条回复
xpn282
221 天前
主路由模式下,OpenClash redir 模式,接管 ipv6 流量,开启 ipv6 解析,不管我的节点支不支持 IPv6 ,都不影响翻墙。

做好国内 ipv6 的相关 ip 规则,ipv6 流量交给 OpenClash 处理,无所谓节点支不支持 ipv6 。一直这样使用,没毛病
ToDyZHu
221 天前
passwall 在 dns 设置里可以选择过滤代理域名 IPv6 的,passwall2 中 DNS 的直连查询策略选 useIP 、远程查询策略选 useIPv4 就可以达到你的效果。
至于 openclash 我确实没找到好方法,这也是我不用 openclash 的原因。
ToDyZHu
221 天前
@xpn282 如果 YouTube 解析出了 IPv6 地址而节点又不支持怎么办呢
LongLights
221 天前
@ToDyZHu #2 其实没啥影响,我现在是 oc ,绕过大陆,fakeip 模式,开 v6 解析不开 v6 代理,除了 ipv6 其实经过了一层 nat ( testipv6.cn 出现的是路由器的 ip 而非 pc 的),其他并没有什么影响
ToDyZHu
221 天前
@LongLights 我之前出现过国外网站解析出 IPv6 而节点不支持的情况,导致上不了那个网站。
Xymmh
221 天前
用 sing-box ,配置文件里 prefer-ipv4 完美解决你的问题
bjzhou1990
221 天前
dns 交给 mosdns 处理,mosdns 可以针对性的配置 ipv4 优先还是 ipv6 优先
xpn282
221 天前
@ToDyZHu #3 其实没什么影响的,为什么没有影响等高人来解答,我的节点就是只有 v4 ,哪些 ipv6 测试网站都是全过的,但是从没出现过你担心的问题,而且我也在 OpenClash 的网络详情里看见出现有 ipv6 源地址去连接目标 ipv4 的,我也不懂为什么可以这样………
但是使用一直都是正常的
LongLights
221 天前
@bjzhou1990 诶 好主意!
lns103
221 天前
服务端 sniff 重解析优先 v4 ,再加一个 warp 的 v6 出口兜底,本地看到连的是 v6 ,服务器上重新解析后实际连的 v4 ,完全不影响使用
lns103
221 天前
也可以用 he tunnel broker 的 ipv6 ,就作为兜底 v6 出口
JensenQian
220 天前
路由器上那几个爬墙的软件
对于 ipv6 的支持都很差啊
LongLights
220 天前
@bjzhou1990 试了下,完美实现这个需求,谢谢大佬!
wi11iamZ
220 天前
luci-app-mosdns 本身似乎没有劫持功能,里面那个“DNS 转发”选项的作用是将自己添加为系统自带的 Dnsmasq 的唯一上游
如果其它插件也存在相同行为,该设置会被覆盖
fengyaochen
220 天前
我的 openwrt 做 IPV6 旁路由,VPS 上关闭 IPV6 ,策略一致国内国外都是有 V6 优先 V6 ,国内 V6 直连,国外能解析出 IPV6 ,但是因为走代理,代理 VPS 没有 IPV6 ,所以全部走 V4 ,不需要再用 mosdns 分流,直接 passwall 自带的 chinadnsNG 就完美解决问题
fengyaochen
220 天前
@ToDyZHu 节点不支持 IPV6 ,只会让纯 IPV6 网站打不开,否走就算是 V6 优先,节点不支持 V6 的情况下,就算解析出 V6 地址也是不会用 V6 去连接的
yydsgods
220 天前
重点是开启 server 端的 sniff ,节点应该会再解析一遍域名的,就算是节点不支持 ipv6 ,也无所谓。
我目前 oc + redirhost ,节点 xray server 开启 sniff ,ipv4/6 双栈没得啥问题。当然 oc 的 rule 规则顺序也比较重要。
ToDyZHu
220 天前
@fengyaochen #16 昨晚我试了一下用 openclash 开启 IPv6 代理和 IPv6 解析,上 YouTube 的时候就上不去,我看 openclash 的日志,里面显示连接某个 v6 地址是 timeout 。
然后我把开启 IPv6 代理关了,wan 口里的 dns 有个 1.1.1.1 也删除了(有这个是因为用 cloudflare zero trust 要用到),就可以连接上了。
mac100
220 天前
可以在 mosdns 套一个 adg , 针对某个网站域名屏蔽 V6 解析。。
xpn282
220 天前
@ToDyZHu #18 不应该的啊,我 OpenClash 也是接管了 ipv6 流量,并且开 ipv6 解析,节点也不支持 v6 ,油管什么的都正常


你是不是旁路由啊?

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

https://ex.noerr.eu.org/t/1101246

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

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

© 2021 V2EX