4 votes

iptables-persistent ne charge pas les règles au démarrage

J'ai quelques règles iptables que je veux utiliser de façon permanente. J'ai donc installé iptables-persistent et enregistré mes règles dans /etc/iptables/rules.v4 et /etc/iptables/rules.v6.

J'ai également activé l'autostart pour le service iptables-persistent.

$ sudo update-rc.d iptables-persistent defaults
$ sudo update-rc.d iptables-persistent enable 2345

Mais après le démarrage du système, les règles iptables sont toujours vides.

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Et quand je démarre iptables-persistent manuellement, ça se passe bien

$ sudo service iptables-persistent start
 * Loading iptables rules...
 * IPv4...
 * IPv6...

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source                destination         
DROP       all  --  domain.ru             anywhere            
DROP       all  --  srv246-131.domain.ru  anywhere
etc ...

Qu'est-ce que je rate ?

3voto

kikusin Points 101

Le problème est qu'iptables-persistent appelle iptables-restore pendant le démarrage avant que le réseau ne soit initialisé. Par conséquent, vous ne pouvez pas faire de recherche de noms de domaine à ce moment-là.

Vous devez soit utiliser l'adresse IP au lieu d'un nom de domaine, soit charger les règles liées au domaine ultérieurement, par exemple via rc.local.

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