J'ai une série de serveurs Ubuntu 10.04 et chacun d'eux a le pare-feu ufw activé. J'ai autorisé les ports 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 d'icmp (réponse de ping).
ICMP fonctionne différemment des autres protocoles - je sais qu’il est en deçà du niveau IP au sens technique du terme. Vous pouvez simplement taper Sudo ufw allow 22
, mais vous ne pouvez pas taper Sudo ufw allow icmp
ufw n'autorise pas la spécification de règles icmp via la commande d'interface de ligne de commande. Cela 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 trafics icmp par défaut, y compris la réponse icmp echo, 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, examinez ce fichier pour vous assurer que la ligne ci-dessus est présente et si cela ne fonctionne pas, examinez l'hôte du ping et les pare-feu qui les séparent.
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
Ceux-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ù se trouvait le serveur auquel j'essayais de faire un ping. 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/ ).
Voici un document d'aide qui explique comment activer/désactiver les réponses ping et autres.
Ajoutez ce qui suit dans le 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 édité le fichier, lancez la commande:
Sudo ufw reload