如何在 Alpine Linux 上首先解析 IPv4?

如何在 Alpine Linux 上首先解析 IPv4?

似乎在 Alpine Linux 上解析主机时,默认行为是首先尝试 IPv6,然后回退到 IPv4。

但有时需要花费大量时间才能解决,并且当 IPv6 完全被阻止时仍有连接,这令人沮丧。

有没有办法将解析器配置为首先尝试 IPv4?

答案1

发生了什么事阿尔卑斯Linux是Alpine不使用glibc,而是它使用musl libc


glibc您可以通过添加以下行来更喜欢 IPv4 而不是 IPv6 /etc/gai.conf

precedence ::ffff:0:0/96  100

然而,这不适用于 Alpine,自从musl libc的实施getaddrinfo(3)不支持这一点。

您可以查看有关此请求的线程这里

您还可以查看 wiki运行 glibc 程序在阿尔卑斯山。

答案2

我刚刚发现我可以完全禁用 IPv6这对我来说就是诀窍。

添加到/etc/sysctl.d/local.conf来源):

# Force IPv6 off
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1

并重新加载配置:

# sysctl --system

相关内容