現在、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 ping
。resolveip
それでは、問題は何ですか?この問題をどのように解決しますか?問題は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
異なる動作をする理由は何ですか?nslookup
dig
答え1
nslookup
、dig
およびhost
はDNSネームサーバーを照会するために使用されるツールです。
構成がネームサーバーから提供されていない場合(参考資料に記載されている/etc/hosts
)、これらのツールはネームサーバーに直接要求するため、その構成は表示されません。
「一般的な」解像度が有効であること(例:で指定されている方法)を確認するには、次のように/etc/nsswitch.conf
しますgetent
。
getent hosts www.winaproduct.com
答え2
構成拘束されないパッケージ(現在のLinuxにはデフォルトでインストールされています)をインストールするか、Windowsにインストールします。その後、リゾルバはすべてのDNSクエリを処理するためにこの小さくて軽いサービスを探します。拘束されないエントリ/etc/hosts
を読み取り、リゾルバDNSキャッシュにインポートします。
それ以外の場合は、システムのDNSクエリをコンピュータのアップストリームDNSサーバーにプロキシします。
これで、DNSdig
などのDNSツールだけでなく、すべてのアプリケーションがローカルファイルから応答を受け取ることができます。host
nslookup
/etc/hosts
Linuxの代わりに、次のものを使用できます。DNSmasqしかし、最後に確認したとき、Windowsにはまだインストールされていません。