我有几台支持 IPv6 的服务器。由于某种原因,在这个新服务器上,我遇到了问题。在我添加更多地址之前,IPv6 一直有效。以下是添加新 IP 之前 ifconfig 的输出:
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 16 bytes 1584 (1.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 16 bytes 1584 (1.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
venet0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500
inet 127.0.0.1 netmask 255.255.255.255 broadcast 0.0.0.0 destination 127.0.0.1
inet6 2001:x:x:552:f000:0:f:9999 prefixlen 64 scopeid 0x0<global>
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
RX packets 27882 bytes 4994839 (4.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 26536 bytes 6250120 (5.9 MiB)
TX errors 0 dropped 63 overruns 0 carrier 0 collisions 0
venet0:0: flags=211<UP,BROADCAST,POINTOPOINT,RUNNING,NOARP> mtu 1500
inet 61.x.x.89 netmask 255.255.255.255 broadcast 61.14.232.89 destination 61.14.232.89
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 0 (UNSPEC)
一切正常,但如果我添加一个新的 IP,IPv6 就会中断。以下是我添加 IP 的方法(我必须使用 ip addr,因为我的代码依赖于它):
ip -6 addr add 2001:x:x:552:f000:0:f:9ea0/112 dev venet0
我也尝试过:
ip -6 addr add 2001:x:x:552:f000:0:f:9ea0/64 dev venet0
执行此操作后,IPv6 不再工作(无法 ping6)。该服务器有一个可用的 /112 子网。服务器已安装 CentOS 7。
答案1
事实证明,这是由于所使用的虚拟化平台要求我在 SolusVM CP 中单独配置我需要的每个 IPv6 地址。我切换到基于 KVM 的 VPS,现在从 VPS 的角度来看,我可以使用整个子网。