web-dev-qa-db-ja.com

iptablesルールを削除する方法

私のiptablesにこのルールがあります:

Sudo iptables -t nat -nvL --line-numbers

Chain PREROUTING (policy ACCEPT 14 packets, 1950 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 14 packets, 1950 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 577 packets, 41182 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 REDIRECT   tcp  --  *      lo      0.0.0.0/0            0.0.0.0/0            tcp dpt:80 redir ports 8090

私はそれを使ってそれを削除しようとしました:

Sudo iptables -D OUTPUT 1

私はこのエラーを受け取りました:

iptables: Index of deletion too big.

そのため、ウェブで検索したところ、次のようにチェーンのすべてのルールを削除できることがわかりました。

Sudo iptables -F OUTPUT

このコマンドの出力は何もありませんが、Sudo iptables -t nat -nvL --line-numbersコマンドを再実行して後で既存のルールを一覧表示すると、何も削除されませんでした。何が欠けていますか?

13
pkout

ルールはテーブルnatで定義されているため、明示的に-t natを追加する必要があります。

Sudo iptables -D OUTPUT 1 -t nat 

テーブル名を指定していない場合、デフォルトのアクションは暗黙的に「-tフィルター」を使用します。

18
Brightshine