Closed ERR0RPR0MPT closed 1 year ago
+1 遇到同样的问题(能 ping 但是 tcp 不通),开始以为是 ipv6-pd 不能挂 br0 上,后来测试发现 ppp0 上的 /128 地址也访问不通,关掉 clash tun 就都能访问了
同样问题
@10ta 正常现象)
sing-tun 就是这样的,打开 auto-route 以后外部 v6 流量无法入站。
解决办法是,关掉 auto-route,自己搓路由表。
sing-tun 就是这样的,打开 auto-route 以后外部 v6 流量无法入站。
解决办法是,关掉 auto-route,自己搓路由表。
想请教一下,Meta 是修改了 TUN 的实现吗,我使用原版内核开 auto-route 是可以 IPV6 入站的,既然如此为什么要砍掉这个功能呢?
tun可以添加 inet6-address: null
来解决(这将不会添加ipv6地址以及路由ipv6)
tun可以添加
inet6-address: null
来解决(这将不会添加ipv6地址以及路由ipv6)
已解决,感谢
tun可以添加
inet6-address: null
来解决(这将不会添加ipv6地址以及路由ipv6)已解决,感谢
inet6-address: null这种tun是不用ipv6了,这。。。 tun开启auto-route情况下,两句策略路由就可以正常入站,优先级写个pref 4000就行。我还觉得是好事呢,入站防火墙以外,还多一道屏障。 Tproxy也是一样的,默认很多教程没考虑入站,写好防火墙规则就可以入站
inet6-address: null这种tun是不用ipv6了,这。。。 tun开启auto-route情况下,两句策略路由就可以正常入站,优先级写个pref 4000就行。我还觉得是好事呢,入站防火墙以外,还多一道屏障。 Tproxy也是一样的,默认很多教程没考虑入站,写好防火墙规则就可以入站
能否详细说说咋写策略路由让IPV6正常入站?
两句策略路由就可以正常入站,优先级写个pref 4000就行。
请教这两句如何写 @heygo1345678
tun可以添加
inet6-address: null
来解决(这将不会添加ipv6地址以及路由ipv6)
这个配置项好像还不在文档里, 倒是:
inet6-route-address
inet6-address
我实测反正确实直接加进 顶层的tun 下面就可以了
clash-verge 的话, clash-verge.yaml
里反正最终是会像这样:
...
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- 114.114.114.114
- 223.5.5.5
- 8.8.8.8
fallback: []
tun:
inet6-address: null
enable: true
stack: gvisor
dns-hijack:
- any:53
auto-route: true
auto-detect-interface: true
proxies:
...
遇到了相同问题。
内核版本:
$ /opt/mihomo-party/resources/sidecar/mihomo-alpha -v
Mihomo Meta alpha-ca3f1eb linux amd64 with go1.23.2 Sat Oct 12 00:29:44 UTC 2024
Use tags: with_gvisor
这是策略路由的问题。
而
inet6-address: null
只是缓解了问题,还使得 IPv6 包不能走代理。
在我的测试中,程序添加了以下策略路由:
$ ip -6 rule list
0: from all lookup local
9000: not from all dport 53 lookup main suppress_prefixlength 0
9000: from all ipproto ipv6-icmp goto 9010
9001: from all iif Mihomo goto 9010
9001: from ::/1 iif lo goto 9010 [1]
9001: from 8000::/1 iif lo goto 9010 [2]
9002: from fdfe:dcba:9876::/126 iif lo lookup 2022
9003: from all lookup 2022
9010: from all nop
32766: from all lookup main
此时 IPv6 地址无法连通:
$ nc -v 2400:3200:baba::1 443
Ncat: Version 7.92 ( https://nmap.org/ncat )
^C
同时抓包。可观察到 2400:3200:baba::1
的回包没有被正确交付,因而 TCP 连接无法被建立;当然也不会产生相关日志。
在删除 [1] [2] 两条策略路由后,问题可完美解决:
sudo ip -6 rule del from ::/1 iif lo
sudo ip -6 rule del from 8000::/1 iif lo
此后,连通性恢复正常;内核也可产生相关日志。
$ nc -v 2400:3200:baba::1 443
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Connected to 2400:3200:baba::1:443.
^C
@ERR0RPR0MPT,请问能否 reopen 此 issue?这样就不用再提重复 issue 了。
Verify steps
Clash version
Clash Meta v1.15.0 linux amd64 with go1.20.5
What OS are you seeing the problem on?
No response
Clash config
Clash log
No response
Description
在 Linux 上使用上述版本,使用 system 和 gvisor 模式出现的问题一样
btw,在 Windows 上使用相同配置开启TUN模式后可以使用IPV6访问对应开放的端口
如果需要的话我会尝试抓包看看