Problème: iptables rétablit les paramètres par défaut après le redémarrage du serveur.
J'essaie de définir une règle comme celle-ci:
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
après ça je fais:
service iptables save
et il écrit quelque chose comme ça
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
et après cela j'ai juste couru (cela a été fait une fois):
chkconfig iptables on
(J'ai lu que cela devait être fait pour pouvoir restaurer les paramètres après le redémarrage)
Après cela, je redémarre et lance cette commande:
systemctl list-unit-files | grep iptables
et je vois que iptables.service est activé, cependant, la règle (pour ouvrir le port 3000) ne fonctionne plus.
Comment puis-je conserver ces paramètres?
Réponses:
CentOS 7 utilise FirewallD maintenant!
Exemple:
règles de rechargement:
la source
--zone=trusted
) avec firewalld-cmd mais cela ne fonctionne pas (ça marche en--zone=public
) Cela fonctionne avec iptablessudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8180 ; sudo /sbin/iptables -t nat -I OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8180
(mais chacunfirewalld --reload
perd cette action)Désactivez firewalld avec la commande suivante:
Puis installez iptables-service en suivant la commande:
Activez ensuite iptables en tant que services:
Maintenant, vous pouvez sauvegarder vos règles iptables en suivant la commande:
la source
Sur CentOS 7 Minimal, vous devrez peut-être installer le
iptables-services
package (merci à @RichieACC pour la suggestion ):Et puis activez le service en utilisant
systemd
:Et lancez l'initscript pour sauvegarder vos règles de pare-feu:
la source
Peut-être qu'un script comme celui-ci aurait été utile à quelqu'un?
Attention, vous perdrez tout ce qui est actuellement configuré car il supprime firewalld et efface toutes les règles actuelles du tableau INPUT :
Je suppose que vous voulez la même chose au cas où votre système pourrait être atteint (maintenant ou à tout moment plus tard) par le trafic IPv6:
la source
Vous pouvez modifier directement le fichier / etc / sysconfig / iptables. Rechargez le service iptables pour recharger les règles de ce fichier. Cependant, comme on vous l'a déjà dit, firewalld est le nouveau système de pare-feu par défaut pour Centos, et c'est une bonne occasion d'apprendre à l'utiliser, vous ne pensez pas?
la source
/etc/sysconfig/iptables
n'existe pas pour moi non plus. Cependant,/etc/sysconfig/iptables-config
existe. Mais il n’a pas de règles de pare-feu à l’intérieur de celles-ci, comme leiptables
fichier en avait auparavant.enregistrera la configuration actuelle sans avoir à installer d’autres bibliothèques ou services.
la source