¿Cómo habilitar el firewall ufw para permitir la respuesta icmp?


21

Tengo una serie de servidores Ubuntu 10.04 y cada uno tiene ufw firewall habilitado. He permitido el puerto 22 (para SSH) y 80 (si es un servidor web). Mi pregunta es que estoy tratando de habilitar la respuesta de eco icmp (respuesta de ping).

ICMP funciona de manera diferente a otros protocolos: sé que está por debajo del nivel de IP en un sentido técnico. Simplemente puede escribir sudo ufw allow 22, pero no puede escribirsudo ufw allow icmp

Respuestas:


17

ufw no permite especificar reglas icmp a través del comando de interfaz de línea de comando. Le permite ajustar su conjunto de reglas a través de sus archivos de reglas, que son archivos de estilo de restauración de iptables.

ufw permite cierto tráfico icmp de forma predeterminada, incluida la respuesta de eco icmp, y esto ya está configurado de forma predeterminada en /etc/ufw/before.rules:

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

Si su host no responde al ping, mire en este archivo para asegurarse de que la línea anterior esté presente y si eso no funciona, mire el host que hace ping y cualquier firewall entre ellos.


3
no funciona para mí: servidor 11.04. ¿Cómo puedo solucionar este problema?
pylover

¿Necesita algún reinicio o algo así?
Amir Karimi

1
@AmirKarimi sudo ufw reload(y para permitir que las solicitudes de ping he tenido que añadir -A ufw-before-output -p icmp --icmp-type echo-request -j ACCEPTen /etc/ufw/before.rules)
baptx

2

Para Ubuntu 18.04, debe tener las siguientes reglas en su archivo /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

Estos estaban en mi archivo predeterminado.

Por supuesto, asegúrese de que este sea realmente el problema. Mi problema era que mi computadora estaba bloqueando que los pings salieran a la red donde existía el servidor al que intentaba hacer ping. Terminé usando un sitio web que ya estaba en Internet para hacer el ping por mí (por ejemplo, https://ping.eu/ping/ ).



0

Agregue lo siguiente al archivo /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

Después de editar el archivo, ejecute el comando:

sudo ufw reload
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.