DD Linux 后丢失 IPv6 处理及双栈网络优先级配置

当使用服务商提供 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

0
0