为什么 getent 将域名附加到所有 .org 查找中?

为什么 getent 将域名附加到所有 .org 查找中?

在 CentOS 7 中运行以下命令时,getent仅将我的域名附加到 .org 域:

[root@panel ~]# getent hosts ballotpedia.org
2606:4700:3031::6815:241e ballotpedia.org.mydomain.com
2606:4700:3032::ac43:b854 ballotpedia.org.mydomain.com

当我查找任何其他不包含 .org 扩展名的域时,不会发生这种情况,如下所示:

[root@panel ~]# getent hosts google.com
2404:6800:4007:805::200e google.com

停止nscd服务后,问题不再发生。我nscd也尝试使用以下命令清除缓存,但问题并未解决:

for db in `ls /var/db/nscd`;do /usr/sbin/nscd -i $db;done && /scripts/restartsrv_nscd

如何修复此问题以及可能是什么原因导致此问题?

答案1

有两种可能的方法可以解决此问题:

  • 不以 结尾的主机名.被视为不完整,系统可能会尝试在多个域中查找它,直到找到它。如果您的主机名已经是完全合格的域名,则它应该以 结尾,.这样就不会发生这种情况。
  • 其中/etc/resolv.conf可能会有search一行列出要检查不完整短主机名的域。此文件可能是动态生成的,在这种情况下,您可能应该找到它的来源,它可能是 dhcp、NetworkManager、netplan 或(取决于操作系统和发行版)其他网络配置源。在 CentOS 中,如果这不是由 NetworkManager 动态配置的,则可能在/etc/sysconfig/network-scripts/ifcfg-*

相关内容