Question 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 c'est donner "service non reconnu".

Pourquoi le fait-il? Y a-t-il une autre méthode?


81
2018-04-03 11:15


origine


Je pense qu'une partie de la confusion provient d'articles comme celui-ci: cyberciti.biz/faq/turn-on-turn-off-firewall-in-linux qui ne concerne que Fedora / Red Hat et prétend que vous le trouverez dans /etc/init.d/ c'est (mal) utilement le lien le plus haut que vous obtenez lorsque vous recherchez «éteignez iptables ubuntu» dans Google. - icc97


Réponses:


Je ne connais pas «Ubuntu», mais sous Linux en général, «iptables» n’est pas un service, c’est une commande permettant de manipuler le pare-feu du noyau Netfilter. Vous pouvez "désactiver" (ou arrêter) le pare-feu en définissant les stratégies par défaut sur "ACCEPTER" sur toutes les chaînes standard et en effaçant les règles.

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F

(Vous devrez peut-être vider d'autres tables, telles que "nat", si vous les avez utilisées)

L'article suivant sur le site Web Ubuntu décrit la configuration d'iptables à utiliser avec NetworkManager: https://help.ubuntu.com/community/IptablesHowTo


65
2018-04-03 17:36



Est-ce que cela ne jettera pas toutes les règles actuelles pour toujours? Préférez les sauvegarder quelque part d’abord avec sudo iptables-save> / tmp / rules - Jens Timmerman
Cela n'arrête pas le service, mais laisse tout passer. - Frederik Nielsen
Ah merci. iptables -F était ce qu'il me manquait :-) - Cameron
@JensTimmerman iptables-save > /tmp/rules sauvé ma journée. Merci - blagus


Vous avez tout faux :-)

La commande que vous recherchez est:

$ sudo ufw disable

44
2017-08-15 18:40



Bien sûr, si nous parlions d'ufw, mais ce post est à propos d'iptables - webjay
Eh bien, j'ai supposé que c'était une installation par défaut d'Ubuntu, et que celui-ci n'a pas iptables, mais ufw. - Frederik Nielsen
ufw est juste une interface pour iptables: "Iptables est un pare-feu, installé par défaut sur toutes les distributions officielles Ubuntu (Ubuntu, Kubuntu, Xubuntu). Lorsque vous installez Ubuntu, iptables est là, mais il autorise tout le trafic par défaut. Ubuntu 8.04 est maintenant disponible. avec ufw - un programme permettant de gérer facilement le pare-feu iptables. " help.ubuntu.com/community/IptablesHowTo - benjaoming
Peut-être, mais comme ufw == iptables (plus ou moins) dans Ubuntu, désactiver ufw équivaut à désactiver iptables. - Frederik Nielsen
sudo ufw status verbose; sudo iptables -L; - user27465


Je voudrais d’abord vérifier s’il est installé avec (c’est probablement le cas):

dpkg -l | grep iptables

Sur Ubuntu, iptables n'est pas un service. Pour l'arrêter, vous devez procéder comme 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

Afin de restaurer vos règles précédentes:

iptables-restore < /root/firewall.rules

Cela a été pris 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.


29
2018-04-05 07:46



Je ne sais pas pourquoi cela a eu tant de votes positifs, iptables est un module du noyau. Ce n'est jamais un "service" qui peut être "arrêté". Ils sont utilisés pour indiquer au noyau comment gérer les connexions. De même, dans un environnement de production, vous ne devez jamais désactiver votre pare-feu. Si quelque chose ne fonctionne pas, trouvez la bonne solution, pas la plus facile. - Broco


Iptables est une commande, ce n'est pas un service, il est donc généralement impossible d'utiliser des commandes telles que

service iptables start

ou

service iptables stop

