Je veux que mes règles iptables soient automatiquement chargées au démarrage. Selon le wiki sur Debian, cela peut être fait en plaçant un script avec le nom iptables dans /etc/network/if-pre-up.d/ Donc je l'ai fait, voici à quoi cela ressemble:
cat /etc/network/if-pre-up.d/iptables
#!/bin/sh
/sbin/iptables-restore < /etc/firewall/iptables.rules
/sbin/ip6tables-restore < /etc/firewall/ip6tables.rules
Ce script fonctionne: si je l'exécute en tant que root, mes règles de pare-feu sont appliquées. Mais au redémarrage, il n'y a pas de règles de pare-feu. Qu'est-ce que je fais mal?
Sur demande: les / etc / network / interfaces (je n'ai pas touché ce fichier)
user@DebianVPS:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
networking
debian
iptables
Cheiron
la source
la source
/etc/network/if-pre-up.d/
cela ne fonctionne plus dans Ubuntu 18.04, voir serverfault.com/questions/914493/…Réponses:
Utilisez le
iptables-persistent
package pour cette tâche.Définissez vos règles dans
/etc/iptables/rules.4
et/etc/iptables/rules.6
n'oubliez pas d'activer le service (en utilisantupdate-rc.d
,chkconfig
ou votre outil préféré.la source
dpkg-reconfigure iptables-persistent
.Ce problème peut être lié aux bits d'autorisation de votre script. Quelle est la sortie de cette commande? Comprend-il votre dossier?
la source
(date; set; echo) >> /tmp/iptables-cmd.log
, ainsi vous verrez quand elle sera appelée. J'imprime toujours aussi l'environnement afin de vérifier tout argument passé là-bas. Vous pouvez décider d'exécuter vos iptables uniquement après la dernière interface eth *, au lieu de l'exécuter chaque fois qu'une interface est ajoutée.interfaces
je vois que vous n'utilisez pas ifupdown, mais network-manager. C'est pourquoi votre script n'est pas appelé. Veuillez consulter ce document: ubuntuforums.org/showthread.php?t=1084308Pourquoi ne pas le faire facilement?
1 - Créez vos règles iptables
2 - exécutez "sudo apt-get install iptables-persistent", il vous demandera si vous souhaitez enregistrer les règles et les restaurer après le démarrage.
3- Vous avez terminé
la source