45 votes

Comment puis-je rendre permanent un ensemble spécifique de règles iptables ?

Est-ce qu'il y a une "meilleure pratique" ou un standard pour rendre quelques règles iptables permanentes ? Je veux dire : automatiquement appliquées lors d'un redémarrage du système ?

J'utilise un VPS avec Ubuntu Server 10.04 LTS (Lucid Lynx).

Nous vous remercions.

BIG EDIT : Je ne veux pas que n'importe quelle règle soit persistante (comme iptables-persistent le fait). Je veux que seul mon propre ensemble spécifique soit rechargé... si d'autres règles sont éventuellement ajoutées en exécutant iptables, elles devraient être rejetées...

53voto

Neall Points 251

La méthode la plus simple consiste à utiliser iptables-save y iptables-restore à sauvegarder les règles iptables actuellement définies dans un fichier et les (re)charger (par exemple, au redémarrage).

Ainsi, par exemple, vous pouvez exécuter

sudo iptables-save | sudo tee /etc/iptables.conf

pour enregistrer vos règles iptables actuelles dans /etc/iptables.conf puis insérer ces lignes dans /etc/rc.local :

# Load iptables rules from this file
iptables-restore < /etc/iptables.conf

33voto

user172020 Points 331

Une mise à jour rapide, car vous utilisez peut-être la version 12.04 et les choses se sont améliorées.

En iptables-persistent résout désormais ce problème. Pour l'installer,

sudo apt-get install iptables-persistent

Les règles définies lors de l'installation du paquet sont sauvegardées et utilisées lors de chaque démarrage ultérieur. Les nouvelles règles chargées sont rejetées au redémarrage.

Le fichier de configuration si vous avez besoin de les modifier (une fois que iptables-persistent est installé) est /etc/iptables/rules.v4 ou /etc/iptables/rules.v6 pour ipv4 et ipv6 iptables respectivement.

24voto

Carl Points 447

Mieux que /etc/rc.local est d'ajouter une ligne dans /etc/network/interfaces après avoir sauvegardé les règles de l'iptable, comme ceci

post-up iptables-restore < /etc/iptables.up.rules

ou bien il est possible de placer le fichier à l'intérieur de /etc/network/if-down.d/ o /etc/network/if-post-down.d/ o /etc/network/if-pre-up.d/ o /etc/network/if-up.d/ .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X