`/etc/hosts`とDNSはどのように連携してホスト名をIPアドレスに解決しますか?

`/etc/hosts`とDNSはどのように連携してホスト名をIPアドレスに解決しますか?

/etc/hostsLinuxでは、DNSはホスト名をIPアドレスに解決するためにどのように連携しますか?

  1. でホスト名を解決できる場合は、ホスト名が解決された後に /etc/hostsDNSが適用されますか、それとも解決されたIPアドレスが「ホスト名」として処理され、繰り返し解決されますか?/etc/hosts/etc/hosts
  2. 私のブラウザ(firefoxとgoogle chrome)に以下を追加するとき /etc/hosts

    127.0.0.1 google.com www.google.com
    

    ブラウザのアドレスバーにwww.google.comと入力してEnterを押すと、そのウェブサイトにアクセスできなくなります。その行を削除したら、/etc/hostsWebサイトに接続できます。これは/etc/hosts、ホスト名を解決するためにDNSが上書きされることを意味しますか?

    行を再追加した後でも/etc/hostsページを更新した後もサイトに接続できます。なぜ /etc/hosts再適用されないため、ウェブサイトに接続できないのですか?

ありがとうございます。

ベストアンサー1

これは、NSS(Name Service Switch)構成(/etc/nsswitch.confファイルディレクティブなど)によってhosts決まります。たとえば、私のシステムでは次のようになります。

hosts:    files mdns4_minimal [NOTFOUND=return] dns

ここではファイルとDNSシステムをfiles意味します。想像できるように/etc/hostsdns何でも最初に来たもの

また、man 5 nsswitch.confこれに関するより多くのアイデアについては、こちらをご覧ください。


ただし、NSSホストの確認手順に従うには、次のようにデータベースgetentとして使用します。hosts

getent hosts example.com

おすすめ記事