afin de démarrer et d’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 et un fichier de configuration pour le configurer. Quoi qu'il en soit, il est possible de créer un service permettant de gérer l'édition d'ipotables ou d'installer un script pour cette étendue. Tous les services sous linux, ubuntu n’est pas une 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 <ubuntu@james.crocker.name>
 # 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 "Starting firewall"
         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 "Saving current firewall configuration"
    if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    log_action_begin_msg "Flushing ALL firewall rules from chains!"
    if $IPTABLES -F ; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    log_action_begin_msg "Deleting ALL firewall chains [Warning: ACCEPTING ALL PORT SERVICES!]"
    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 "Saving current firewall configuration"
    if $IPTABLES_SAVE > $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

 force-reload|restart)
    log_action_begin_msg "Reloading firewall configuration [Warning: POTENTIAL NETWORK INSECURITY DURING RELOAD]"
    $IPTABLES -F
    $IPTABLES -X
    if $IPTABLES_RESTORE < $IPTABLES_CONFIG ; then
        log_action_end_msg $?
    else
        log_action_end_msg $?
    fi
    ;;

 *)
    echo "Usage: /etc/init.d/iptables {start|stop|save|restart|force-reload}"
    exit 1
    ;;
 esac

 exit 0 

Ce script fait partie de cette Didacticiel, toutes les commandes permettant de configurer le pare-feu doivent être insérées, conformément au script ci-dessus, dans le fichier /etc/iptables.conf. Ce script doit être inséré dans un fichier nommé iptables dans /etc/init.d et le rendre exécutable en utilisant

chmod+x *iptables* 

et ajoutez le service aux niveaux d'exécution à l'aide de

update-rc.d iptables defaults

Vous pouvez ajouter de nouvelles règles à partir du shell, ces règles seront immédiatement actives et seront ajoutées à /etc/iptables.conf lorsque le service s'arrêtera (cela signifie qu'elles seront sauvegardées à coup sûr lors de l'arrêt du système).

J'espère que cela sera utile à tout le monde.


16
2017-10-17 07:53





Parce que iptables et ufw sont des moyens de gérer le netfilter pare-feu sous Linux, et comme les deux sont disponibles par défaut dans Ubuntu, vous pouvez utiliser soit pour démarrer et arrêter (et gérer) les règles de pare-feu.

iptables est plus flexible, mais parce que 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 iptableset UFW avoir beaucoup plus d'informations.


6
2017-07-02 22:37





Si je me souviens bien, la méthode suggérée pour configurer iptables dans les guides Ubuntu est de le configurer dans le cadre des scripts de réseau. ce qui signifie qu'il n'y a pas de script /etc/init.d/iptables comme dans les systèmes d'exploitation de style BSD.


3
2018-04-03 23:05



Il y en avait dans Debian Woody (Ubuntu existait-il alors?), De toute façon, il est toujours implémenté par les administrateurs système aujourd'hui. Pourquoi ont-ils changé cette idée?
Je n'ai pas la moindre idée ... mais il me semble me souvenir que c'était l'une de ces choses ennuyeuses que je devais comprendre lors de la configuration du serveur Ubuntu 9.10 ou quelque chose du genre ... car je voulais une release qui aurait un postgres récent et était pour les serveurs ... sinon je lance Arch Linux. - xenoterracide


Il semble y avoir plusieurs façons de gérer un pare-feu dans Ubuntu. Vous pouvez donc être intéressé par ceci: https://help.ubuntu.com/community/IptablesHowTo#Configuration%20on%20startup

Pour supprimer toutes les règles actuelles, vous pouvez utiliser ces commandes (insérez-les dans un script):

iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -F
iptables -t mangle -X
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -F
iptables -t filter -X

Dans le cas habituel, vos règles de pare-feu par défaut sont enregistrées dans un fichier (par exemple, /etc/iptables.rules). Lors du démarrage de la commande système iptables-restore </etc/iptables.rules exécuté pour charger les règles du pare-feu. Ainsi, exécuter la même commande après avoir abandonné toutes les règles en utilisant les commandes ci-dessus entraînera le "rechargement du pare-feu" que vous avez demandé.


3
2018-04-05 04:32





Créez un fichier sur /etc/init.d/

touch fw.rc

Rendre le fichier exécutable chmod + x

Faites un lien symbolique vers ce fichier sous /etc/rc2.d/

ln -s /etc/init.d/fw.rc S80firewall

Modifiez S80firewall et ajoutez ce qui suit

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F

Vous pouvez ajouter toutes vos règles personnalisées iptables sur ce fichier.

Maintenant, vous pouvez redémarrer le pare-feu (iptables) en exécutant /etc/rc2.d/S80firewall (doit être root)


3
2017-10-17 08:37