У чому різниця між адресами localhost 127.0.0.1 та 127.0.1.1


48

Я просто вчуся за допомогою Ubuntu, і коли я намагався налаштувати DNS, мені потрібно мати справу з тим, що викликати інтерфейс localhost, петлю. Чи може хто-небудь пояснити мені відмінності між ними та значенням адрес 127.0.0.1 та 127.0.1.1, коли я повинен використовувати 127.0.0.1 і коли я повинен використовувати 127.0.1.1



1
^^^ Я набирав свою відповідь і @jdv вискакував у коментарях ...
Madivad

Відповіді:


36

Коли ваша машина запуститься, вам потрібно буде знати відображення деяких імен хостів до IP-адрес, перш ніж на DNS можна буде посилатися. Це відображення зберігається у файлі / etc / hosts. За відсутності сервера імен будь-яка мережева програма у вашій системі консультується з цим файлом, щоб визначити IP-адресу, що відповідає імені хоста.

Пристрій циклічного зворотного зв’язку - це спеціальний віртуальний мережевий інтерфейс, який ваш комп'ютер використовує для спілкування з самим собою. Він використовується в основному для діагностики та усунення несправностей, а також для підключення до серверів, що працюють на локальній машині.

loopback - це інтерфейс lo та ip 127.0.0.1 за замовчуванням

127.0.0.1 localhost

Debian ніж ubuntu вирішили визначити 127.0.1.1 для відображення ip вашого імені хоста у випадку, якщо у вас немає мережі

Ім'я хоста відповідає імені хоста, визначеному в "/ etc / ім'я хоста".

Для системи з постійною IP-адресою тут слід використовувати цю постійну IP-адресу замість 127.0.1.1.

127.0.1.1 ім'я_ хоста


1
Я розумію філософію, але не погоджуюся з формою її в / etc / hosts.
Ентоні Рутлідж

21

Це насправді нічого не означає, зокрема (це просто ще один IP-код у блоці 127.0.0.0/8).

Причина, яку він використовує як IP для вашого імені хоста, пояснюється в Розділі 10.4 Довідкового посібника Debian.

Цитата:

Деякі програми (наприклад, GNOME) очікують, що ім'я хоста системи буде доступним до IP-адреси з канонічним повноцінним доменним іменем. Це дійсно неправильно, оскільки імена системних хостів та доменні імена - це дві дуже різні речі; але там у вас є. Для підтримки цього програмного забезпечення необхідно переконатися, що ім'я хоста системи може бути вирішено. Найчастіше це робиться шляхом введення рядка в / etc / hosts, що містить деяку IP-адресу та ім'я хоста системи. Якщо ваша система має постійну IP-адресу, тоді використовуйте це; в іншому випадку використовуйте адресу 127.0.1.1.


1

Наступний знімок екрана розповідає цікаву історію.

Файл Ubuntu за замовчуванням / etc / hosts та вихідний файл ifconfig

Ефективно, це показує, що 127.0.0.1це справжня адреса петлі. Таким чином, 127.0.1.1чи існують інші причини, ніж ті, що стосуються базових IP-мереж.

Як згадує @Videonauth, 127.0.1.1лінійка є як кокетка, виправлення, щоб зробити приємне програмне забезпечення щасливим.

На мою думку, запис у циклі майже завжди повинен бути в /etc/hosts. Якщо ви зміните ім'я хоста за замовчуванням localhost, то змініть ім'я хоста в 127.0.1.1рядку, а не в 127.0.0.1рядку.

Якщо ви зміните ім'я хоста і надаєте вашому пристрою статичний IP-адрес, змініть імена хоста, і поля IP в рядку 127.0.1.1.

Словом, залиште 127.0.0.1запис у спокої.


Отже, підсумовуючи, якщо ви застосували статичний ip скажімо, 192.168.1.1, то рядок 127.0.1.1 слід замінити на ім'я хоста 192.168.1.1. Це правильно?
Кріс

192.168.1.1 <hostname>Так.
Ентоні Рутлідж

Дякую, я не був впевнений, що я налаштував декілька VM та файлів хоста, у всіх це було, я зрозумів, що це петля для деяких додатків, але тоді так було 127.0.0.1, тому я не був впевнений, чи повинен він залишитися чи ні .
Кріс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.