/etc/hostsは何に使用されますか?

/etc/hostsは何に使用されますか?

私が理解したのは、このhostsファイルは、コンピュータネットワークのネットワークノードアドレスを指定するのに役立ついくつかのシステム機能の1つです。しかし、中には何が含まれるべきですか?デフォルトではUbuntuをインストールすると

127.0.0.1 localhost 

あるでしょう。なぜ?

  • /etc/hostsCassandraのようなJVMシステムはどのように機能しますか?
  • DNSはいつ交換できますか?コンピュータ一台にはないようですが?

答え1

このファイルは、/etc/hosts(DNSが存在する前に)インターネットに接続されているすべてのホストの解決ファイルとしてDARPAの昔から始まりました。優先順位が最も高いです。つまり、ファイルは他のネームシステムよりも優先されます。1

ただし、単一のファイルでは拡張がうまくいきません。ファイルサイズがすぐに大きすぎます。これが階層型分散ネームシステムであるDNSシステムが開発された理由です。これにより、すべてのホストが他のホストの数値アドレスを効率的に見つけることができます。

これ非常に以前のファイルの概念は、/etc/hostsアドレスとホスト名だけで非常に単純でした。

127.0.0.1      localhost

各行に。これは、アドレスとホストのペアの簡単なリストです。2

現在の主な用途は、DNS検証をバイパスすることです。ファイルで見つかった一致は/etc/hostsDNSエントリの前に使用されます。実際にlocalhost検索された名前(例:)がファイルに見つかった場合、DNS解決はまったく行われません。


1名前解決の順序は実際に定義されており、/etc/nsswitch.conf通常は次の項目を使用します。

hosts:          files dns

「ファイル(/etc/hosts)を試してください。失敗した場合はDNSを試してください」を意味します。

ただし、順序が変更または拡張される可能性があります。


2ホストファイル(現在)には複数行のテキストが含まれています。ここで、最初のテキストフィールドにはIPアドレスが含まれ、その後には1つ以上のホスト名が含まれます。各フィールドはスペースで区切られます。歴史的な理由から、タブは通常好まれますが、スペースも使用されます。コメント行を含めることができ、その行の最初の位置に#(#)文字で表示されます。ファイルの完全な空行は無視されます。たとえば、一般的なホストファイルには次のものが含まれます。

127.0.0.1   localhost loopback
::1         localhost localhost6 ipv6-localhost ipv6-loopback mycomputer.local
192.168.0.8 mycomputer.lan
10.0.0.27   mycomputer.lan

この例には、システムのループバックアドレスとホスト名のエントリが含まれており、最初の行はホストファイルの一般的な基本内容です。 2行目には、いくつかの追加(ローカルシステムでのみ有効な)名前があります。この例は、IPアドレスが複数のホスト名(localhostとループバック)を持つことができ、最初の行と2行目にそれぞれ示されているように、ホスト名をIPv4およびIPv6のIPアドレスにマップできることを示しています。名前(mycomputer.lan)は複数のアドレス(192.168.0.8 10.0.0.27)として解釈できます。ただし、この場合どのようなものが使用されるかは、コンピュータに設定されているルーティング(および優先順位)によって異なります。

いくつかの古いオペレーティングシステムいいえ報告する住所一覧与えられた名前について。

答え2

デスクトップ環境でローカルシステムに人間が読める名前を提供するには、/ etc / hostsファイルを使用することをお勧めします。ホストファイルは、ホームネットワークや小規模ビジネス環境での使用に最適です。これは、インターネットアドレッシングなどの一般的な側面にはできません。その場合は、DNSが必要です。ローカルネットワークが十分に大きい場合、別のサブネットに分割されている場合、またはその他の有用な理由がある場合は、DNSが優先されます。

ローカルホストファイルとDNSは異なる優先順位で管理されるため、競合は発生しません。

答え3

127.0.0.1 localhostLinuxでは、ファイルに少なくとも対応する /etc/hosts IPv6アドレスが必要であると言うことができます。ローカルホスト

単にホスト名を数値IPv4またはIPv6アドレスに解決します。 (a)に接続しようとしたときunix.stackexchange.comあなたの近くにいないかもしれない地球上のどこか、または(b)イノシトールホーム LAN には/etc/hostsホスト解決を実行する 1 つ以上のドメインネームサーバー (DNS) があるため、次のように入力するときunix.stackexchage.comそれが人間としてあなたが興味を持っているすべてです。覚えておく必要はありません。185.53.179.7それがコンピュータが実際に知る必要があるすべてです。

指摘したように、Linuxでは/etc/nsswitchホスト名解決の順序が一般的に定義されています。つまり、NIS を確認する前に DNS を最初に確認し、ファイルを最後に確認し、/etc/hostsそうでない場合はファイルを最後に確認します。ホストが見つかりません

注文確認の管理方法とDNSまたはNISサービスの管理対象/場所/人はあなた次第です。または、編集によってすべてを上書きできます。/etc/nsスイッチ/etc/hostsDNSやNISを確認せずに確認するだけです...

いくつかのコンピュータ(2〜Nなど)で構成された単純なホームネットワークの場合、管理者は/etc/hosts各コンピュータを編集して正しく設定できます。これは、ネームサーバーや他のサービスを1つの主要な場所に設定するよりも簡単です。より安いです。ホスト名をIPアドレスに解決する権限。

Linuxウェブ検索の歴史とその理由localhost。 Linuxの多くは、127.0.0.1と解釈されるlocalhostという名前に依存しています。これが発生しないと問題が発生し、このlocalhost定義は/ etc / hostsなどのローカルシステムファイルで発生または発生する必要があります。

/etc/hostsデフォルトでは、Linuxオペレーティングシステムには通常、ホスト名解決の最終決定権があります。 Windows XPおよび7では、そのファイルはC:\Windows\System32\drivers\etc\lmhosts Windows 8または10についてはわかりません。

関連情報