V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LongLights
V2EX  ›  宽带症候群

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

  •  
  •   LongLights · 4 天前 · 1669 次点击

    现在如果路由器本地开启 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 模式一样:面板内不可见域名并且未经过代理。

    第 1 条附言  ·  3 天前
    感谢 7L 提供的解决方案:
    1. 开启 mosdns ,不启用劫持,勾选 远程 DNS 首选 IPv4
    2. openclash 正常劫持 dnsmasq ,覆写设置-dns 设置中,使用自定义 dns ,只勾选一个 nameserver 为 127.0.0.1:5335 ,fallback 和 default-nameserver 不用选。
    3. openclash 插件设置-ipv6 设置,不选择 ipv6 流量代理,勾选允许 ipv6 解析。
    4. 如果需要防止 dns 泄露,直接在 mosdns 中启用这个选项即可。

    在这个设置下,可以实现国内走 v6 优先,代理走 v4 优先,很完美
    21 条回复    2025-01-01 07:04:26 +08:00
    xpn282
        1
    xpn282  
       4 天前 via iPhone
    主路由模式下,OpenClash redir 模式,接管 ipv6 流量,开启 ipv6 解析,不管我的节点支不支持 IPv6 ,都不影响翻墙。

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


    你是不是旁路由啊?
    Ipsum
        21
    Ipsum  
       2 天前
    @yydsgods 关于这点,singbox 处理得比较好,使用 fakeip 后,所有带域名的请求都会被携带到远端处理,本地基本上不用处理 dns 。配合 dns 分流器之类的再在路由器添加 fakeip 的静态路由,可以完美实现 ipv6 网站的访问。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4807 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:56 · PVG 17:56 · LAX 01:56 · JFK 04:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.