2

Я изменил /etc /hosts и добавил IP-адрес, чтобы указать localhost на другой компьютер, например:

192.x.x.1 localhost

Но это не работает, и когда я пинг до localhost, он пингует ::1 который является маршрутом по умолчанию

Добавление альтернативного имени, однако, работает, его просто локальный хост, который не может быть перезаписан.

Как решить эту проблему?

1 ответ1

2

Вы не можете изменить IP-адрес localhost .

Обратите внимание на комментарий, предшествующий строкам в файле hosts :

# Разрешение имени локального хоста обрабатывается в самом DNS.
# 127.0.0.1 localhost
# ::1 localhost

Таким образом, вам даже не нужно вводить localhost в файл hosts , чтобы он заработал, он встроен в стек TCP, так как это адрес обратной связи.

В TCP/IP устройство обратной связи - это виртуальный сетевой интерфейс, реализованный только в программном обеспечении и не связанный с каким-либо оборудованием, но полностью интегрированный во внутреннюю сетевую инфраструктуру компьютерной системы. Любой трафик, который компьютерная программа отправляет на интерфейс обратной связи, немедленно поступает на тот же интерфейс.

Вот некоторые полезные комментарии из другого ответа на SuperUser:

Ваш localhost используется для ссылки на ваш компьютер с его "внутреннего" IP, а не с любого "внешнего" IP вашего компьютера. Таким образом, пакеты ping не проходят через какой-либо физический сетевой интерфейс; только через интерфейс виртуальной обратной связи, который напрямую отправляет пакеты от порта к порту без каких-либо физических скачков.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .