ファイル/etc/hosts
とDNSが一緒に機能しません。それらは名前(ネットワーク名)の独立した解決を提供します。
それらをリンクする接着剤は、Linuxシステムの内部/etc/nsswitch.conf
にあります。では/etc/netsvc.conf
AIXサーバ用、システム内のWindowsとして記載されていることができlookupd -configuration
(に似LookupOrderの検索、:Cache FF DNS NI DS
)MacOSのシステムインチ
実際の順序は複雑になり、通常、各名前解決サービスは他のレベルの解決の内部を調べることができるため(多くの場合そうです)、複雑になります。同様にdnsmasq
(通常は127.0.0.1:53
、または::1:53
(または両方)の軽量DNSサーバー)は、/etc/hosts
ファイルの内容を読み取ってインクルードします。または、ある種の条件(のsystemd.resolver
ようなドットなしの名前のみを解決する基本的なリゾルバmycomputer
)は、ドット付きの名前(mycomputer.here.dev.
)のDNS解決を直接呼び出します。
一般に、サービスは順番に呼び出され、失敗しない最初のサービスが勝ち、正しいアドレスとして受け入れられます。一般的な基本的な順序は/etc/hosts
、(ファイル)、mDNS(ドットなしの名前)、DNS、NIS、NIS +、LDAPです。一部のLinuxシステムでは、サービス内のコンピューターの最後の解決策がありますhostname
myhostname
たとえば、このシステムでは(からcat /etc/nsswitch
):
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
非常に古い(glibc 2.4以前)order
エントリが次のように設定され/etc/host.conf
ていることに注意してください。
order hosts,bind,nis
ファイル(file /etc/hosts
)ネームサービスにのみ適用されます。
NISとLDAPに関連するこの(Linux)クライアントコンピューターへの影響は、(通常)使用されるDNSサーバー(バインド、バインド解除など)によって制御されます。
そう:
- ホスト名を/ etc / hostsで解決できる場合、DNSは/ etc / hostsの後にホスト名を解決するために適用されますか、または/ etc / hostsによって解決されたIPアドレスを「ホスト名」として再帰的に解決しますか?
無し。
ホスト名がで解決することができた場合は/etc/hosts
、DNS
(ファイルがDNSの前にある場合)は適用されません。
また、解決されたIPアドレスは「ホスト名」として扱われません。
それは単に、解決されたアドレスです。
ブラウザ
ブラウザは任意のメソッドを使用して名前を解決できます(解決された名前のキャッシュをチェックした後)。システム提供の方法を使用する場合のみ、上記の順序が適用されます。ブラウザは、他のプログラムと同様に、任意のDNSサーバーに直接接続することを選択できます。
システムの順序が/etc/hosts
beforeの場合はDNS
、そのファイルのエントリがDNS
解決サービスよりも優先されることを意味します。
そう:
- ...それは、/ etc / hostsがホスト名を解決するためにDNSをオーバーライドすることを意味しますか?
はい(ブラウザがシステム提供の解像度を使用する場合)。
/etc/hosts
再度申請しないので、ウェブサイトに接続できません。
その特定の名前についてブラウザーの内部キャッシュがクリアされる(またはタイムアウトになる)まで、その名前はブラウザーの外部で再び検索されます。
ブラウザの名前がキャッシュで解決されている場合、ブラウザはその名前を再び使用します。
これを使用してキャッシュをクリアします。
または、単に閉じて(しばらく待って)ブラウザを再起動します。
/etc/hosts
は、ローカルで定義されたネームサーバーを完全に無視します。初めて目撃するのはかなり混乱します。(あなたを見て、Chromiumベースのブラウザ!)