そのため、ホスト名は(少なくともDebianシステムでは)/etc/hostname
に設定する必要があることを理解しています。 (hostname -f
を介して)FQDNを取得するために、システムはホスト名から/etc/hosts
を介してIPを検索し、行の最初のエントリを返します。
したがって、ホスト名がserver1
で、これが/etc/hosts
にある場合:
192.0.2.1 server1.example.com server1
server1.example.com
を返します。したがって、これは多くのWebサイトで説明されている方法です。しかし、私は考えていました:ループバックアドレスにホスト名を割り当てませんか? localhost
と同じように:
127.0.0.1 server1.example.com server1 localhost
このアプローチでは、外部IPアドレスを知っている必要はありません。また、FQDNを使用する可能性のあるアプリケーションは、ネットワークを経由するのではなく、システム上で直接要求を行います。
だから、なぜこのようにしないのですか?ほとんどの例がインターネット上で外部IPアドレスを使用しているのはなぜですか?
可能性がありますいくつかの理由で悪い考えです
iPを持っている(そして他のホストと通信している)場合は、外部で既知のIPの前にホスト名を置くことを強くお勧めします。
一部のプロトコルは、「他の人にあなたのホスト名とそのIPアドレスを教えて」「大丈夫。他の人、私はfoo.localnetwork(127.0.0.1)」と言うことができます。他の男はこのパケットを、IPレベルでは外部IPで、プロトコルレベルでは127.0.0.1 IPで受信するため、そのプロトコルがアドバタイズされた情報の代わりにアドバタイズされた情報を使用する必要がある場合、交換が困難になる可能性があります。 IPレベルのもの(たとえば、SIPはこれに問題がある可能性があります...)
さらに、一部のサービスはホスト名に関連付けられたIPを保持するインターフェイスにのみバインドするため、それらのサービスはループバックデバイスを介してホストとのみ通信できます。
これは、少なくとも新しいUbuntuリリースではデフォルトです。
これが私の/etc/hosts
設定:
127.0.0.1 localhost.localdomain localhost
127.0.1.1 sprinkler.internal.lan sprinkler
まったく問題がなく、実際には、一部の操作で有効なDNSを必要としないという追加の効果があります。
私は個人的に、ローカルaptリポジトリや一部のビルダーなどのエントリをいくつか追加する傾向があります。