当使用服务商提供VPS时,为了避免商家系统上安装有自己的服务或者无法安装特定软件等问题,我们经常会选择通过DD一个干净的操作系统。然而,DD可能会导致商家提供的IPV6无法正常使用,即使检测到IPV6地址,也无法通过Ping命令进行通信。虽然在实际应用中很少使用IPV6,但无法使用与不能使用是两个不同的概念。本教程以Debian为例,将介绍如何解决这个问题。
DD前记录IPV6信息
查看 cat /etc/network/interfaces
文件并记录信息
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 21.221.222.217
netmask 255.255.255.111
gateway 39.339.399.193
iface eth0 inet6 static
accept_ra 0
address 2c07:8ac1:0070:1015:0030:1000:9a9a:ab99
netmask 64
gateway 2c07:8ac1:0070:1015::1
记录了IPV6信息使用
修改 vi /etc/network/interfaces
文件并添加信息
#iface xxxx inet6 static (这里"xxxx"部分,跟当前文件里IPV4中"iface xxxx inet static"一致)
address 2c07:8ac1:0070:1015:0030:1000:9a9a:ab99 (前面记录的 IPV6 地址)
netmask 64
gateway 2c07:8ac1:0070:1015::1 (前面记录的 IPV6 网关)
dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844 (可以加入 Google DNS,也可以不加)
Reboot重启生效
未记录IPV6信息使用
直接自动DHCP获取IPV6
iface XXXX inet6 dhcp 「这里"xxxx"部分,跟当前文件里IPV4中"iface xxxx inet static"一致」
Reboot重启生效
设置IPV4优先
默认情况会使用 IPv6 优先,如果您安装了 curl 并且本地支持 IPv6,那么可以使用 curl ip.sb
测试当前优先情况
如果你想使用 IPV4 优先,修改vi /etc/gai.conf
文件
#取消注释#号
#precedence ::ffff:0:0/96 100
#修改为
precedence ::ffff:0:0/96 100
#一句话命令
sed -i 's/#precedence ::ffff:0:0\/96 100/precedence ::ffff:0:0\/96 100/' /etc/gai.conf