4

私は会社のVPNを使用していて、nslookupとhostの両方がサーバーのパブリックIPアドレスを返し、resolveipとcurl(およびブラウザー)が正しい内部アドレスを返していることに気付きました。異なるUnixプログラムが同じホスト名を異なる方法で解決するのはなぜですか?

4

1 に答える 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 に答える