В чем разница между адресом localhost 127.0.0.1 и 127.0.1.1

В чем разница между адресом localhost 127.0.0.1 и 127.0.1.1

Я только учусь использовать Ubuntu и когда я пытался настроить DNS, мне нужно было иметь дело с чем-то, что называется localhost, loopback interface. Может ли кто-нибудь объяснить мне разницу между ними и значение адресов 127.0.0.1 и 127.0.1.1, когда мне следует использовать 127.0.0.1, а когда 127.0.1.1

решение1

При запуске вашей машины ей необходимо знать сопоставление некоторых имен хостов с IP-адресами, прежде чем можно будет ссылаться на DNS. Это сопоставление хранится в файле /etc/hosts. При отсутствии сервера имен любая сетевая программа в вашей системе обращается к этому файлу, чтобы определить IP-адрес, соответствующий имени хоста.

Устройство обратной связи — это специальный виртуальный сетевой интерфейс, который ваш компьютер использует для связи с самим собой. Он используется в основном для диагностики и устранения неполадок, а также для подключения к серверам, работающим на локальной машине.

Интерфейс loopback loи IP-адрес по умолчанию — 127.0.0.1.

127.0.0.1 localhost

Debian, а затем Ubuntu, выберите определение 127.0.1.1 для сопоставления IP-адреса вашего host_name в случае, если у вас нет сети.

Имя хоста соответствует имени хоста, определенному в /etc/hostname.

Для системы с постоянным IP-адресом следует использовать этот постоянный IP-адрес вместо 127.0.1.1.

127.0.1.1 host_name

решение2

На самом деле это ничего конкретного не означает (это просто еще один IP в блоке 127.0.0.0/8).

Причина, по которой он используется в качестве IP-адреса для вашего имени хоста, объясняется в разделе 10.4.Справочное руководство Debian.

Цитировать:

Некоторое программное обеспечение (например, GNOME) ожидает, что системное имя хоста будет разрешаться в IP-адрес с каноническим полностью определенным доменным именем. Это действительно неправильно, поскольку системные имена хостов и доменные имена — это две совершенно разные вещи; но вот вам и все. Для поддержки этого программного обеспечения необходимо обеспечить возможность разрешения системного имени хоста. Чаще всего это делается путем помещения строки в /etc/hosts, содержащей некоторый IP-адрес и системное имя хоста. Если у вашей системы есть постоянный IP-адрес, то используйте его; в противном случае используйте адрес 127.0.1.1.

решение3

Следующий снимок экрана рассказывает интересную историю.

Файл /etc/hosts по умолчанию в Ubuntu и вывод 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запись в покое.

решение4

127.0.0.1 — это адрес обратной связи, обычно известный как localhost, который является именем, которое разрешается в него локальным файлом hosts. Этот файл находится в разных местах в зависимости от ОС, но в большинстве дистрибутивов Linux он находится в /etc/hosts. Этот адрес всегда относится к компьютеру, который сделал запрос, поэтому 127.0.0.1 не является «настоящим» адресом, так сказать. Каждое устройство имеет свой собственный localhost. 127.0.1.1 с другой стороны, используется определенным программным обеспечением для обозначения того же самого, в некотором роде псевдонимом, но не совсем. Адрес обратной связи, используемый вашей машиной внутри, должен быть 127.0.0.1, поэтому не возитесь с этим адресом в вашем файле hosts!

Связанный контент