Comment puis-je démarrer/arrêter le service iptables sur Ubuntu?
J'ai essayé
service iptables stop
mais cela donne "service non reconnu".
Pourquoi ça fait ça? Y a-t-il une autre méthode?
Comment puis-je démarrer/arrêter le service iptables sur Ubuntu?
J'ai essayé
service iptables stop
mais cela donne "service non reconnu".
Pourquoi ça fait ça? Y a-t-il une autre méthode?
Je ne sais pas à propos d'"Ubuntu", mais en général sous Linux, "iptables" n'est pas un service - c'est une commande pour manipuler le pare-feu du noyau netfilter. Vous pouvez "désactiver" (ou arrêter) le pare-feu en définissant les politiques par défaut sur toutes les chaînes standard à "ACCEPT", et en vidant les règles.
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
(Vous pourriez avoir besoin de vider d'autres tables, comme "nat", si vous les avez utilisées)
L'article suivant sur le site web d'Ubuntu décrit la mise en place d'iptables pour une utilisation avec NetworkManager : https://help.ubuntu.com/community/IptablesHowTo
Ne va-t-il pas jeter toutes les règles actuelles pour toujours? Mieux vaut les sauvegarder quelque part d'abord avec sudo iptables-save > /tmp/rules
Eh bien, j'ai supposé qu'il s'agissait d'une installation par défaut d'Ubuntu, et que l'on n'a pas iptables, mais ufw.
Ufw est juste une interface pour iptables : "Iptables est un pare-feu, installé par défaut sur toutes les distributions officielles d'Ubuntu (Ubuntu, Kubuntu, Xubuntu). Lorsque vous installez Ubuntu, iptables est là, mais il permet par défaut tout le trafic. Ubuntu 8.04 est livré avec ufw - un programme permettant de gérer facilement le pare-feu iptables." help.ubuntu.com/community/IptablesHowTo
Je vérifierais d'abord s'il est installé avec (ce qui est probable) :
dpkg -l | grep iptables
Sous Ubuntu, iptables n'est pas un service. Pour l'arrêter, vous devez faire ce qui suit :
sudo iptables-save > /root/firewall.rules
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Pour restaurer vos règles précédentes :
iptables-restore < /root/firewall.rules
Ceci a été repris de http://www.cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux/ et a été testé sur de nombreuses installations Ubuntu 8.X & 9.10.
Je ne sais pas pourquoi cela a autant de votes positifs, iptables est un module du noyau. Ce n'est jamais un "service" pouvant être "arrêté". Ils sont utilisés pour indiquer au noyau comment gérer les connexions. De plus, dans un environnement de production, vous ne devriez jamais désactiver votre pare-feu. Si quelque chose ne fonctionne pas, trouvez la bonne solution, pas la facile.
Iptables est une commande, ce n'est pas un service, donc en général il n'est pas possible d'utiliser des commandes comme
service iptables start
ou
service iptables stop
afin de démarrer et arrêter le pare-feu, mais certaines distributions comme CentOS ont installé un service appelé iptables pour démarrer et arrêter le pare-feu ainsi qu'un fichier de configuration pour le configurer. Quoi qu'il en soit, il est possible de créer un service pour gérer iptables en éditant ou en installant un script à cet effet. Tous les services dans Linux, Ubuntu ne faisant pas exception, sont des scripts exécutables dans le dossier /etc/init.d, qui implémente une interface standard (démarrer, arrêter, redémarrer). Un script possible ressemble à ceci :
#!/bin/sh -e
### BEGIN INIT INFO
# Provides: iptables
# Required-Start: mountvirtfs ifupdown $local_fs
# Default-Start: S
# Default-Stop: 0 6
### END INIT INFO
# July 9, 2007
# James B. Crocker
# Creative Commons Attribution - Share Alike 3.0 License (BY,SA)
# Script to load/unload/save iptables firewall settings.
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
IPTABLES=/sbin/iptables
IPTABLES_SAVE=/sbin/iptables-save
IPTABLES_RESTORE=/sbin/iptables-restore
IPTABLES_CONFIG=/etc/iptables.conf
[ -x $IPTABLES ] || exit 0
. /lib/lsb/init-functions
case "$1" in
start)
log_action_begin_msg "Démarrage du pare-feu"
type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 120" || true
if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
type usplash_write >/dev/null 2>/dev/null && usplash_write "TIMEOUT 15" || true
;;
stop)
log_action_begin_msg "Sauvegarde de la configuration actuelle du pare-feu"
if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
log_action_begin_msg "Effacement de TOUTES les règles du pare-feu des chaînes !"
if $IPTABLES -F ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
log_action_begin_msg "Suppression de TOUTES les chaînes du pare-feu [Avertissement : ACCEPTATION DE TOUS LES SERVICES DE PORT !]"
if $IPTABLES -X ; then
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
save)
log_action_begin_msg "Sauvegarde de la configuration actuelle du pare-feu"
if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
force-reload|restart)
log_action_begin_msg "Rechargement de la configuration du pare-feu [Avertissement : INSECURITÉ RÉSEAU POTENTIELLE PENDANT LE RECHARGEMENT]"
$IPTABLES -F
$IPTABLES -X
if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then
log_action_end_msg $?
else
log_action_end_msg $?
fi
;;
*)
echo "Utilisation: /etc/init.d/iptables {start|stop|save|restart|force-reload}"
exit 1
;;
esac
exit 0
Ce script fait partie de ce tutoriel, toutes les commandes pour configurer le pare-feu doivent être insérées, selon le script ci-dessus, dans le fichier /etc/iptables.conf. Ce script doit être inséré dans un fichier appelé iptables dans /etc/init.d et rendu exécutable en utilisant
chmod+x *iptables*
et ajouter le service aux niveaux de fonctionnement en utilisant
update-rc.d iptables defaults
Vous pouvez ajouter de nouvelles règles à partir de la ligne de commande, ces règles seront immédiatement actives et seront ajoutées à /etc/iptables.conf lorsque le service s'arrête (elles seront donc sauvegardées lors de l'arrêt du système).
J'espère que cela sera utile à tout le monde.
Parce que iptables et ufw sont des façons de gérer le pare-feu netfilter sous Linux, et parce que les deux sont disponibles par défaut dans Ubuntu, vous pouvez utiliser l'un ou l'autre pour démarrer et arrêter (et gérer) les règles du pare-feu.
iptables est plus flexible, mais comme ufw fournit un langage d'interface très simple pour des fonctions simples et typiques, vous pouvez utiliser :
sudo ufw disable
# Pour désactiver le pare-feu
sudo ufw enable
# Pour activer le pare-feu
Pour voir les paramètres actuels du pare-feu, utilisez sudo ufw status verbose
, ou iptables -L
.
Les pages de documentation de la communauté Ubuntu sur iptables et UFW ont beaucoup plus d'informations.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.
1 votes
Je pense que certaines des confusions viennent d'articles comme celui-ci : cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux qui ne s'applique qu'à Fedora/Red Hat et prétend que vous le trouveriez dans
/etc/init.d/
, c'est le premier lien que vous obtenez lorsque vous recherchez 'turn off iptables ubuntu'.0 votes
Il semble que depuis Ubuntu 16.04, iptables-persistent a été remplacé par netfilter-persistent. installez-le.
apt install netfilter-persistent
0 votes
Vous pouvez également le faire : exécutez la commande : ''systemctl disable iptables'' puis la commande ''systemctl enable ufw'', enfin, redémarrez le serveur avec "reboot". Cette procédure maintiendra iptables désactivé.