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
, ця послуга обробляє спосіб вирішення localhost.
Відповідно до документації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