しばらく前に、私は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