web-dev-qa-db-fra.com

debian 8 iptables-persistent

j'ai VPS Debian 8 Jessie x64 version stable. Après l’installation, je tente de configurer iptables (comme dans Debian 7). 

apt-get install iptables-persistent

exécutés avec succès, des paquets ont été installés. mais quand j'essaie

service iptables-persistent start

j'obtiens une erreur qui dit que le service est iptables-persistent non reconnu

halp!

Tables IP persistantes Debian/Ubuntu

Pour conserver les modifications que vous apportez à vos règles iptables, procédez comme suit.

Installez iptables-persistent:

Sudo apt-get install -y iptables-persistent

Apportez les modifications souhaitées à vos règles iptables, par exemple

Sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

Puis courir 

Sudo dpkg-reconfigure -y iptables-persistent

Les règles devraient persister après un redémarrage maintenant. 

Informaitons supplémentaires

Dpkg-reconfigure force simplement iptables-persistent à refaire ce qu’il fait lors de l’installation, qui consiste à enregistrer les iptables actuels dans un fichier à l’aide d’une commande comme celle-ci:

iptables-save >/etc/iptables/rules.v4
ip6tables-save >/etc/iptables/rules.v6

Le paquet iptables-persistent force le système d’exploitation à exécuter quelque chose comme ce qui suit au redémarrage.

iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

J'espère que cela t'aides : )

50
tobuslieven

Je viens de trébucher sur le problème de OP, lui aussi (puis sur sa question) a trouvé la solution en consultant la description du paquet pour iptables-persistent . La nouvelle interface semble être netfilter-persistante, c’est-à-dire utiliser

# invoke-rc.d netfilter-persistent save

Au moins c'est ce qui a fonctionné pour moi, HTH ...

9
oliver

Mise à jour 8/7/16: Cela dépend de la distribution. Le contenu du commentaire suivant a été entré sans que nous sachions si la distribution OP possède un paquet netfilter-persistent. Mes excuses. La distribution de mon ordinateur portable (Mint) ne contient pas le paquet netfilter-persistent, contrairement à celle de mes serveurs (Ubuntu 15+).

Réponse originale: .__ Comme le dit si bien Oliver, netfilter-persistent remplace iptables-persistent dans Ubuntu. Ce qui a fonctionné avec Ubuntu 15.04 a été le suivant:

Installez-le, puis assurez-vous qu'il fonctionne en tant que service: service --status-all | grep netfilter-persistent

S'il ne fonctionne pas en tant que service, démarrez-le une fois pour toutes avec: invoke-rc.d netfilter-persistent start

Ensuite, vous devez placer un script quelque part qui sera exécuté lorsque le réseau ou ses interfaces s’arrêteront. Le contenu du script important est simplement: invoke-rc.d netfilter-persistent save

Je mets le script dans le répertoire /etc/network/if-post-down.d. N'oubliez pas de le modifier en exécutable. Si des coupures de courant sont probables, vous pouvez créer une entrée cron pour la commande de sauvegarde.

4
kenneth558

Enfin, le problème était dans le service firewalld. C'est une sorte de nouveau démon de pare-feu. Comme je pense que cela entre en conflit avec netfilter (iptables) -persistent. Donc je cours 

chkconfig firewalld off

et maintenant tout fonctionne bien. Clause de non-responsabilité :) Ce n'est pas la meilleure des pratiques, c'est juste une solution de contournement. Ne pas avoir le temps d'apprendre firewalld.