Isso ocorre porque tudo que sai de uma interface e entra em uma interface é analisado por meio das regras iptables ou do firewall.
Assim, quando um pacote tem que sair de uma interface para si mesmo, seja para ICMP, HTTP, FTP ou qualquer outro protocolo. Ele irá através do mesmo processo como no caso de um IP externo. Assim, por exemplo, no caso do HTTP, ele iniciará uma conexão TCP e, em seguida, enviará uma solicitação HTTP para o host local e todas as comunicações ocorrerão por meio da interface lo .
Agora, por exemplo, você segue em frente e cria uma regra OUTPUT como abaixo:
ACCEPT ICMP -- 127.0.0.1 127.0.0.1
e tente executar o ICMP, ele ainda não será processado, você precisará de uma regra de entrada, como abaixo, para que funcione:
ACCEPT ICMP -- 127.0.0.1 127.0.0.1