Я запускаю пример в hiredis, который использует «127.0.0.2» в качестве IP-адреса сервера Redis, и он работает правильно. На самом деле, сервер Redis работает на той же машине. Я знаю, что «127.0.0.1» - это IP-адрес «lo», но как насчет «127.0.0.2»? Это так же, как "127.0.0.1"?
127.x.x.x
адреса ограничены локальной машиной?» Да127.x.x.x
адреса связаны сlo
интерфейсом» Да127.x.x.x
Адреса маршрутизируются по сети?» Нет.127.0.0.2
же, как127.0.0.1
?» НЕТНесмотря на то ,
127.0.0.1
чтобы127.255.255.254
все локальные адреса , привязанные к интерфейсуlo
. Они не одинаковы. Вы можете использовать каждый адрес для привязки разных сервисов к одному и тому же порту. Например, 16 миллионов веб-серверов на порту 80, доступные только с локального компьютера (если у вас не хватает памяти или других ресурсов в первую очередь)Я только что установил сервис докеров для привязки
127.0.0.2:80
. Затем я добавил псевдоним для/etc/hosts
. Теперь я могу подключиться к нему черезhttp://myserver
, но не черезhttp://127.0.0.1
илиhttp://localhost
. Однако это доступно только для этой машины. Как есть, только наlo
интерфейсе.Затем я установил другую службу докера для привязки
127.0.0.3:80
, включил службу Pythonlocalhost:80
и другую127.0.0.4:80
.Это может не работать на всех операционных системах. Я использую Debian (9) Gnu / Linux, ядро Linux 4.9.0-3-amd64. Некоторые ОС могут обрабатывать все адреса
127.0.0.1
→127.255.255.254
одинаково. Некоторые могут работать только с127.0.0.1
.смотрите также
источник
Не полный общий ответ (он уже есть). Этот мой ответ показывает пример, где
127.0.0.2
был использован для решения проблемы.Выдержка:
Оператор попытался протестировать некоторое программное обеспечение в случае, когда его соединение с сервером было отклонено. Это было сделано на сервере с помощью временного
iptables
правила, которое отклоняет весь трафик с IP-адреса клиента. Клиент сразу же смог «увидеть», что соединение было отклонено.Проблема возникла, когда этот человек перенес серверное программное обеспечение на тот же компьютер, что и клиент, и попытался использовать петлевой интерфейс. Было установлено, что правило блокирует связь,
127.0.0.1
но информация, от которой было отклонено соединение, прошла то же правило и никогда не доходила до зависшего клиентского программного обеспечения (предположительно, до истечения времени ожидания).Решение состояло в том, чтобы использовать
127.0.0.2
в качестве адреса сервера и установить правило, которое отклоняет подключения к нему. Информация об отказе пошла127.0.0.1
и смогла передать клиенту программное обеспечение.источник