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

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.


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/ ).



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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.