イントラネット DNS ルックアップが不正な IP を取得しています

イントラネット DNS ルックアップが不正な IP を取得しています

ファイルにサーバーのホスト エントリがあります/etc/hosts。次のエントリがあります。

10.74.74.76 foo

しかし、同じマシン上で SSH 経由で次の操作を実行します。

$ host -t a foo
foo.internal.domain.com has address 10.43.55.23

これはなぜ の IP を参照しないのですか/etc/hosts?

答え1

hostは(単純な)DNSルックアップユーティリティ。

ファイル内のデータは/etc/hostsDNS ではありません。

つまり、このhostコマンドは常に、構成した DNS サーバーを照会し、ホスト/FQDN の解決を試みる前に最初にローカル ホスト データベースを照会するというシステム リゾルバーが使用する通常の優先順位を尊重しません。

答え2

このhostコマンドは、リゾルバとして常に DNS を使用し、ファイルを使用しない DNS ルックアップ ユーティリティです/etc/hosts

host(1)のマニュアルページより:

hostDNS ルックアップを実行するためのシンプルなユーティリティです。

serverはオプションの引数であり、 にリストされているサーバーの代わりにホストが照会するネーム サーバーの名前または IP アドレスのいずれかです/etc/resolv.conf

関連情報