路由器上 Clash 透明代理时, LAN 内其他设备的 IPv6 地址会被改变?

188 天前
 ciaoSora

背景:在路由器上配置开启了 IPv6 ,现在全家的电脑、手机以及路由器本身都有 2408 开头的中国联通公网 IPv6 地址,现在电脑浏览器访问 https://test-ipv6.com ,能看到 v6 地址与我在电脑上执行 ifconfig 的结果一致。然后在路由器上用 ShellClash 跑了一个 Clash ,并且开了 IPv4 和 IPv6 的透明代理,我的需求是,国内的站点要直连并且优先 IPv6 ,其他网站走节点。规则配置大致如下:

proxies:
  - name: "my_hk_vmess"
    type: vmess
    # 删掉了节点的其他细节

  - name: "direct_prefer_ipv6"
    type: direct
    ip-version: ipv6-prefer

proxy-groups:
  - name: 🎯 直连
    type: select
    proxies:
      - direct_prefer_ipv6

  - name: 🚀 走节点
    type: select
    proxies:
      - my_hk_vmess

rules:
  - DOMAIN-KEYWORD,ipv6,🎯 直连
  - DOMAIN-SUFFIX,cn,🎯 直连
  - DOMAIN-SUFFIX,hk,🚀 走节点
  - DOMAIN-SUFFIX,speedtest.net,🚀 走节点
  - GEOIP,CN,🎯 直连
  - MATCH,🚀 走节点

现在的情况是:这份规则,我以及其他终端用户用的很舒服,开了浏览器 F12 也确实看到国内的网站解析到了 IPv6 地址。然而,在规则里我让包含 "ipv6" 的域名直连,就是为了测试 https://test-ipv6.com ,此时奇怪的事情就发生了。

假设路由器的 v6 地址是 RouterIP,我的电脑的 v6 地址是 LaptopIP。此时用电脑访问(直连) https://test-ipv6.com ,显示我的 v6 地址是 RouterIP(而不是 LaptopIP)。我的理解是,由于路由器上开了 IPv6 透明代理,所以等于是路由器代替我的电脑向 test-ipv6 的服务器发包?

此时更奇怪的事情就发生了,电脑访问(直连) https://www.ip5.me/ipv6/ ,竟然显示我的 v6 地址是 LaptopIP

麻烦大佬教一下以上两件奇怪的事情发生的原因,提前谢谢🙏

p.s., 路由器上 ShellClash 没有开启「 CN IP 数据包不经过 clash 内核」。

1241 次点击
所在节点    VPS
4 条回复
xclrr
188 天前
dns 的问题,test-ipv6.com 没有 ipv6 地址,所以过了 NAT
ciaoSora
188 天前
@xclrr 谢谢大佬!`dig` 了一下 test-ipv6.com , 确实没有 v6 地址,而 www.ip5.me 是有 v6 地址的。但是有点没理解跟 NAT 有什么关系,请问下「过了 NAT 」是什么意思呀? NAT 不是仅仅是个 IPv4 的概念吗?而且,https://ipv6.test-ipv6.com 是个纯 v6 网站,我访问这个网站时,显示我的 v6 地址仍然是 `RouterIP`……
heganyuliang
182 天前
同样的问题,开启 ShellClash 之后 ipw.cntestipv6.cn 检测的 v6 地址都是路由器的地址,而且我这里 www.ip5.me/ipv6 只显示 v4 地址了
ciaoSora
182 天前
@heganyuliang 我现在感觉显示路由器的 v6 地址才是正确的行为,「透明代理」这个词里的「透明」应该是仅对 TCP 服务发起端来说的。

就像传统的 IPv4 世界里,你用一个境外的主机建了个机场(代理),然后自己电脑上连接他,那他就是一个不透明的代理,相同点是「都是代理」,既然代理了,那么就会「代替」、「取代」你( IP 包的 Src IP 会被替换为代理的 IP ),来跟目标服务器通信,然后再把结果发回给你。

不太清楚 www.ip5.me/ipv6 是什么原理…… 感觉跟其他的测试网站似乎不太一样。

然后我现在已经关掉了 ShellClash 的 IPv6 透明代理,直接让所有 v6 的流量直连了,目前运行良好,测试自己的 IP 也都是我的本机 IP 而不是路由器 IP ,境外流量也都顺利地解析为 IPv4 然后走了节点。现在的 ShellClash IPv6 相关配置是:

ipv6 内核支持:已开启; ipv6 透明代理:未开启; ipv6-DNS 解析:已开启; CNIP 绕过内核:未开启

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

https://www.v2ex.com/t/1042254

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

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

© 2021 V2EX