GNU/Linux >> Linux の 問題 >  >> Linux

Linux の /etc/hosts ファイルについて

/etc/hosts とは何ですか? なぜ使用するのですか?

ネットワーク トラフィックをホストに送信するには、そのホストの数値のインターネット プロトコル (IP) アドレスを知る必要があります。 IP アドレスは、伝統的に xxx.xxx.xxx.xxx のように記述されます。各 xxx は、IPv4 ネットワーク アドレスの 0 ~ 255 の値を表します。コンピュータはこれらのアドレスを必要としますが、人間は数値を覚えるのが難しいと感じています。ドメイン ネーム サービス (DNS) は、1 つ以上の英数字の名前を数値の IP アドレスに関連付けるメカニズムを提供します。 Linux システムでは、これらの読み取り可能な名前は、glibc RPM パッケージの一部として提供される libresolve.so ファイルに含まれるリゾルバー ライブラリによって、対応する数値の IP に変換されます。名前を取得するために数値の IP アドレスを検索する必要があるプログラムは、このライブラリを呼び出します。

ホスト名とその IP アドレスは、ローカル ファイル、リモート DNS サーバー、NIS+ サーバーなど、さまざまな場所にある可能性があります。これらのリソースが検索される順序は、ホストによって異なります:/etc/nsswitch.conf のエントリ ファイル。通常、この行は次のようになります:

# vi /etc/nsswitch.conf
hosts: files dns

これにより、リゾルバ ライブラリは最初にローカルの /etc/hosts ファイルを調べます。そこにホスト名が見つからない場合は、/etc/resolv.conf で識別されるリモート DNS ネーム サーバーを参照してください。 ファイル。

Linux は bind を提供します 管理ドメインが独自の DNS サービスを構成および維持できるようにする RPM パッケージですが、多くの場合、ローカル ネットワークのサイズは数個のホストにすぎず、DNS サービスを維持する努力を正当化することは正当化されません。

/etc/hosts ファイルの形式

/etc/hosts ファイルは通常のテキスト ファイルです。次の 2 種類の行が許可されます:

<オール>
  • 空行
  • ホスト名の定義
  • 必要に応じて、行が混在する場合があります。コメントはハッシュ記号 (#) で始まります ) そして、行末まで続けます。

    ホスト名と IP アドレスの関連付け

    ホストごとに、次の情報を含む 1 行が必要です:

    IP_address canonical_hostname [aliases ...]

    エントリのフィールドは空白 (スペースまたはタブ) で区切られます。最初のフィールドは、このエントリのすべてのホスト名に使用される数値の IP アドレスです。要件に応じて、IPv4 アドレス (10.1.2.3)、IPv6 アドレス (2001:0db8:0000:0000:0000:0000:1428:57ab)、または IPv6 省略形 (::1) を使用できます。

    IP アドレスの後に続くトークンは、その IP アドレスに関連付けられたローカルで既知のホスト名を指定します。慣例により、IP アドレスの後の最初の名前は正規または完全修飾ドメイン名です。正規名の例は、server.example.com です。これはホストの正式名称です。

    IP アドレスに定義された残りの名前は、正式なホスト名のエイリアスまたは代替名です。たとえば、server.example.com に割り当てられた職務の 1 つが企業の FTP サイトであるとします。その場合、適切なエイリアスは myftp.example.com であり、この名前を正規名の後に /etc/hosts エントリに追加できます。多くの場合、エイリアスは単にホスト名であり、ドメイン サフィックスはありません。例:

    192.168.10.12 server.example.com myftp.example.com myhost myftp

    行の最初の定義として正規のホスト名をリストする利点は、IP からホスト名への変換 (リバース DNS ルックアップと同様) では、通常、最初に見つかった名前のみが表示されることです。慣例では、これに正規名を使用します。この例では、コマンド:

    $ ping myftp
    PING myhost.example.com (192.168.10.12) 56(84) bytes of data.
    64 bytes from myhost.example.com (192.168.10.12): icmp_seq=1 ttl=64 time=0.023 ms
    64 bytes from myhost.example.com (192.168.10.12): icmp_seq=2 ttl=64 time=0.028 ms
    64 bytes from myhost.example.com (192.168.10.12): icmp_seq=3 ttl=64 time=0.028 ms

    myftp に ping を実行しましたが、結果はホスト myhost からのものであることに注意してください。これは、実際のホストではなく、エイリアスをアドレス指定しているという信頼できるヒントです。


    Linux
    1. / etc / hostsを補完するユーザー固有のHostsファイルを作成しますか?

    2. ドメイン名を含めるか、/ etc / hostsに含めないか?

    3. Linux の /etc/inittab ファイルについて

    1. Linux / etc/fstabファイルの紹介

    2. /etc/login.defs ファイルについて

    3. Linux/OSX の /etc/hosts/ ファイルで、ワイルドカード サブドメインを使用するにはどうすればよいですか?

    1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

    2. Linux の /etc/xinetd.conf ファイルについて

    3. Linux のサンプル /etc/services ファイル