iptables コマンドは、特定の行番号のルールが存在することを確認します。

iptables コマンドは、特定の行番号のルールが存在することを確認します。

特定の場所にiptableルールが存在するかどうかを確認する方法はありますか?

このように:

iptables -C INPUT 1 -j ACCEPT

ベストアンサー1

解析された出力はiptables -L --line-numbersそれほど悪くないはずです。

num=3
if iptables -L foo --line-numbers | grep -qe "^$num "; then
    echo "rule exists at line #$num"
else
    echo "no rule at line #$num"
fi

つまり、これがどれほど役に立つかはわかりません。たとえば、チェーンの先頭からルールを削除すると、他のルールの数が変更され、一意の識別子などとして使用できなくなるためです。iptables -L foo --line-numbers | sed -ne '$s/ .*//p'チェーン()のルール数を計算して比較することもできます。

冗談で言えば走れるiptables -D foo "$num"。 number にルールがなければ文句を言うでしょうが$num、もちろん破壊的でもあります。

おすすめ記事