web-dev-qa-db-ja.com

ホスト名が/ etc / hostsに127.0.0.1ではなくアドレス127.0.1.1で表示されるのはなぜですか?

これは少しおかしな質問かもしれませんが、私は新しいXubuntuインストールで/ etc/hostsを見て、これを見ました:

127.0.0.1 localhost
127.0.1.1 myhostname

私が使用したほとんどの「ニクス」では、2行目が省略されています。ホスト名をホストファイルに追加する場合は、次のようにします。

127.0.0.1 localhost myhostname

これら2つのファイルの間に実際的な違いはありますか?

217
Tom

2つの間に大きな違いはありません。 127/8(例:127.0.0.0 => 127.255.255.255)はすべてループバックインターフェイスにバインドされています。

理由は、Debianマニュアルの Ch。5ネットワークセットアップ-5.1.1。ホスト名の解決 に記載されています。

最終的には、これはバグの回避策です。元のレポートは 16099 です。

166
Daniel Pittman

リンク先情報を要約するには:

  • マシンの完全修飾ドメイン名を永続的なIPアドレスに変換する/etc/hostsにエントリがあると(間違いなく)便利です。
  • debian-installer、より具体的には、現在(少なくとも2013年3月まで)のnetcfgコンポーネントがこのエントリを作成します。
  • マシンに永続的なIPアドレスが設定されていないことがわかっている場合でも、debian-installerはそのようなエントリを求めています。
  • アドレス127.0.1.1ループバックインターフェイス を使用します。これは、127.0.0.1と同様に独自のマシンによって応答されますが、/etc/hosts内の個別のエントリであり、必要に応じて127.0.0.1とは別個に考慮することができます。

Thomas Hoodは、このエントリの追加について次のように説明しています。

[これ]により、UNIXホスト名が解決された場合は、常に独自の正規ホスト名になります。

だが:

長期的には、UNIXホスト名を/ etc/hostsに含めないでください。

49
einpoklum

私は自分自身に興味があり、他の回答はどれも好きではありませんでした。

答え:これを振り返ると doc トーマスがループバックで別の専用IPを提供していると述べているように見えます正規のものにすることができます。

どちらもループバックを指しています。次の127.0.1.1の使用はループバック上の実際のIPですが、127.0.0.1はデバイス自体、またはループバック上の別のIPのいずれかです。どちらもループバックを表す同じサブネット上にありますが、IPで区切られています。それらは賢明なDNSですが、専用のIPがあるために分離されています。

つまり、このように1行にすべてのエントリを含めることができます

127.0.0.1 localhost localhost.domain www.myfakednsname.com myakednsname.com 

ホスト名がローカルの場合、つまり、実際のインターネットIPにマップされたグローバルインターネットDNSエントリがない場合、この場合、トーマスはNEED TO2番目のエントリ行を用意し、このような専用の(正規の)ようにします。

127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname
11
Brian Thomas

私はいくつかの回答を読みましたが、率直に言って少し混乱しています。

私は最初に正規のホスト名とは何かを理解しようとしました here

私が言えることは、@ cmroanirgoが私のUbuntuラップトップで、

hostname --fqdn 

/etc/hostsこのように構成されています

127.0.0.1   localhost 
127.0.1.1   laptop

laptopを返しますが、ファイルを次のように変更します

127.0.0.1   localhost laptop

localhostを返します。

これがどのような影響を与えるかはわかりませんが、ホスト名にバインドするソフトウェアがあり、マシンの内部でそれと通信する必要がある場合、「localhost」ホスト名を使用できるとは思わないこの設定では、2つの異なる個別のアドレスが解決されるため、この作業を実行します。

2