127.0.0.1:
127.0.0.1 é o loopback padrão da maioria dos sistemas. Um endereço de loopback é um endereço usado pelo sistema para validar a pilha de rede do sistema operacional.
O endereço de loopback para o IPv4 pode ter algum valor na sub-rede 127.0.0.0/8
O endereço de loopback para IPv6 pode ter qualquer valor na sub-rede ::1/128
ping
. Qualquer valor nesses intervalos deve funcionar se sua pilha de rede estiver funcionando em seu sistema operacional.
localhost:
localhost
é um nome de host, isso é uma espécie de nome de domínio, mas é local de sua própria máquina.
Por padrão, esse nome de host aponta para o loopback IPv4 e IPv6, que geralmente é 127.0.0.1
ou ::1
.
localhost
address pode ser alterado facilmente editando o arquivo /etc/hosts
.
Se o seu sistema usar o serviço systemd-resolved
, esse serviço manipulará a maneira como o host local é resolvido.
De acordo com a documentação de systemd-resolved
:
The hostnames "localhost" and "localhost.localdomain" (as well as any hostname ending in ".localhost" or ".localhost.localdomain") are resolved to the IP addresses 127.0.0.1
and ::1
ping
Quando você tentar executar ping em um nome de host ou nome de domínio, ele solicitará que o sistema operacional resolva esse nome de host ou nome de domínio.
No seu caso, você desativou icmpv4
, mas o host local é resolvido como seu loopback IPv6 e seu loopback IPv4, mas apenas sua resposta de loopback IPv6.
A diferença está em um caso em que você está tentando efetuar ping em um IP e, no outro caso, você executa ping em um nome de host que pode receber vários valores.
Desativar icmpv6
Se você não precisa de IPv6 eu aconselho você a desativá-lo. Ele duplicará todo o trabalho que você precisaria fazer no firewall e na configuração de serviços:
sysctl -w net.ipv6.conf.all.disable_ipv6=0
Se você ainda quiser suporte a IPv6 e quiser evitar icmpv6
, você pode usar ip6tables
:
ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j DROP