Iptablesにいくつかのルールを追加してみましたが、節約されていないようです。それらを保存するために、iptables-save
およびservice iptables save
を実行してみました。これらのコマンドのいずれかを実行するたびに、正常に保存されたと表示されます。ここに私が挿入しようとしているルールがあります:
iptables -A INPUT -j REJECT -p tcp --destination-port 3306
iptables -A INPUT -j REJECT -p tcp --destination-port 25
これらのルールは機能し、入力した後もそのまま残りますが、システムを再起動すると、iptables -L
の実行時にリストから削除され、ポートが再び開きます(nmapを使用してチェックされます)。
/ etc/sysconfig/iptablesファイルを見ると、ルールが(一番下に)あり、「完了した」タイムスタンプはすべて、ルールを保存したときのもので、正しいように見えます。また、私の/ etc/sysconfig/iptables-configファイルでは、すべての設定がデフォルトであり、別の場所などからiptableルールをロードする限り、何も変更しないようです。
再起動後にiptables -L
で変更が表示されない場合は、次のいずれかが示唆されています。
ルールは保存されていません
iptables-save>/etc/sysconfig/iptables
ルールは間違ったファイルに保存されています
IPTABLES = iptables IPTABLES_DATA =/etc/sysconfig/$ IPTABLES
ルールにエラーがあります
起動時にiptablesが開始されない
chkconfig --list iptablesどのランレベルiptablesがロードされているかをチェックします。が正しいランレベルで有効になっていない場合は、で追加します。
chkconfig --level 2345 iptables on
(マシンを再起動するのではなく)iptablesを再起動するだけで設定をテストできるはずです。
service iptables restart
cp/etc/sysconfig/iptables /etc/sysconfig/iptables.bak
Iptables-saveが「正常に実行された」ことを確信していますか?現在のルールセット保存ファイルをテキストに吐き出すだけです。これを機能させるには、/ etc/sysconfig/iptablesを指定する必要があります。
iptables-save > /etc/sysconfig/iptables
一般的に言えば、iptables-saveからの出力が表示された場合、出力をディスプレイに出力するだけで、何の効果もありません。
私は最良の解決策は次のとおりだと思います:最初に次のコマンドを入力してiptables-servicesをインストールします
yum install iptables-services
次に、次のコマンドを入力してiptableルールを保存します
service iptables save