起動時に毎回 iptable ルールを復元する必要がありますか?

起動時に毎回 iptable ルールを復元する必要がありますか?

再起動するたびに、入力に長い時間がかかったiptablesルールが失われます。保存して起動時に復元するしかし、それらを永久に保存する方法はあるのでしょうか? 毎回起動時に復元する必要があるのでしょうか? 本当に?

問題は、私が膨大なリストIP のリストを while ループを使用して読み込みます。これには 10 分以上かかる場合があります。

これは私の自宅の FTP サーバーです。1 GB の RAM と非常に少ない処理能力を持つ小さな VM です。IP がたくさんあるのは、アジア大陸をほぼ諦めたからです。毎日、ブルート フォースで FTP サーバーを攻撃される必要はありません。また、政府の監視、追跡、スパマーもブロックします。

これはリストをロードするために使用する while ループです。

grep INPUT block.list | while read LISTA; do sudo iptables -A $LISTA; done

答え1

apt-get install iptables-persistent

インストール時に、現在の iptables 設定が保存されます。それ以外の場合は、これらのファイルに保存できます (v4 または v6 によって異なります)。iptables-persistent は起動時にそれらを読み込みます :)

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

答え2

まず、次の内容のファイルを作成しますiptables-save:

sudo iptables-save > /etc/iptables_rules

ファイルをどこに置くかは重要ではありません。次の行が同じファイルを参照していることを確認するだけです。次に、開いて/etc/rc.local次の行を追加します。

/sbin/iptables-restore < /etc/iptables_rules

今後は、コンピューターの電源を入れたり再起動したりするたびに、iptables は指定したファイルからルールを読み込みます。

答え3

ルールが多数ある場合は、ipset を iptables と組み合わせて使用​​することも検討してください。ipset はインデックス付きデータベース テーブルを使用し、アドレスを検索して受け入れるか拒否するかを決定するときに iptables よりもはるかに高速です。

http://ipset.netfilter.org/index.html

関連情報