Recharger iptables


29

J'ai apporté des modifications au fichier de configuration iptables /etc/iptables/filterdans Ubuntu et je veux les recharger. J'ai lu la page de manuel et également googlé mais je n'ai pas pu trouver les informations. Toute aide serait appréciée.


Vous n'avez ni fourni d'informations sur la version d'Ubuntu que vous utilisez, ni bien recherché sur le Web, avant de poster cette question.

Réponses:


28

Le moyen le plus simple est de redémarrer (également si ci-dessous ne fonctionne pas, redémarrez, vérifiez si cela a fait le changement).

Le deuxième plus simple est de redémarrer les démons en utilisant les configurations iptables (google: restart daemon ubuntu).

exemples (dépend de votre configuration):

/etc/init.d/iptables restart  

/etc/init.d/networking restart  

/etc/init.d/firewall restart

5
Il n'y a pas de fichier par nom /etc/init.d/iptables

1
quel réseau existe dans /etc/init.d? essayez de redémarrer cela.

2
/etc/init.d/networking redémarrer?

1
Le lien mort est mort.
Dustin Graham

@DustinGraham merci, le lien cassé est supprimé.
Juha

37

Normalement, vos règles de pare-feu sont dans le fichier de configuration /etc/iptables.firewall.rules

Pour activer les règles définies dans votre fichier, vous devez les envoyer à iptables-restore(vous pouvez utiliser un autre fichier si vous le souhaitez):

sudo iptables-restore < /etc/iptables.firewall.rules

Et vous pouvez vérifier qu'ils sont activés avec:

sudo iptables -L

Si vous souhaitez activer les mêmes règles à chaque démarrage de l'ordinateur, créez ce fichier:

sudo nano /etc/network/if-pre-up.d/firewall

Avec ce contenu:

#!/bin/sh
/sbin/iptables-restore < /etc/iptables.firewall.rules

Et donnez-lui la permission d'exécution:

sudo chmod +x /etc/network/if-pre-up.d/firewall

J'espère que cela vous aide =)

Exemple de fichier pour /etc/iptables.firewall.rules:

*filter

#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

#  Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

#  Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

#  Allow SSH connections
#
#  The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

#  Allow ping
-A INPUT -p icmp -j ACCEPT

#  Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

#  Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT

4
Sur Ubuntu 14.10 Je ne /etc/iptables.firewall.rulesmais sudo iptables-restore < /etc/iptables/rules.v4travaillé pour moi.
timbo

4

Si vous avez exécuté vos règles, elles sont déjà en cours d'exécution et aucun rechargement n'est nécessaire. Dans le cas où vous avez un fichier de configuration mais qu'il n'a pas été exécuté, la meilleure façon que j'ai vue jusqu'à présent est d'utiliser iptables-apply(une extension iptables).

iptables-apply -t 60 your_rules_file

Cela appliquera les règles pendant 60 secondes (10 par défaut) et les inversera si vous ne les confirmez pas. Cela vous épargnera au cas où vous seriez expulsé du système en raison des règles (par exemple, si vous travaillez via ssh).

Vous pouvez utiliser les éléments suivants en remplacement:

iptables-restore < your_rules_file; sleep 60; iptables-restore < clean_rules

Non, le rechargement est absolument nécessaire pour la résolution de l'hôte DDNS. Si l'IP d'un hôte référencé change, alors iptables doit être rechargé. Idéalement, vous le feriez toutes les 30 minutes à partir de cron. Il n'est pas pratique de redémarrer toutes les 30 minutes.
mckenzm


0

Après avoir googlé un peu, c'est ce que j'ai trouvé pour redémarrer iptables. . . sudo /etc/init.d/firewall restart


3
Il n'y a pas de fichier par nom /etc/init.d/firewall

0

Si vous souhaitez recharger IPtables pour valider les modifications que vous venez de faire; vous pouvez également redémarrer Apache avec les lignes de commande ci-dessous:

/etc/init.d/apache2 stop

/etc/init.d/apache2 start

Ces commandes peuvent varier en fonction de votre version d'Ubuntu et des éventuelles modifications apportées précédemment.

J'espère que cela t'aides.

Pierre

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.