IPv4/IPv6双栈接入优先级设置
更新时间 2025-12-19 10:56:43
最近更新时间: 2025-12-19 10:56:43
适用场景
Windows:默认IPv4的优先级高,如需调整请参考下文Windows操作步骤部分。
Linux:根据RFC3484协议Linux默认情况下IPv6优先级高于IPv4,应用程序优先使用IPv6地址。因部分场景下IPv6的使用不一定畅通,您可以参照如下方式设置IPv4作为默认的连接方式。
Linux 操作步骤
-
使用IPv4连接优先,不禁用IPv6。需要修改gai.conf配置文件使其生效。
/etc/gai.confa. 查找如下配置,将前面的 # 去掉并保存,如果前面没有 # 号表示已经更改过设置了。如果没有查找到该行直接在文件末尾添加。
# 数值越大表示优先级越高 precedence ::ffff:0:0/96 100 # 为IPv4/IPv6转换地址 (IPv4-mapped IPv6 address)。b. 如果没有gai.conf配置文件,执行如下命令,拷贝文件后进行修改:
Redhat系统:cp -p /usr/share/doc/glibc-common-2.17/gai.conf /etc/ CTyunOS系统:echo "precedence ::ffff:0:0/96 100" > /etc/gai.confc. 修改完成保存生效。采用此方式,双栈情况下优先使用IPv4,同时不影响IPv6的使用。
-
如不需IPv6,可采用如下方式禁用IPv6。
a. 禁用IPv6:
echo "1" > /proc/sys/net/ipv6/conf/all/disable_ipv6b. 恢复IPv6:
echo "0" > /proc/sys/net/ipv6/conf/all/disable_ipv6
Windows 操作步骤
-
运行:Windows PowerShell(x86)
a. 查看优先级:a. netsh interface ipv6 show prefixpoliciesb. 修改IPv4优先级:netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 100 4(数字越大,优先级越高,100为优先顺序,4为标签)
c. 修改IPv6优先级:netsh interface ipv6 set prefixpolicy ::/0 100 1
-
修改完毕后重启网卡。