Chaque fois que je redémarre, je perds les règles iptables qui m'ont mis si longtemps à entrer. Je sais que je peux les enregistrer et les restaurer au démarrage , mais est-il possible de les enregistrer pour toujours? Dois-je vraiment les restaurer au démarrage à chaque fois? Sérieusement?
Le problème est que j'ai une énorme liste d'adresses IP dans lesquelles j'utilise une boucle while pour les charger. Cela peut prendre plus de 10 minutes.
Ceci est mon serveur FTP domestique. C'est un petit vm avec 1 Go de RAM et très peu de puissance de traitement. Il y a tellement d'adresses IP parce que j'ai à peu près abandonné sur le continent asiatique. Je n'ai pas besoin qu'ils frappent mon serveur FTP tous les jours avec force brute. Je bloque également le gouvernement. moniteurs, trackers et spammeurs.
C'est la boucle while que j'utilise pour charger dans la liste.
grep INPUT block.list | while read LISTA; do sudo iptables -A $LISTA; done
Réponses:
Créez d'abord un fichier avec le contenu de
iptables-save
:Peu importe où vous placez le fichier, tout ce que vous avez à faire est de vous assurer que la ligne suivante fait référence au même fichier. Ensuite, ouvrez
/etc/rc.local
et ajoutez cette ligne:À partir de maintenant, chaque fois que votre ordinateur s'allumera ou redémarrera, iptables chargera les règles à partir du fichier que vous avez spécifié.
la source
-bash: /etc/iptables_rules: Permission denied
la première commande. Ce qui est bizarre en utilisant sudo et tout.sudo sh -c '/sbin/iptables-save > /etc/iptables.save'
pour contourner l'Permission denied
erreur. Référence/etc/rc.local
pour cela. Il est exécuté plus tard que le reste du démarrage de votre système et laisse potentiellement votre système dans un état sans pare-feu. Je suggère de placer ce script d'une ligne dans/etc/network/if-up.d/firewall
(nouveau fichier). Cela garantit qu'il sera exécuté à chaque fois que vous activez vos interfaces réseau.Lors de l'installation, il devrait enregistrer votre configuration iptables actuelle. Sinon, vous pouvez les enregistrer dans ces fichiers (selon v4 ou v6) et iptables-persistent les chargera au démarrage :)
la source
Si vous avez beaucoup de règles, vous devriez également envisager d'utiliser ipset en conjonction avec iptables. Ipset utilise une table de base de données indexée et est beaucoup plus rapide que iptables lors de la recherche d'une adresse pour décider d'accepter ou de refuser.
http://ipset.netfilter.org/index.html
la source