DNS 解析器在搜索列表中更喜欢 IPv6 CNAME,而不是 IPv4 响应

hac*_*edd 2 domain-name-system resolv.conf ipv6

我的一个域(比方说 hackedd.nl)有一个包含 A 和 AAAA 记录的指向 hackedd.nl 的全能 CNAME 记录。这一切似乎工作正常。

但是,如果我的服务器上的/etc/resolv.conf文件有一行指定search hackedd.nl,则解析器似乎更喜欢 IPv6 CNAME 而不是实际的 IPv4 A 回复,因为服务器没有 IPv6 地址。例如:

curl -vsI http://security.ubuntu.com/ >/dev/null
* About to connect() to security.ubuntu.com port 80 (#0)
*   Trying 2a02:2770::21a:4aff:fecb:a0f8... connected
Run Code Online (Sandbox Code Playgroud)

其中2a02:2770::21a:4aff:fecb:a0f8是服务器自己的 IPv6 地址...

有没有办法让解析器在尝试搜索列表之前尝试 IPv4?

Mic*_*ton 8

这是按设计工作的。

首选 IPv6 而不是 IPv4 是大多数计算机的默认配置。要使用 IPv4 而不是 IPv6,必须为此专门设置计算机(因操作系统而异)。

如果您希望无法通过 IPv6 访问特定主机名,则必须删除通配符 CNAME 并仅使用您希望通过 IPv6 访问的特定主机的记录。