Битлента
Словарь терминов3 мин чтения·

Адрес 127.0.0.1 и localhost: что за «домашний» адрес компьютера

Что такое localhost и loopback, почему пакеты на 127.0.0.1 не выходят в сеть, чем он отличается от 0.0.0.0 и как использовать адрес при проверке служб.

Адрес, ведущий к самому себе

Когда программа обращается к адресу 127.0.0.1, пакет не отправляется на сетевую карту и не покидает устройство. Операционная система разворачивает его внутри: виртуальный интерфейс loopback принимает данные и тут же возвращает их локальному приёмнику. Отсюда название, «петля».

Имя localhost по умолчанию указывает именно на этот адрес. В IPv6 то же самое обозначает ::1. Связь имени и адреса записана в файле hosts, а значит, для localhost обычно не нужен внешний DNS-сервер.

Не один адрес, а целая сеть

Формально для loopback выделен весь диапазон 127.0.0.0/8, это около шестнадцати миллионов адресов. Любой из них, например 127.0.0.2, тоже ведёт на локальный компьютер. На практике почти всегда применяют 127.0.0.1, но разные адреса иногда пригождаются, чтобы запустить несколько служб на одном порту, привязав каждую к своему loopback-адресу.

Пакеты с адресом из этого диапазона не маршрутизируются: маршрутизатор, увидев такой адрес получателя, обязан отбросить пакет, а не пересылать его наружу.

Зачем это нужно на практике

Разработчики поднимают на своей машине веб-сервер, базу данных или тестовое приложение и обращаются к ним по адресу вида 127.0.0.1 с номером порта. Служба может «слушать» только loopback, и тогда снаружи она недоступна. Это простой способ защитить внутренний интерфейс: доступ к нему получат лишь программы на том же устройстве.

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

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Отличие от 0.0.0.0 и от внешнего адреса

Адрес 0.0.0.0 в контексте прослушивания означает «все сетевые интерфейсы сразу». Служба, привязанная к нему, доступна и по 127.0.0.1, и по адресу в локальной сети, и, если нет фильтров, из интернета. Поэтому настройка «слушать на 0.0.0.0» вместо «127.0.0.1» — частая причина неожиданно открытых портов.

С внешним адресом, который видят другие узлы, loopback не связан вовсе. Различие между внутренним и внешним адресами разобрано на отдельной странице про IP устройства.

Как использовать для диагностики

Команда ping 127.0.0.1 проверяет только то, что стек TCP/IP на вашем компьютере работает. Она ничего не говорит о кабеле, Wi-Fi или провайдере. Если ответа нет даже здесь, проблема в самой операционной системе или в фильтре, а не в сети.

Список локальных служб покажет утилита netstat или её аналоги: в колонке адреса будет виден 127.0.0.1 либо 0.0.0.0. Так можно быстро понять, какие порты открыты только для вашего устройства, а какие доступны всем в сети.

Полезно и обратное: если служба работает по 127.0.0.1, но не отвечает по адресу в сети, значит, она привязана только к loopback, и для внешнего доступа нужно менять адрес привязки в её настройках.

Что стоит запомнить, чтобы не запутаться

Во-первых, localhost и 127.0.0.1 не всегда эквивалентны на практике. В современных системах имя может разрешаться и в IPv4, и в IPv6-адрес ::1, и если служба слушает только один из них, обращение по другому не сработает. Если по имени страница не открывается, а по цифрам работает, дело именно в этом.

Во-вторых, обращаясь к 127.0.0.1 из контейнера или виртуальной машины, вы попадаете в саму эту среду, а не на основной компьютер. Из-за этого новички долго ищут, почему приложение в контейнере не видит базу данных на хосте: у контейнера собственный loopback.

В-третьих, программы иногда перехватывают запросы к localhost: в браузере есть исключения для этого имени, например разрешение принимать соединения без шифрования для разработки, потому что трафик не покидает устройство. Это удобно, но не значит, что можно открывать чувствительные службы наружу.

Наконец, никогда не публикуйте службу, привязанную к loopback, полагаясь на «она же локальная»: если рядом работает прокси или туннель, локальная служба может оказаться доступной снаружи косвенно. Проверяйте список открытых портов и адресов привязки после каждого изменения конфигурации, а для внешнего доступа настраивайте аутентификацию.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
localhostip-адресдиагностика

Часто задаваемые вопросы

Читайте также