私はコマンドラインを介して更新する動的DNSサービスを使用しています。私の問題は、IPを更新した後でもLinuxがdyndns-Adressにアクセスしようとしたときにまだ古いIPを使用していることです。
動的DNSアドレスにpingまたはNmapを使用するときにDebianに更新されたDNS情報を要求させるにはどうすればよいですか?
答え1
これは、ローカル DNS リゾルバがどのように機能するかによって異なります。 Debian 11では、次のことを試すことができます(常にルートとして):
/lib/systemd/systemd-resolved --flush-caches
resolvectl flush-caches
同じことを行う必要があります。 systemdのNSキャッシュを無効にする別の方法は次のとおりです。
pkill -USR2 systemd-resolved
ネームサービスキャッシュデーモン(nscd)を使用する場合は、次のコマンドを使用する必要があります。
nscd --invalidate=hosts
答え2
これがXYの問題です。
ここで尋ねる質問(クライアントがDNSレコードを再取得する方法)は、ローカルを更新する場合、特権動的DNSサーバーをDNSプロバイダとして使用しない限り、問題(クライアントに現在のDNSレコードがあることを確認する)を解決しません。使用している他のDNSサーバーのキャッシュをフラッシュせずに、コンピュータのキャッシュをキャッシュします。
ローカルコンピュータが変更をすぐに反映するためにDNSレコードが必要な唯一のホストであり、TTLを制御できない場合は、ホストファイルを使用することをお勧めします(またはリゾルバがサポートしている場合は上書き)。
すべてのクライアントのDNSレコードを更新する必要があり、TTLを変更できない場合、DNSサービスはあなたの目的には適していません。他のものを使用するか、自分で設定してください。