每当我尝试从Azure虚拟机连接到我的服务器,由于反向DNS查找失败,需要很长时间。
我可以使用UseDNS no
禁用查找,并完全绕过问题,但这使得日志不太有用,所以我宁愿不这样做。
我也运行本地BIND服务器caching和服务本地区域。
我注意到的是,每当SSH客户端发送用户名,命名发出多个警告,如:
Mar 10 22:56:04 ghost named[1813]: DNS format error from 8.8.8.8#53 resolving 137.161.97.23.in-addr.arpa/PTR for client 127.0.0.1#37839: invalid response
对于configuration为转发器的每个服务器以及为该区域服务的Microsoft服务器,都会重复此操作。 然后有一个1秒的停顿,整个事情重复4次。
如果我执行nslookup -type=ptr -nosearch -d2 137.161.97.23.in-addr.arpa 207.46.75.254
类似的警告发生,但不会重复4次。
所以我的问题是:
更新我知道我的客户端机器没有PTRlogging,但它是完全有效的客户端没有一个。 除此之外,我无法控制客户端机器的DNSlogging。
根据您的使用情况以及您通过不修复DNS或您的sshconfiguration而试图避免的情况,您可以修改服务器上的hosts文件以将名称和IP报告给sshd。
它不会被caching,因为nslookup不使用你的系统的parsing器(只有resolv.conf中的条目),如果你真的在本地运行一个caching名字服务器。 默认情况下,Linux服务器上没有本地caching。 常见的包括nscd,sssd和bind。