Ubuntu 16.04下ping6使用旧目标IPv6地址问题咨询
解决多宿主Ubuntu 16.04服务器下IPv6域名解析异常问题
这种情况我之前在多宿主IPv6环境里踩过坑,结合你描述的场景——客户端禁用DNS缓存、服务器绑定两个域名对应不同前缀,却只有net2解析异常,咱们一步步来定位解决:
首先排查核心问题:DNS解析记录是否正确
既然客户端已经禁用了DNS缓存,那ping6 net2.example.com拿到旧地址的最大可能是DNS服务器返回的就是旧的AAAA记录,先验证这一点:
- 在客户端执行命令:
dig AAAA net2.example.com - 看输出里的
ANSWER SECTION,如果返回的IPv6地址还是旧的,那问题根源就在DNS上:- 如果你用的是服务器本地维护的DNS(比如Bind9),登录服务器检查zone文件,确认
net2.example.com的AAAA记录已经更新为正确的新前缀地址,然后重启DNS服务:sudo systemctl restart bind9 - 如果用的是第三方DNS服务商,去他们的管理后台更新AAAA记录,要是TTL设置得比较长,可能需要等一会儿让缓存过期,或者联系服务商强制刷新缓存。
- 如果你用的是服务器本地维护的DNS(比如Bind9),登录服务器检查zone文件,确认
验证服务器端IPv6地址配置
如果DNS记录是对的,那得检查服务器本身的地址配置是否正常:
- 在服务器上执行:
ip -6 addr show - 确认net2对应的前缀IPv6地址已经正确配置在网卡上,状态是
UP(没有DOWN标记) - 要是地址没配置,得把它添加到网络配置里:
- 编辑
/etc/network/interfaces,添加类似配置:iface eth0 inet6 static address 2001:db8:2::1/64 gateway 2001:db8:2::ffff - 然后重启网络服务:
sudo systemctl restart networking
- 编辑
额外验证:网络连通性是否正常
如果DNS解析到了正确地址但ping不通,那要排查防火墙和路由:
- 在客户端直接ping正确的net2 IPv6地址:
ping6 -c 4 2001:db8:2::1 - 要是ping不通,检查服务器的UFW防火墙规则,确保允许IPv6的ICMP请求:
sudo ufw allow in proto ipv6-icmp - 同时检查服务器的IPv6路由表:
ip -6 route show,确认net2前缀的路由指向正确的上游提供商。
内容的提问来源于stack exchange,提问作者Khawar
相关产品推荐
相关产品推荐

