Comment activer le pare-feu ufw pour permettre la réponse icmp?


21

J'ai une série de serveurs Ubuntu 10.04 et chacun a un pare-feu ufw activé. J'ai autorisé le port 22 (pour SSH) et 80 (s'il s'agit d'un serveur Web). Ma question est que j'essaye d'activer la réponse d'écho icmp (réponse ping).

ICMP fonctionne différemment des autres protocoles - je sais qu'il est en dessous du niveau IP dans un sens technique. Vous pouvez simplement taper sudo ufw allow 22, mais vous ne pouvez pas tapersudo ufw allow icmp

Réponses:


17

ufw ne permet pas de spécifier des règles icmp via la commande d'interface de ligne de commande. Il vous permet d'ajuster votre ensemble de règles via ses fichiers de règles, qui sont des fichiers de style iptables-restore.

ufw autorise certains trafic icmp par défaut, y compris la réponse d'écho icmp, et cela est déjà configuré par défaut dans /etc/ufw/before.rules:

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

Si votre hôte ne répond pas au ping, regardez dans ce fichier pour vous assurer que la ligne ci-dessus est présente et si cela ne fonctionne pas, regardez l'hôte ping et les pare-feu entre eux.


3
ne fonctionne pas pour moi: 11.04 server.Comment puis-je résoudre ce problème?
pylover

Faut-il une réinitialisation ou quelque chose comme ça?
Amir Karimi

1
@AmirKarimi sudo ufw reload(et autoriser les requêtes ping que je devais ajouter -A ufw-before-output -p icmp --icmp-type echo-request -j ACCEPTdans /etc/ufw/before.rules)
baptx

2

Pour Ubuntu 18.04, vous devriez avoir les règles suivantes dans votre fichier /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

Celles-ci étaient dans mon fichier par défaut.

Bien sûr, assurez-vous que c'est vraiment le problème. Mon problème était que mon ordinateur empêchait les pings de se rendre sur le réseau où le serveur sur lequel j'essayais de cingler existait. J'ai fini par utiliser un site Web qui était déjà sur Internet pour faire le ping pour moi (par exemple https://ping.eu/ping/ ).



0

Ajoutez ce qui suit au fichier /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

Après avoir modifié le fichier, exécutez la commande:

sudo ufw reload
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.