127.0.0.1:
127.0.0.1 là loopback mặc định của hầu hết hệ thống. Địa chỉ loopback là một địa chỉ được sử dụng bởi hệ thống để xác thực ngăn xếp mạng của HĐH.
Địa chỉ loopback cho IPv4 có thể nhận bất kỳ giá trị nào trong mạng con 127.0.0.0/8
Địa chỉ loopback cho IPv6 có thể lấy bất kỳ giá trị nào trong mạng con::1/128
ping
mọi giá trị trong phạm vi đó sẽ hoạt động nếu ngăn xếp mạng của bạn hoạt động trên HĐH.
localhost:
localhost
là tên máy chủ, đây là một loại tên miền nhưng cục bộ cho máy của riêng bạn.
Tên máy chủ này theo mặc định trỏ đến vòng lặp IPv4 và IPv6 thường là 127.0.0.1
hoặc ::1
.
localhost
địa chỉ có thể được thay đổi dễ dàng bằng cách chỉnh sửa tập tin /etc/hosts
.
Nếu hệ thống của bạn sử dụng dịch vụ systemd-resolved
, dịch vụ này sẽ xử lý cách giải quyết localhost.
Theo tài liệu củasystemd-resolved
:
Tên máy chủ "localhost" và "localhost.localdomain" (cũng như bất kỳ tên máy chủ nào kết thúc bằng ".localhost" hoặc ".localhost.localdomain") được phân giải thành địa chỉ IP 127.0.0.1
và::1
ping
Khi bạn cố gắng ping tên máy chủ hoặc tên miền, nó sẽ yêu cầu HĐH giải quyết tên máy chủ hoặc tên miền này. Trong trường hợp của bạn, bạn đã vô hiệu hóa icmpv4
nhưng localhost được giải quyết dưới dạng vòng lặp IPv6 và vòng lặp IPv4 của bạn nhưng chỉ có câu trả lời vòng lặp IPv6 của bạn.
Sự khác biệt là trong một trường hợp bạn đang cố gắng ping một IP và trong trường hợp khác, bạn ping một tên máy chủ có thể mất một vài giá trị.
Vô hiệu hóa icmpv6
Nếu bạn không cần IPv6, tôi khuyên bạn nên tắt nó. Nó sẽ tăng gấp đôi tất cả công việc bạn cần làm trên tường lửa và định cấu hình dịch vụ:
sysctl -w net.ipv6.conf.all.disable_ipv6=0
Nếu bạn vẫn muốn hỗ trợ IPv6 và muốn tránh icmpv6
, bạn có thể sử dụng ip6tables
:
ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j DROP