Como habilitar o firewall ufw para permitir a resposta icmp?

21

Eu tenho uma série de servidores Ubuntu 10.04 e cada um tem o firewall ufw ativado. Eu permiti a porta 22 (para SSH) e 80 (se for um servidor da web). Minha pergunta é que estou tentando ativar a resposta de eco icmp (resposta de ping).

O ICMP funciona de maneira diferente de outros protocolos - eu sei que está abaixo do nível do IP em um sentido técnico. Você pode apenas digitar sudo ufw allow 22, mas não pode digitarsudo ufw allow icmp

Jeremy Hajek
fonte

Respostas:

17

O ufw não permite especificar regras icmp por meio do comando da interface da linha de comandos. Ele permite que você ajuste seu conjunto de regras através de seus arquivos de regras, que são arquivos de estilo iptables-restore.

O ufw permite certo tráfego icmp por padrão, incluindo resposta de eco icmp, e isso já está configurado por padrão em /etc/ufw/before.rules:

-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

Se o seu host não estiver respondendo ao ping, consulte este arquivo para garantir que a linha acima esteja presente e, se isso não funcionar, verifique o host e os firewalls entre eles.

jdstrand
fonte
3
não funciona para mim: 11.04 server.how posso solucionar esse problema?
Pylover
Precisa de algum reset ou algo parecido?
Amir Karimi
1
@AmirKarimi sudo ufw reload(e para permitir solicitações de ping que eu tinha para adicionar -A ufw-before-output -p icmp --icmp-type echo-request -j ACCEPTem /etc/ufw/before.rules)
baptx
2

Para o Ubuntu 18.04, você deve ter as seguintes regras no seu arquivo /etc/ufw/before.rules :

# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type source-quench           -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded           -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem       -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request            -j ACCEPT

# ok icmp code for FORWARD
-A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type source-quench           -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type time-exceeded           -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type parameter-problem       -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type echo-request            -j ACCEPT

Estes estavam no meu arquivo padrão.

Obviamente, tenha certeza de que esse é realmente o problema. Meu problema foi que meu computador estava impedindo que os pings saíssem para a rede onde o servidor que eu estava tentando executar o ping existia. Acabei usando um site que já estava na Internet para fazer o ping para mim (por exemplo, https://ping.eu/ping/ ).

hoadlck
fonte
0

Aqui está um documento de ajuda que discute como ativar / desativar as respostas ping et al.

Ajuda da UFW

Casey Keller
fonte
0

Adicione o seguinte ao arquivo /etc/ufw/before.rules:

# allow outbound icmp
-A ufw-before-output -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A ufw-before-output -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT

Após editar o arquivo, execute o comando:

sudo ufw reload
user3801989
fonte