将 IPv4 设置为 IPv6 的首选协议

Geo*_*zov 21 linux ipv6 getaddrinfo slackware

我在包含 Slackware 13.0 设备的 LAN 网络中同时使用 IPv6 和 IPv4。如何将 IPv4 设置为该网络中工作站的首选协议?我想明确使用 IPv6,或者在只有 AAAA 记录可用时使用。例如,如果我尝试从 Firefox打开http://ipv6.org/,我将始终通过 IPv6 连接。这种情况与其他应用程序相同。我尝试创建 /etc/gai.conf 并向其添加以下内容:

precedence ::ffff:0:0/96  100
Run Code Online (Sandbox Code Playgroud)

这应该至少在 Debian 中控制 getaddrinfo(3) 的行为,但它对 Slackware 没有帮助。

任何想法将不胜感激。提前致谢!

Luc*_*nti 19

根据手册页,precedence在 gai.conf 中插入一个值会禁用所有其他默认规则。尝试设置 RFC 3484 (10.3) 中列出的所有规则:

  Prefix        Precedence Label
  ::1/128               50     0
  ::/0                  40     1
  2002::/16             30     2
  ::/96                 20     3
  ::ffff:0:0/96        100     4
Run Code Online (Sandbox Code Playgroud)