在纯ipv6的WiFi下如何上ipv4的网站
TL;DR
学校最近新装了个ipv6 only的网络,但发现没法访问ipv4的网络,但是安卓手机却可以,研究了一下是要配置464XLAT转换,因为学校提供了一个隧道,可以访问ipv4网站。这里我将用clatd做示例,来配置和安卓手机上一样的效果。
开始配置clatd
先装依赖:
1 | |
安装clatd:
1 | |
编辑/etc/clatd.conf:
1 | |
接下来,只要保证clatd服务在后台运行,就会像安卓手机一样能自适应是否是纯ipv6的网络了。
1 | |
当网络不支持PLAT的话,就会在日志里打印这段话然后自动退出,做到无感使用:
1 | |
和tun软件冲突解决方案
获取运营商xlat前缀
查看运营商的ipv6隧道前缀:
1 | |
会返回如下结果:
1 | |
去掉最后的32位,得到前缀就是2001:114:514:1919::
注意,获取前缀这一步是可选的,如果自动检测没法成功的话才需要做
tun代理软件中的配置
排除clatd的网卡,将出口网卡锁定到实际出口网卡
clatd配置
获取你运营商的xlat前缀,再将clatd配置文件改成这样即可:
1 | |
⚠️注意:
我个人现在是clatd配置文件置空、tun软件指定出口网卡为实际物理网卡来实现的,缺点是没法连接仅支持ipv4的服务,所以你最好要有一个自己的双栈服务器做中转。
参考的文章
在纯ipv6的WiFi下如何上ipv4的网站
http://blog.coolenoch.ink/2025/11/24/Linux/29-在纯ipv6的WiFi下如何上ipv4的网站-251124/