web-dev-qa-db-ja.com

ホスト名を設定する必要があるのはなぜですか?

ホスト名についてはかなりの数の質問があることを私は知っています。しかし、それらを読んだ後でも、ホスト名の概念を完全には理解していませんでした。だからここに私の質問があります:

LinodeでVPSをセットアップする際に私はこれに従っています ガイド

最初のステップは、ホスト名を設定することです。私の理解では、ホスト名は、ネットワーク内のマシンを識別するために設定できる任意の名前です。また、FQDNは、ホスト名とドメイン名(サーバーでホストされているWebドメインに関連付けることもできないこともあります)です。私が間違っている場合は私を訂正してください。

次に、/ etc/hostsを変更して、次のようなものを追加するように指示します。

12.34.56.78    plato.example.com    plato

だから私の質問は、この行は正確に何を達成するのですか?私は以前にそれをしたことがありますが、それが何をしたのか本当に理解したことはありません。また、FQDNで使用されるホスト名とドメイン名が任意である場合、どこで使用できますか?実際のユースケースは非常に役立ち、詳細な説明があれば素晴らしいでしょう。ありがとう!

6
gerky

特定のアプリケーションは、明示的に設定されていない限り、特定のパラメーターにホスト名を使用します。たとえば、Postfixは、設定ファイルで特に指定しない限り、マシンのホスト名を使用して自身を識別します。

ホストファイルは名前解決に使用されます。ドメイン名を解決するとき、サーバーはDNS要求を行う前にhostsファイルをチェックします。

投稿したその行は、基本的にサーバーに「plato.example.com」と「plato」をそのIPアドレスに解決させます。そのため、通常は最初の行に127.0.0.1 localhost localhost.localdomain ....が表示されるため、サーバーは常にホスト名をそれ自体に解決します。

10
Safado

これにより、DNSがオフラインの場合でも、システムは自身の名前を解決できます。昔はDNSがなく、接続する必要のあるすべてのマシンの名前とIPペアを使用してhostsファイルを共有していました。

/etc/nsswitch.confを見ると、ホストの場合(とにかくデフォルトで)、hosts:filesdnsという行があることがわかります。

これは、最初にhostsファイルをチェックし、そこで名前が見つからない場合はDNSに移動することを意味します。これにより、ローカルホストの名前またはIPを頻繁に検索するアプリがある場合、多くのネットワークトラフィックを節約できます(まあ、現在通常行っている名前検索をキャッシュしていません)。

8
TheFiddlerWins