web-dev-qa-db-fra.com

Pourquoi les règles iptables disparaissent-elles lors du redémarrage de mon système Debian?

J'ajoute cette règle:

Sudo iptables -t nat -A OUTPUT -d a.b.c.d -p tcp \
       --dport 1723 -j DNAT --to-destination a.b.c.d:10000
  1. Au redémarrage, les règles de l'ordinateur sont supprimées. Pourquoi?
  2. Que puis-je faire pour que les règles persistent?
53
Jhonathan

Il n'y a aucune option dans iptables qui rendra vos règles permanentes. Mais vous pouvez utiliser iptables-save et iptables-restore pour accomplir votre tâche.

Ajoutez d'abord la règle iptable en utilisant la commande que vous avez donnée.

Ensuite, enregistrez les règles iptables dans un fichier comme /etc/iptables.conf en utilisant la commande suivante:

$  iptables-save > /etc/iptables.conf

Ajoutez la commande suivante dans /etc/rc.local pour recharger les règles à chaque redémarrage.

$  iptables-restore < /etc/iptables.conf
53
pradeepchhetri

(Parce qu'il a été suggéré d'en faire sa propre réponse ...)

Sur Debian, installez iptables-persistent:

Sudo apt-get iptables-persistent

Le package se chargera automatiquement /etc/iptables/rules pour vous lors du démarrage.

Chaque fois que vous modifiez vos règles, exécutez /sbin/iptables-save > /etc/iptables/rules pour les enregistrer. Vous pouvez également ajouter cela à la séquence d'arrêt si vous le souhaitez.

59
bahamat

Après l'installation de iptables-persistent ci-dessus, vous pouvez également enregistrer des règles avec la commande plus courte suivante sur Ubuntu 16.04+: Sudo netfilter-persistent save

Et ils peuvent également être restaurés comme ils l'étaient la dernière fois que vous les avez enregistrés avec: Sudo netfilter-persistent reload

1
Robin Wilson