Debianシステムを再起動した後にiptablesルールが消えるのはなぜですか?

Debianシステムを再起動した後にiptablesルールが消えるのはなぜですか?

私はこのルールを追加します:

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. コンピュータを再起動すると、ルールは削除されます。なぜ?
  2. ルールを持続させるにはどうすればよいですか?

答え1

Debian では、以下をインストールしてくださいiptables-persistent

sudo apt-get install iptables-persistent

このパッケージは/etc/iptables/rules起動時に自動的にロードされます。

ルールを変更するたびに実行して/sbin/iptables-save > /etc/iptables/rules保存します。必要に応じて終了シーケンスに追加することもできます。

答え2

iptablesにはルールを永久にするオプションはありません。しかし、あなたはあなたの仕事を行うために使用することができiptables-saveますiptables-restore

まず、提供したコマンドを使用してiptableルールを追加します。

次に、iptablesルールをファイルに保存します。たとえば、/etc/iptables.conf次のコマンドを使用します。

$  iptables-save > /etc/iptables.conf

/etc/rc.local再起動するたびにルールを再ロードするには、次のコマンドを追加します。

$  iptables-restore < /etc/iptables.conf

答え3

上記の項目をインストールしたら、iptables-persistentUbuntu 16.04+で次の短いコマンドを使用してルールを保存することもできます。 sudo netfilter-persistent save

最後に保存した状態に復元することもできます。 sudo netfilter-persistent reload

答え4

  1. インストールiptables-persistentパッケージ
  2. iptablesルールを変更するたびに、次のコマンドを使用して次のファイルにバックアップを保存する必要があります。

iptables-save -f /etc/iptables/rules.v4(iptablesの場合)

iptables-save -f /etc/iptables/rules.v6(IP6テーブルの場合)

関連情報