116 votes

Comment démarrer/arrêter iptables sur Ubuntu ?

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?

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é.

108voto

Jim Points 113

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

8 votes

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

10 votes

Cela n'arrête pas le service, mais permet simplement à tout de passer.

4 votes

Ah, merci. iptables -F était ce qui me manquait :-)

50voto

Frederik Nielsen Points 3208

Vous avez tous tort :-)

La commande que vous recherchez est :

$ sudo ufw disable

58 votes

Sûre si nous parlions de ufw, mais cet article concerne iptables

1 votes

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.

27 votes

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

39voto

Embreau Points 1237

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.

1 votes

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.

19voto

puzzle-it Points 199

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.

0 votes

Je ne sais pas pour "généralement" mais iptables est un service défini sur les distributions basées sur Red Hat depuis des décennies.

6voto

belacqua Points 573

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.

SistemesEz.com

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.

Powered by:

X