著者は、RHELトレーニングドキュメントで次のように述べています。
...次のコマンドを実行して、現在のシステムのファイアウォールを無効にします。iptables -F
彼は明示的に「無効にする」という言葉を使用していますが、これは簡単に再度有効にすることができることを示唆しています。 iptablesのmanページを読んでいると、これがわかります。
選択したチェーンをフラッシュします(何も指定されていない場合は、テーブル内のすべてのチェーン)。これはdeletingすべてのルールを1つずつ順番に実行することと同じです。
予想される動作を明確にすることはできますか?
iptables
ルールは、Red Hatシステムの2つの場所に保存されています。
ファイアウォールコードがネットワークI/Oでそれらをチェックする、実行中のカーネル内のメモリ内。 iptables -F
を使用してルールをフラッシュすると、このルールセットのみが削除されます。
ブート時にロードされる/etc/sysconfig/iptables
内。 service iptables reload
または...restart
を使用すると、再起動せずに強制的にリロードできます。
したがって、答えはノーです。ルールをiptables -F
でフラッシュすることは永続的ではありません。
setup
に移動してファイアウォールルールを変更すると、/etc/sysconfig/iptables
に保存されます。そのファイルを直接編集することは想定されていませんが、iptables
コマンドライン形式を知っている場合は、このファイルの形式を簡単に理解できます。
また、参考として、現在のiptablesルールをすべてフラッシュする方法を次に示します。
#!/bin/sh
echo "Stopping firewall and allowing everyone..."
iptables=/sbin/iptables
$iptables -F
$iptables -X
$iptables -t nat -F
$iptables -t nat -X
$iptables -t mangle -F
$iptables -t mangle -X
$iptables -P INPUT ACCEPT
$iptables -P FORWARD ACCEPT
$iptables -P OUTPUT ACCEPT