ISP切换到Dual-Stack Lite后无法通过IPv6远程访问树莓派
ISP切换到Dual-Stack Lite后无法通过IPv6远程访问树莓派
首先得给你理清两个IPv6地址的区别,先排除掉无效尝试:
fe80::开头的是链路本地地址,这个地址只能在同一个局域网内使用,远程网络根本没法路由到它,所以你用这个地址肯定连不上,不用再试啦。- 真正能用来远程访问的是
2a02:开头的全局IPv6地址,连不上的问题大概率出在配置环节,咱们一步步排查:
1. 先确认树莓派的IPv6链路本身是通的
在树莓派上执行ping6 google.com,如果能正常收到响应,说明树莓派的IPv6网络是正常的;如果不通,得先找ISP解决IPv6的基本连通问题。
2. 检查路由器的IPv6防火墙/端口转发设置
DS-Lite模式下,很多ISP的路由器默认会阻止外部IPv6的入站连接,哪怕你开了“允许所有协议”,可能也没针对性开放TeamSpeak需要的端口:
- 找到路由器管理界面里的IPv6防火墙规则或IPv6端口映射选项(不同品牌的路由器叫法可能不一样,比如UPC/Vodafone的设备可能叫“IPv6入站规则”)
- 添加规则,允许外部访问树莓派全局IPv6地址的TeamSpeak端口:默认是UDP 9987(语音端口),还有TCP 30033(文件传输)、TCP 10011(服务器查询)这些,按需开放。
3. 确认你的客户端设备有IPv6地址
如果用来连接的电脑/手机只有IPv4地址,那肯定没法直接访问IPv6的树莓派:
- Windows:打开命令提示符输入
ipconfig,看有没有非fe80开头的IPv6地址 - Linux/macOS:终端输入
ip -6 addr show,找scope global的地址
要是客户端没有全局IPv6地址,你可能需要先解决客户端的IPv6连通问题,或者考虑用IPv6隧道服务(优先建议先搞定原生IPv6)。
4. 排查树莓派本地的防火墙
树莓派如果开启了ufw或者iptables,可能会阻止外部IPv6连接:
- 先临时关闭ufw测试:
sudo ufw disable,然后再尝试连接树莓派 - 如果能连上了,说明是本地防火墙的问题,重新打开ufw并添加允许规则,比如:
sudo ufw allow 9987/udp、sudo ufw allow 30033/tcp
5. 注意IPv6地址的动态变化
有些ISP的IPv6前缀会定期更新,导致树莓派的全局IPv6地址变动,如果你用的是之前记下的旧地址,肯定连不上。每次连接前,先在树莓派上用ip -6 addr show获取最新的全局IPv6地址(找scope global那一行)。
总结一下:放弃链路本地地址,重点围绕全局IPv6的连通性、路由器规则、客户端IPv6支持、本地防火墙这几个点排查,应该就能解决问题了。
备注:内容来源于stack exchange,提问作者sleepy
相关产品推荐
相关产品推荐

