hostname -i と /etc/hosts の違い

hostname -i と /etc/hosts の違い

長い話を短くすると、同僚と私は、リモート接続を介して jconsole を私たちの開発ボックスに接続しようとして、悲惨な時間を過ごしています (私の場合、開発ボックスは私のネットワーク上にあるのですが)

基本的に、私たちは次のようなガイドを見つけました

そこで、jconsole をデバッグ モードで起動します (ターミナルから jconsole -debug)。ローカル (サーバーの観点から) IP (例: 127.0.1.1) が表示された場合は、サーバーにアクセスし、hostname -i と入力して、サーバーによってホスト名がどのように解決されるかを確認します (例: 127.0.1.1)。次に、サーバーのホスト名がローカル IP (127.0.1.1) に変換される etc/hosts ファイルの行を変更する必要があります。行を削除して DNS を使用するか、サーバーの IP を挿入することができます。

チェックしたところ、 の値が/etc/hostsの値と異なっていましたhostname -i。これは正しいですか。正しくない場合は、/etc/hosts反映するように変更する必要がありますかhostname -i

ありがとう

答え1

ホスト名 (127.0.1.1) または localhost (127.0.0.1) に割り当てられたループバック アドレスではなく、ホストの実際の IP アドレスを使用するように指示されています。ボックスの IP が 192.168.5.5 の場合は、それを hosts ファイルに追加します。ネットワークで IP アドレスが動的に割り当てられる場合は、ボックスの DNS 名を使用して、IP 割り当てが変更されても自動的に解決されるようにします。

したがって、ボックスの名前が「BOX1」で、IP が 192.168.5.5 であると仮定すると、ホスト ファイルに次のような行が含まれることになります。

192.168.5.5     BOX1

または、これをすべて無視して、BOX1 を 127.0.0.1 にマッピングする行を削除することもできますが、これにより他のアプリケーションに干渉する可能性があります。

関連情報