V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
LongLights

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

  •  
  •   LongLights · Dec 30, 2024 · 9612 views
    This topic created in 483 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Dec 31, 2024
    感谢 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 replies    2025-01-01 07:04:26 +08:00
    xpn282
        1
    xpn282  
       Dec 30, 2024 via iPhone
    主路由模式下,OpenClash redir 模式,接管 ipv6 流量,开启 ipv6 解析,不管我的节点支不支持 IPv6 ,都不影响翻墙。

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


    你是不是旁路由啊?
    Ipsum
        21
    Ipsum  
       Jan 1, 2025
    @yydsgods 关于这点,singbox 处理得比较好,使用 fakeip 后,所有带域名的请求都会被携带到远端处理,本地基本上不用处理 dns 。配合 dns 分流器之类的再在路由器添加 fakeip 的静态路由,可以完美实现 ipv6 网站的访问。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6127 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 02:44 · PVG 10:44 · LAX 19:44 · JFK 22:44
    ♥ Do have faith in what you're doing.