質問: 現在のすべての iptables ルールを表示するにはどうすればよいですか?一度表示したら、現在のルールをすべて削除して最初からやり直す方法はありますか?
答え: 以下に示すように、iptables list オプションを使用して表示し、iptables flush オプションを使用してすべてのルールを削除します。この操作を実行するには、root 権限が必要です。
1.すべての iptables ルールを表示/一覧表示
iptables にあるルールを確認したい場合は、以下のように –list オプションを使用してください。
# iptables --list
例 1:ルールを表示しない iptables リストの出力
# iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
上記の出力は、チェーン ヘッダーを示しています。ご覧のとおり、ルールはありません。
例 2:いくつかのルールを示す iptables リストの出力
ping 応答を無効にするルールがある場合、iptables リストは次のように出力されます。ルールは OUTPUT チェーンで確認できます。
# iptables --list Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination DROP icmp -- anywhere anywhere icmp echo-request
2.フラッシュ オプションを使用して iptables ルールを削除する
すべてのルールを削除する場合は、以下に示すようにフラッシュ オプションを使用します。
# iptables --flush
これを行った後、iptables は空になり、「iptables –list」の出力は例 1 に示すようになります。
以下に示すように、チェーン名を引数として指定することにより、特定の iptable チェーンを削除 (フラッシュ) することもできます。
# iptables --flush OUTPUT