![带有 Kerberos 的 NFS4:DNS 不够,需要 /etc/hosts 中的条目(为什么?)](https://linux22.com/image/801193/%E5%B8%A6%E6%9C%89%20Kerberos%20%E7%9A%84%20NFS4%EF%BC%9ADNS%20%E4%B8%8D%E5%A4%9F%EF%BC%8C%E9%9C%80%E8%A6%81%20%2Fetc%2Fhosts%20%E4%B8%AD%E7%9A%84%E6%9D%A1%E7%9B%AE%EF%BC%88%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9F%EF%BC%89.png)
上次我配置 NFS4 和 Kerberos 时遇到了一些困难。最后我成功了,但还有一些事情我还没有完全理解。其中之一是:为什么 DNS 主机名解析不够?
我有两台机器:nfsserver、nfsclient。
两者都可以通过本地 DNS 解析,因此我可以通过主机名或 FQDN 从 nfsclient ping nfsserver,反之亦然。
现在我无法挂载 nfsserver 的导出,除非我将其记录添加到 nfsclient 上的 /etc/hosts 中。它会在以下情况下冻结:
mount.nfs4: trying text-based options 'sec=krb5p,addr=10.10.10.100,clientaddr=10.10.10.101'
在 /etc/nsswitch.conf 中我有:
hosts: files dns
其背后的原因/机制是什么?
答案1
Ping 并不是调试 DNS 问题最合适的工具。事实上,ping 不会执行任何反向解析来检查直接解析和反向解析是否匹配(其目的只是向直接从 FQDN 参数解析的 IP 地址发送 ICMP 数据包)。
如果我是你,我会使用 host 或 dig 命令确保直接解析(主机 my_fqdn_server 应该返回 my_server_IP - 这部分看起来没问题)和反向解析(主机 my_server_IP 应该返回 my_fqdn_server)应该返回相同。
无论如何,我猜测您的 DNS 服务器(您使用哪一个?您可以访问其配置吗?)配置错误。