Azure VM)からサーバーに接続しようとすると、DNSの逆引き参照に失敗するため、多くの時間がかかります。
UseDNS no
を使用してルックアップを無効にし、問題を完全に回避することはできますが、これによりログの有用性が低下するため、そのようにはしたくありません。
また、ローカルゾーンをキャッシュして提供するためにローカルBINDサーバーを実行しています。
私が気付いたのは、SSHクライアントがユーザー名を送信するたびに、namedが次のような複数の警告を発することです。
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
これは、フォワーダーとして構成されているすべてのサーバーと、そのゾーンにサービスを提供しているMicrosoftサーバーに対して繰り返されます。次に、1秒間の一時停止があり、すべてが4回繰り返されます。
nslookup -type=ptr -nosearch -d2 137.161.97.23.in-addr.arpa 207.46.75.254
を実行すると、同様の警告が発生しますが、4回繰り返されません。
だから私の質問は:
[〜#〜] update [〜#〜]クライアントマシンにPTRレコードがないことはわかっていますが、クライアントにPTRレコードがないことは完全に有効です。その上、私はクライアントマシンのDNSレコードを制御できません。
ユースケースと、DNSまたはssh構成を修正しないことで回避しようとしていることによっては、サーバー上のhostsファイルを変更して、名前とIPをsshdに報告できます。
実際にキャッシュネームサーバーをローカルで実行している場合、nslookupはシステムのリゾルバー(resolv.confのエントリのみ)を使用しないため、キャッシュされません。デフォルトでは、Linuxサーバーにはローカルキャッシュはありません。一般的なものには、nscd、sssd、およびbindが含まれます。