我有一个仅支持 IPv6 的 VPS,运行 Debian 10 Buster欧盟服务。
为了通过 VPS 访问 IPv4 互联网,我使用了此 NAT64 切换服务通过将他们的名称服务器添加到我的名称服务器中/etc/resolv.conf
,它就神奇地起作用了。
最近,由于错误,我无法通过 VPS 访问 IPv4 互联网Temporary failure in name resolution
。由于我认为这可能是域名服务器的问题,因此我删除了所有域名服务器/etc/resolv.conf
并仅添加了 Google 的 IPv6 公共 DNS 域名服务器。即使添加这些之后,DNS 解析也不起作用,并且我尝试 ping 的每个主机名(甚至启用了 IPv6 的网站)都返回了错误Temporary failure in name resolution
:
$ ping google.com
ping: google.com: Temporary failure in name resolution
但是,直接 ping IP 地址确实可以按预期工作:
$ ping 2a00:1098:2b::1
PING 2a00:1098:2b::1(2a00:1098:2b::1) 56 data bytes
64 bytes from 2a00:1098:2b::1: icmp_seq=1 ttl=58 time=15.0 ms
64 bytes from 2a00:1098:2b::1: icmp_seq=2 ttl=58 time=17.1 ms
64 bytes from 2a00:1098:2b::1: icmp_seq=3 ttl=58 time=14.9 ms
^C
--- 2a00:1098:2b::1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 4ms
rtt min/avg/max/mdev = 14.850/15.624/17.053/1.016 ms
在尝试了几个公共 IPv6 DNS 名称服务器后,我发现在此 VPS 中唯一可用的名称服务器是/etc/resolv.conf
在重新安装 Debian 10 后立即找到的默认名称服务器:
search blue.kundencontroller.de
options rotate
nameserver 2a02:180:6:5::1c
nameserver 2a02:180:6:5::1d
nameserver 2a02:180:6:5::1e
nameserver 2a02:180:6:5::4
上述名称服务器使 VPS 能够访问 IPv6 互联网(例如 ping google.com),但我无法访问任何仅 IPv4 的主机,因为没有使用 NAT64-DNS64 服务;此外,我不知道为什么除了这几个之外的任何其他 DNS 名称服务器都不能在此 VPS 中工作。我将提供调试所需的任何日志/信息。
答案1
如果您仅使用 IPv6,则联系 IPv4 互联网的方式是使用特殊名称服务器 (DNS64) 解析名称,该服务器返回具有固定 IPv6 前缀和末尾实际 IPv4 地址的 IPv6 地址:
IPv6 address = IPv6 private prefix + IPv4 address
当 VPS 路由发现特殊的 IPv6 前缀时,它会剥离 IPv6 部分并使用 IPv4 部分,然后将其发送到 IPv4 互联网。该过程就是 NAT64。
因此,除非您使用他们的名称服务器,否则您将陷入 IPv6 世界,直到他们解决您的问题(您应该联系他们)。