解決策 1:
最近では、システムに複数のインターフェイスがあり、それぞれに複数のアドレスがあり、各アドレスに複数の DNS エントリが関連付けられている場合もあります。では、「システム ホスト名」とは何を意味するのでしょうか?
多くのアプリケーションは、他の場所で通信するときに、システムのホスト名をデフォルトの識別子として使用します。たとえば、中央サーバーで syslog メッセージを収集している場合、メッセージはすべて元のシステムのホスト名でタグ付けされます。理想的な世界では、おそらくこれを無視するでしょう (必ずしもクライアントを信頼したいわけではないため) が、デフォルトの動作 (すべてのシステムに "localhost" という名前を付けた場合) では、多くのログ メッセージが表示されます。特定のシステムに関連付けることはできません。
他の人が指摘しているように、システムのホスト名は、多数のシステムにリモートでアクセスしていることに気付いた場合にも便利な識別子です。 「localhost」という名前のシステムに 5 つのウィンドウが接続されている場合、それらをまっすぐに保つのに苦労するでしょう。
同様に、システムのホスト名を、システムへの管理アクセスに使用するホスト名と一致させようとします。これにより、システムについて言及する際の混乱を避けることができます (電子メール、会話、ドキュメントなど)。
DNS について:
混乱を避けるために、アプリケーションに適切な順方向および逆方向の DNS エントリが必要です。 いくつか必要です 人々があなたのアプリケーションに便利にアクセスできるように、エントリ (名前 -> IP アドレス) を転送します。リバース エントリの一致は、さまざまな理由で役立ちます。たとえば、対応する IP アドレスがログで見つかった場合に、アプリケーションを正しく識別するのに役立ちます。
ここでは、「システム」ではなく「アプリケーション」について話していることに注意してください。これは、特に Web サーバーでは、1 つのシステムに複数の IP アドレスがあり、異なるホスト名とサービスに関連付けられていることが一般的であるためです。
/etc/hosts
で名前から IP へのマッピングを維持しようとしています 管理するシステムの数が増えるにつれて、ファイルの管理が急速に困難になります。ローカル ホスト ファイルが DNS に関して同期しなくなることは非常に簡単であり、混乱を招く可能性があり、場合によっては誤動作につながる可能性があります (たとえば、システムに存在しなくなった IP アドレスに何かがバインドしようとするため)。
解決策 2:
すべてのホスト名を「localhost」に設定できますが、[email protected] ~ $
を指定すると非常に便利です ssh 経由でマシンを管理する場合は、コマンド プロンプトで。
Web サーバーまたはメール サーバーをホストする場合は、正しい FQDN を持つことが重要です。この種のサーバー アプリケーションは、自分が "誰" で実行されているかを知りたがります。
適切な命名スキームを選択するために、この非常によくある質問を参照してください。
FQDN は、別のコンピュータにとって意味がある場合にのみ有効になります。これには 3 つのレベルがあります:
- ローカル ネットワーク上の 1 台のコンピュータのホスト ファイルに、そのコンピュータを指すエントリがあります
- ローカル ネットワークで DNS サーバーを実行していて、DNS サーバーとして使用するすべてのローカル コンピュータが plato を名前で認識できるようになりました。
- ドメイン名を登録すると、plato.alixaxel.com という名前がどのマシンを指しているかが世界中に知られるようになります。
電子メールを送信したり、Web ページを外部に提供したりする場合は、3 番目が必要です。他のほとんどの場合は、ローカル DNS を使用したり、ホスト ファイルを編集したりできます。
その場合は、ローカル ネットワーク内で使用するドメイン名 (plato.alixnetwork を FQDN として使用できます) を作成するだけです。 「alixnetwork」部分 (ドメイン名) を持つことの唯一の付加価値は、それを区別したい別のローカル ネットワークがある場合の利便性です。
解決策 3:
基本的な概要。ホスト名は単なるポインターです。マシンが参照するホスト名として特定のものを 1 つ割り当てることもできますが、複数持つこともできます。一部のサービス、特筆すべきメール、および HTTP は、ドメイン名に依存して、サービスの場所とサービスへのアクセス方法を認識しています。
ずっと前に、これらすべての名前 (これも単なる IP アドレスへのポインタです) は hosts
というファイルで追跡されていました。 .システムが成長するにつれて、相互接続されたさまざまなネットワークに参加している関連するすべてのコンピューター間でファイルの同期を維持することができなくなりました。そこでDNSシステムが発明されました。名前の検索を行うと、最初にホスト ファイルがチェックされ、次に DNS システムがチェックされます。 Windows は、WINS や NetBIOS などの他のシステムもチェックする場合があります。
hosts
にエントリを入れると ファイルをコンピュータに割り当てていません。コンピュータで使用されるものとしてホスト名を割り当てることは、構成ファイル (*nix システム上) および Windows システムのシステム プロパティ (Windows システムには NIC 固有のサフィックスを持つこともできます) で行われます。
hosts
のエントリ ファイルは、DNS システムと同様に、ホスト名から IP アドレスへの単なるマッピングです。ホスト名 'localhost' (特別なことは何もありません。他のすべてのホスト名と同じです) を使用するには、ループバック インターフェイスにマップする必要があります (したがって、常にローカル コンピューターを指すようになります)。これが確実に機能するように、すべてのコンピュータには hosts
でこのデフォルト マッピングが付属しています。 ファイルですが、そのホスト名を使用したくない場合は削除される可能性があります。
さらに、他の人が指摘したように、コンピューターにホスト名を割り当てることは非常に便利です。コンピューターに接続すると、ログイン時に、またはプロンプトとして、またはその他の任意の場所にホスト名を表示させることができます。これにより、接続しているコンピュータを簡単に識別できます。そのホスト名を DNS に設定するか、すべての hosts
に入れると、 ファイルを使用すると、常に IP アドレスを知る必要がなく、ホスト名を参照することでコンピューターに接続できるようになります。 (アドレスが変更される可能性があるため、コンピュータが DHCP を使用している場合はさらに便利です。コンピュータが DNS を更新すると、DNS レコードは新しい IP アドレスを指します。DNS 名を知っているため、新しい IP アドレスを知らなくても接続できます。 ).
両方の hosts
には他にも多くの用途があります と DNS ですが、これをすべて読んだ場合、答えよりも疑問の方が多いと思います.
解決策 4:
ホストには意味のある名前を付ける必要があります。ホスト名は複数の目的で使用できます:
1- 現在取り組んでいるものを認識するのに役立ちます。
2- /etc/hosts
で設定された名前を使用する および/または DNS レコードは、多くの IP アドレスを覚えるよりも簡単です。
3- localhost は、現在のマシン (アドレス 127.0.0.1) を参照する予約済みの名前です。
4- DNS レコードは、サーバーをパブリックにアクセスできるようにするのに役立ちます。
各サーバーに適切な名前を選択すると、管理に非常に役立ちます。また、クライアントがサーバーにアクセスするのにも役立ちます。
解決策 5:
余談ですが、DNS の順方向および逆方向の解決を適切に行うことは、この地球上のすべての IT インストールの絶対的な基礎です。よく維持された DNS と適切なホスト名解決の必要性を決して過小評価しないでください!