Linux 双栈环境优先使用 IPv4(glibc)

通过 glibc 的 gai.conf 调整双栈地址选择优先级,并区分全局配置与应用设置。

此设置主要影响使用 glibc getaddrinfo 的程序,不会禁用 IPv6,也不保证影响自带解析器的应用。修改前检查 /etc/gai.conf,避免重复添加;如果已有其他 precedence 规则,需一起检查。

前言

在双栈环境中,IPv6 路由不可达或连接不稳定,可能让某些程序先尝试 IPv6 后等待超时。使用 glibc 的程序可以通过 /etc/gai.conf 调整地址选择优先级,这种方式也适用于 Debian 上的 APT 等程序。

使用 musl 等其他 C 库的系统,或带独立解析器的程序,未必读取这个文件。若只想影响某个应用,应优先检查该应用自己的 IPv4 选项。

设置为优先使用ipv4

1
echo 'precedence ::ffff:0:0/96 100' >> /etc/gai.conf
Licensed under CC BY-NC-SA 4.0
最后更新于 2026-10-10
使用 Hugo 构建
主题 Stack 由 Jimmy 设计