La commande iptables-restore est exécutée pour restaurer la table de règles de iptables qui a été sauvegardée par la commande iptables-save. Elle prend toutes les entrées standard mais ne peut faire de restauration depuis un fichier de règles écrit à la main (script), malheureusement. La syntaxe de cette commande :
iptables-restore
[-c] [-n]
L'argument -c restaure les compteurs d'octets et de paquets et doit être utilisé si vous voulez garder les compteurs précédemment enregistrés avec iptables-save. Cet argument peut aussi s'écrire avec sa forme de nom long --counters.
L'argument -n indique à iptables-restore de ne pas écraser les règles précédemment écrites dans la table, ou les tables. Le comportement par défaut de iptables-restore est d'effacer et supprimer toutes les règles inscrites auparavant. L'argument court -n peut être remplacé par son format long --noflush.
Pour charger une table de règles avec la commande iptables-restore, il existe plusieurs solutions, mais nous ne verrons que la plus simple et la plus commune :
cat /etc/iptables-save | iptables-restore -c
Ceci fonctionnera également :
iptables-restore -c < /etc/iptables-save
Ceci concaténera la table de règles située dans le fichier
/etc/iptables-save
et ensuite
l'enverra vers iptables-restore qui récupérera
cette table de règles sur l'entrée standard et la restaurera, en
incluant les compteurs d'octets et de paquets. Cette commande peut
varier à l'infini et nous pourrions montrer les diverses
possibilités de "piping", cependant, c'est un peu hors du sujet de
ce chapitre, et nous laisserons ceci comme exercice pour le
lecteur.
La table de règles devrait maintenant être chargée correctement dans le noyau et fonctionnelle. Sinon, vous avez peut être fait une erreur dans ces commandes.