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