複数のAmazon EC2サーバーがあり、Chefを使用して設定を管理しています。デフォルトのbashプロンプトがより便利になるようにホスト名を設定したいと思います。
これで、新しいサーバーを起動した後、次のように設定されました。
root@ip-10-123-123-123
このコンピュータでUbuntu 12を使用しているので、そのマニュアルページを参照しました。CPU名。設定方法に関する良い情報がたくさんあり、ホスト名とFQDNについて少し議論していますが、実際に知りたいことは教えてくれません。
ホスト名を設定するとどのような結果が発生しますか?
ホスト名の設定は、ほとんどがユーザーとシステム管理者のための便利な項目であると仮定し、ボックスに顔/良い名前を付けて内部的に識別しやすくします(コマンドプロンプト、電子メール送信など)。私は肯定的ではありません。
ファイルにホスト名が表示されません/etc/hosts
。これは、ホスト名が変更されても悪影響を及ぼさないという良いシグナルのようです。
127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
私は正しい道を行っていますか?ホスト名の設定はどのような影響を与えますか?
修正する
EC2インスタンスのホスト名をからに変更しようとしましたが、機能しなくなりip-10-123-123-123
ましたwebserver
。hostname --fqdn
また敷いてみるとうまくいきました。また、Apacheは起動時にfqdnを確実に決定できないというエラーを表示します。私はFQDNを壊さずにホスト名を設定する方法があると思いました。
答え1
DNSまたは/ etc / hostsを介してホスト名を解決できることを追加したいと思いました。そうしないと、ホスト名の検索に失敗したため、多くのツールで長い遅延が発生する可能性があります。多くのGUIプログラムでこの問題が発生しました。
答え2
ホスト名(コマンドで設定および表示され、通常は保存されhostname
ます/etc/hostname
)はローカルアプリケーションで使用されます。他のコンピュータには知られておらず、ホストへの接続には使用できません。ホスト名は通常シェルプロンプトに表示され、コミット時にバージョン管理ソフトウェアなどのロギング目的でさまざまなアプリケーションで使用できます。
ホスト名と他のコンピュータがあなたのコンピュータを指定するために使用できる名前との間に技術的な関連付けはありません。これドメイン名システム通常、インターネット(より正確にはネットワークインタフェース)の文脈でコンピュータの名前を指定するために使用されます。ホスト名が世界中のほとんどが見ることができるコンピュータネットワークインターフェイスのDNS名の最初のコンポーネントと同じ場合は良い考えです。たとえば、サーバーがイーサネットインターフェイスを介して世界中に接続されていてeth0
IPアドレスeth0
名がfoo.example.com
ある場合は、foo
ホスト名として選択することをお勧めします。これを行うと、foo.example.com
よく呼ばれる完全修飾ドメイン名コンピュータの(完全修飾ドメイン名)。しかし、不一致にすることもできます。違いは管理者を混乱させる可能性がありますが、ソフトウェアにとって重要ではありません。
一部のネットワークプロトコルはホスト名を使用してホストを識別できます。その場合は、ホストシステムで実行されているローカルプロセスを介して転送する必要があります。たとえば、一部の設定では動的ホスト構成プロトコルクライアントは、IP アドレスを取得するためにホスト名を DHCP サーバーに送信します。 DHCPサーバーは、宣言されたホスト名を使用して、クライアントに属するIPアドレスを決定できます。これらの設定では、ホスト名がDNS名と一致する必要があります。