Iptablesの設定にはたくさんのルールがあります(ルーティング、ssh禁止など)。ここから禁止するIPのリストも取得しました http://blacklist.linuxadmin.org そして今では本当に複雑です。
私の/etc/sysconfig/iptables
は本当に長いです。外部ファイルからのルールを含めることによってルールを管理する方法はありますか?
例えば:
#include "pre_routing_rules"
#include "ssh_bans"
これには、ファイル「pre_routing_rules」および「ssh_bans」に追加されたルールが含まれます。これにより、cat /etc/sysconfig/iptables
を探し回ることなく、ルールを簡単に管理できます。
iptablesのipsets を試してください。 ipsetは個別に構成され、管理するのに十分なIPアドレスがある場合は、これらも高速になります。
iptablesルールは次のようにipsetを参照できます。
iptables -A FORWARD -m set --set blocklist src、dst -j DROP
簡単な解決策の1つは、セクションごとに次のような複数のbashスクリプトを使用することです。
iptables-routing.sh
iptables-ssh-bans.sh
iptables-blacklist.sh
そして、このファイルをマスタースクリプトから実行します。
iptablesはファイルを直接読み取りません。これは、iptables-restoreと呼ばれるプログラムによって行われます。これは通常、initスクリプトの1つから呼び出されます。
Iptables-restore行に入力ファイルを追加できます。この行がシステムのどこにあるかを見つける必要がありますが、私のDebainボックスでは、/ etc/init.d/natにあります。
この行は現在、次のようになっています。
/sbin/iptables-restore < /etc/network/iptables
おそらく、次のようなものに変更できます。
cat /etc/network/iptables \
/etc/network/pre_routing_tables \
/etc/network/ssh_bans | /sbin/iptables-restore
私はFirestarterやShorewallなどの多くのon-top-of-iptablesファイアウォールスクリプト/ツールの1つを使用する傾向があり、目的ごとに分けられた多くのファイルが付属し、特定の種類の偽のパケットから保護するための興味深いルールを追加し、通常は機能します上手。
私はあなたが参照しているファイルを持っていないので、あなたが実行しているディストリビューションはわかりません-しかし、通常、iptablesルールを含むファイルは単なるシェルスクリプトです-したがって、行を持っていることであなたが望むことをすることができるはずですといった :
。/etc/sysconfig/pre_routing_rules
または、参照するiptablesファイルの先頭にあるようなものです。