私は会社のVPNを使用していて、nslookupとhostの両方がサーバーのパブリックIPアドレスを返し、resolveipとcurl(およびブラウザー)が正しい内部アドレスを返していることに気付きました。異なるUnixプログラムが同じホスト名を異なる方法で解決するのはなぜですか?
質問する
5232 次
1 に答える
12
nslookup
、、dig
およびhost
はDNSを直接クエリするクライアントです。getent
ユーティリティ、、およびほとんどのcurl
アプリケーション(resolveip
私はよく知らないが、おそらくあなたが話しているこれを含む)は、Cライブラリのアドレス解決サービスのクライアントです。Cライブラリのアドレス解決サービスは、を使用して構成/etc/nsswitch.conf
され、デフォルトでは/etc/hosts
、で回答が見つからない場合はDNSを参照してから参照します/etc/hosts
。DNS(または代わりに他のサービス)をまったく参照しないように構成することもできます。
あなたの場合、あなたはおそらくに正しい内部アドレスを持っています/etc/hosts
。
于 2012-06-21T14:14:05.133 に答える