127.0.0.1:
127.0.0.1 - это петля по умолчанию для большинства систем. Адрес обратной связи - это адрес, используемый системой для проверки сетевого стека ОС.
Адрес обратной связи для IPv4 может принимать любое значение в подсети 127.0.0.0/8
. Адрес обратной связи для IPv6 может принимать любое значение в подсети, ::1/128
ping
любое значение в этом диапазоне должно работать, если ваш сетевой стек работает в вашей ОС.
localhost:
localhost
это имя хоста, это своего рода доменное имя, но локальное для вашего компьютера.
Это имя хоста по умолчанию указывает на вашу петлю IPv4 и IPv6, которая часто 127.0.0.1
или ::1
.
localhost
адрес может быть легко изменен путем редактирования файла /etc/hosts
.
Если ваша система использует службу systemd-resolved
, эта служба будет обрабатывать способ разрешения локального хоста.
Согласно документацииsystemd-resolved
:
Имена хостов "localhost" и "localhost.localdomain" (а также любые имена хостов, заканчивающиеся на ".localhost" или ".localhost.localdomain") преобразуются в IP-адреса 127.0.0.1
и::1
ping
Когда вы пытаетесь пропинговать имя хоста или имя домена, она попросит ОС разрешить это имя хоста или имя домена. В вашем случае вы отключили, icmpv4
но localhost разрешается как петля IPv6 и петля IPv4, но только как ответ петли IPv6.
Разница в том, что в одном случае вы пытаетесь пропинговать IP, а в другом - пинговать имя хоста, которое может принимать несколько значений.
Отключите icmpv6.
Если вам не нужен IPv6, советую отключить его. Это удвоит всю работу, которую вам потребуется выполнить на брандмауэре и настройке сервисов:
sysctl -w net.ipv6.conf.all.disable_ipv6=0
Если вы все еще хотите поддержку IPv6 и хотите ее избежать icmpv6
, вы можете использовать ip6tables
:
ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j DROP