Почему имя хоста отображается с адресом 127.0.1.1, а не 127.0.0.1 в /etc /hosts?

Это может быть немного вопрос noobish, но я смотрел /etc /hosts в моей новой установке Xubuntu и видел это:

127.0.0.1 localhost
127.0.1.1 myhostname

В большинстве 'nix, которые я использовал, вторая строка опускается, и если я хочу добавить мое имя хоста в файл hosts, я бы просто сделал это:

127.0.0.1 localhost myhostname

Есть ли разница между этими двумя файлами в любом практическом смысле?

186 голосов | спросил Tom 23 FebruaryEurope/MoscowbThu, 23 Feb 2012 21:44:48 +0400000000pmThu, 23 Feb 2012 21:44:48 +040012 2012, 21:44:48

3 ответа


146

Между ними нет большой разницы; 127/8 (например: 127.0.0.0 = gt; 127.255.255.255) привязаны к интерфейсу loopback.

Причина, описанная в руководстве Debian в Ch. 5 Настройка сети - 5.1.1. Разрешение имени хоста .

В конечном счете, это обход проблемы; исходный отчет 316099 .

ответил Daniel Pittman 23 FebruaryEurope/MoscowbThu, 23 Feb 2012 21:47:52 +0400000000pmThu, 23 Feb 2012 21:47:52 +040012 2012, 21:47:52
42

Подводя итог связанной информации:

  • Полезно иметь запись в вашем /etc /hosts, переводя полное доменное имя компьютера в его постоянный IP-адрес.
  • debian-installer, а точнее, его компонент netcfg, в настоящее время (по крайней мере, до марта 2013 года) создает эту запись.
  • Если у устройства неизвестен постоянный IP-адрес, debian-installer все еще хочет, чтобы он имел такую ​​запись.
  • Адрес 127.0.1.1 использует интерфейс обратной связи , ответом вашей собственной машины, как и 127.0.0.1, но является отдельной записью в /etc /hosts, которую можно рассматривать отдельно от 127.0.0.1, если /при необходимости.

Томас Худ объясняет добавление этой записи следующим образом:

  

[Это] гарантирует, что если имя хоста UNIX будет разрешено, оно будет   всегда будет свое собственное каноническое имя хоста

а

  

В конечном итоге имя хоста UNIX не должно быть помещено в /etc /hosts вообще.

ответил einpoklum 22 MarpmFri, 22 Mar 2013 20:53:13 +04002013-03-22T20:53:13+04:0008 2013, 20:53:13
5

Мне было любопытно, и мне не понравился какой-либо другой ответ, потому что они, похоже, не отвечали на то, что я искал по крайней мере.

Ответ: Оглядываясь назад на этот doc , он почти выглядит так, как если бы Томас был заявив, что это еще один выделенный ip на петле, позволяет ему быть каноническим.

Оба указывают на ваш loopback. Используя следующее    127.0.1.1 представляет собой фактический IP-адрес по обратной связи, тогда как     127.0.0.1 это либо само устройство, либо другое ip на loopback. Оба заканчиваются в одной подсети, представляя loopback, но разделяются ip. Они эквивалентны dns мудрый, но разделены из-за наличия выделенного ip.

Суть в том, что вы можете иметь все свои записи на одной строке, подобной этой

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

Если ваше имя хоста является локальным, значение не имеет глобальной интернет-записи DNS, сопоставленной с фактическим интернет-ip, тогда в этом случае Томас говорил, что у вас NEED TO есть вторая строка ввода, например это посвятить его там (каноническому).

127.0.0.1 localhost localhost.localdomain
127.0.1.1 myfakednsname
ответил Brian Thomas 2 AM00000080000005431 2016, 08:02:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132