nslookup、dig、firefox は /etc/hosts ファイルエントリを無視します。

nslookup、dig、firefox は /etc/hosts ファイルエントリを無視します。

現在、Debian のインストールにはいくつかの深刻なバグがあります。ほとんどのプログラム(firefox、nslookup、digなど)は/etc/hostsファイル内のエントリを無視します。私は実際にこのファイルを使って広告をブロックします。

一例

/etc/hostsファイルの行

127.0.0.1 www.winaproduct.com

これを行うとdig +short www.winaproduct.com。代わりに、サーバーの対応するIPアドレスが返されます127.0.0.1

Firefoxで開くと、www.winaproduct.comそのウェブサイトが表示されますが、これは予想されません。

pingしかしbusybox nslookup、背中は問題ではありませんbusybox pingresolveip

それでは、問題は何ですか?この問題をどのように解決しますか?問題はDNS検証ライブラリにあると思います。

の一時的な変更、設定dnsmasq、変更nameserverです。127.0.0.1/etc/resolv.conf

修正する

libnss3依存関係でインストールした後、問題は魔法のように解決されました。google-chrome

デフォルトの/etc/nsswitch.confは次のとおりです。hosts: files dns

DNSを直接要求するのではなく、/etc/hostsファイルを最初に要求するように指示するにはどうすればよいnslookupですか?dig

ところでbusybox nslookup、背中がwget、背中とはresolveip異なる動作をする理由は何ですか?nslookupdig

答え1

nslookupdigおよびhostはDNSネームサーバーを照会するために使用されるツールです。

構成がネームサーバーから提供されていない場合(参考資料に記載されている/etc/hosts)、これらのツールはネームサーバーに直接要求するため、その構成は表示されません。

「一般的な」解像度が有効であること(例:で指定されている方法)を確認するには、次のように/etc/nsswitch.confしますgetent

getent hosts www.winaproduct.com

答え2

構成拘束されないパッケージ(現在のLinuxにはデフォルトでインストールされています)をインストールするか、Windowsにインストールします。その後、リゾルバはすべてのDNSクエリを処理するためにこの小さくて軽いサービスを探します。拘束されないエントリ/etc/hostsを読み取り、リゾルバDNSキャッシュにインポートします。

それ以外の場合は、システムのDNSクエリをコンピュータのアップストリームDNSサーバーにプロキシします。

これで、DNSdigなどのDNSツールだけでなく、すべてのアプリケーションがローカルファイルから応答を受け取ることができます。hostnslookup/etc/hosts

Linuxの代わりに、次のものを使用できます。DNSmasqしかし、最後に確認したとき、Windowsにはまだインストールされていません。

関連情報