我安装了 14.04 LTS 服务器。它相对较新。它的补丁是最新的。我在其上运行 postfix,我注意到 SMTP 服务器在解析时遇到问题delivery.mailspamprotection.com
(siteground 的外发邮件服务器)。
当我使用时,dig
我会得到所有地址(大约 30 个)。我有一个使用 libc6getaddrinfo()
函数的小型 C 程序。它只返回一个地址。我正在运行我自己的递归名称服务器(pdns-recursor),它似乎运行良好。我已经从其他服务器对它运行查询,它返回了正确的信息。我还从此服务器对不同的递归器运行查询dig
,我得到了正确的信息。
但是,当我运行使用 libc6 解析器库 ( ) 的小程序时getaddrinfo()
,我只得到一个地址。host.conf
的设置multi on
已设置。我有order bind,hosts
、multi on
、no-spoof on
。
我有另一个运行良好的 14.04 LTS 主机。libc6 版本2.19-0ubuntu6.7
。
有人有主意吗?
答案1
[已解决] 问题出在“/etc/nsswitch.conf”中。我将“hosts: files dns”行更改为“hosts: dns files”,问题就解决了。
此外,令人尴尬的是,有问题的主机也在“/etc/hosts”文件中。我不记得这样做过,所以这是一个自己造成的问题。