ホストを検索するときのカスタムDNSサーバーの定義

ホストを検索するときのカスタムDNSサーバーの定義

現在、ネットワークホストのDNSサーバーに問題があるため、BaiduのIPアドレスを正しく確認できません。

shell_exec('host -W 2 180.76.5.168');
shell_exec('nslookup 180.76.5.168');

ホストを確認しようとするときに独自のDNSサーバーアドレスを定義する方法はありますか?

私のlocalhost結果の出力を引用すると...

ホスト: baiduspider-180-76-5-168.crawl.baidu.com

サーバー: Wireless_Broadband_Router.home アドレス: 192.168.1.1 名前: baiduspider-180-76-5-168.crawl.baidu.com アドレス: 180.76.5.168

答え1

ホストを確認しようとするときに独自のDNSサーバーアドレスを定義する方法はありますか?

はい、次の方法を使用できます。

方法#1 - すべての方法はGoogle Public DNSで確認を試み、必要に応じて変更できます。

nslookup  180.76.5.168  8.8.8.8

方法#2

dig -x 180.76.5.168 @8.8.8.8

方法#3

host -W 2 180.76.5.168  8.8.8.8

答え2

nsswitch.confUnixシステムには、さまざまなアイテムの名前を解析する方法を制御するファイルがあります。たとえば、ホスト名はファイルの次の行で制御されます。

hosts:      files mdns4_minimal [NOTFOUND=return] dns

この行は次のように言います。

  • まず、「ファイル」(例/etc/hosts:)を見てください。
  • 次に、「mdns4_minimal」を試してみてください。これは、マルチキャストDNSを使用して名前解決を試みることを意味します。
  • 「NOTFOUND」は、以前のmdns4_minimalプロセスの見つからなかった応答が信頼できると見なされるべきであり、システムがまだ答えを見つけようとしないことを意味します。
  • 最後に、「dns」パラメータは、レガシーユニキャストDNSクエリの使用を示します。

mdns4_minimalを介して名前を解決しようとするときは、/etc/resolv.confこのファイルを参照して以下を決定します。

  • 照会するネームサーバー
  • デフォルト検索ドメイン名
  • デフォルトドメイン名

たとえば、

# Generated by NetworkManager
domain somedom.net.
search somedom.net.
nameserver 192.168.1.101
nameserver 8.8.8.8
nameserver 8.8.4.4

したがって、@RahulPatilの回答に記載されているオプションを超えてプライマリDNSサーバーを制御するには、ファイル/etc/resolv.conf内のDNSサーバーを変更する必要があります。

引用する

関連情報