/etc/hosts
Linuxでは、DNSはホスト名をIPアドレスに解決するためにどのように連携しますか?
- でホスト名を解決できる場合は、ホスト名が解決された後に
/etc/hosts
DNSが適用されますか、それとも解決されたIPアドレスが「ホスト名」として処理され、繰り返し解決されますか?/etc/hosts
/etc/hosts
私のブラウザ(firefoxとgoogle chrome)に以下を追加するとき
/etc/hosts
:127.0.0.1 google.com www.google.com
ブラウザのアドレスバーにwww.google.comと入力してEnterを押すと、そのウェブサイトにアクセスできなくなります。その行を削除したら、
/etc/hosts
Webサイトに接続できます。これは/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/hosts
dns
何でも最初に来たもの。
また、man 5 nsswitch.conf
これに関するより多くのアイデアについては、こちらをご覧ください。
ただし、NSSホストの確認手順に従うには、次のようにデータベースgetent
として使用します。hosts
getent hosts example.com