![В чем разница между адресом localhost 127.0.0.1 и 127.0.1.1](https://rvso.com/image/1087113/%D0%92%20%D1%87%D0%B5%D0%BC%20%D1%80%D0%B0%D0%B7%D0%BD%D0%B8%D1%86%D0%B0%20%D0%BC%D0%B5%D0%B6%D0%B4%D1%83%20%D0%B0%D0%B4%D1%80%D0%B5%D1%81%D0%BE%D0%BC%20localhost%20127.0.0.1%20%D0%B8%20127.0.1.1.png)
Я только учусь использовать 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
Следующий снимок экрана рассказывает интересную историю.
Фактически, это показывает, что 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!