iptables ルールを追加コマンドとしてリストする

iptables ルールを追加コマンドとしてリストする

しばらく前に、私はLinuxの専門家の肩越しに見て、彼はすべてのiptablesルールをビルドするために必要な追加のコマンド形式でリストされたコマンドを実行しましたが、すべてのインターネット検索とマニュアルページ検索にもかかわらず知られていません。彼が何をしたのか。

たとえば、出力がiptables -nL INPUT次のような場合:

Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  0.0.0.0/0            192.168.0.1           tcp dpt:80

私が探しているコマンドの出力は次のようになります。

1  -A INPUT -i eth0 -p tcp --dport 80 -d 192.168.0.1 -j ACCEPT

iptables -L私はこれが標準コマンドに渡される別のオプションであることを覚えているようですが、間違っているかもしれません。これを行うコマンドを知っている人はいますか?

答え1

とても簡単です。 iptables -S あなたの要件を満たしてください。

答え2

iptables-save次のコマンドを使用して同様の出力を取得できます。

*nat
:PREROUTING ACCEPT [381:53396]
:INPUT ACCEPT [286:22260]
:OUTPUT ACCEPT [1462:92025]
:POSTROUTING ACCEPT [1450:91003]
-A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535 
-A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p udp -j MASQUERADE --to-ports 1024-65535 

数字といくつかの追加情報がありますが、次のように作成して削除できます。

iptables-save | grep -v -e "^[*:#]" -e "COMMIT" | cat -n

そして出力:

     1  -A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535 
     2  -A POSTROUTING -s 192.168.123.0/24 ! -d 192.168.123.0/24 -p udp -j MASQUERADE --to-ports 1024-65535 

関連情報