iptables
ルールを移動して場所を変更する方法はありますか?私はこれを使用して-I
特定の場所にルールを挿入できることを知っていますが、カウンターを維持するのも好きです。
答え1
次のこともできます。
- 出力を
iptables-save
ファイルに書き込みます。iptables-save > /tmp/iptables.txt
- テキストエディタを使用してこのファイルを編集し、目的の行を移動します。
- ファイルを再読み込みします。
iptables-restore < /tmp/iptables.txt
答え2
いいえ、ルールを移動できません。ただし、追加/挿入/交換ルールにカウンタ(-c
または--set-counters
パラメータを使用)を設定できます。したがって、現在の数を確認してルールを削除してから、以前の数の値に再挿入できます。
答え3
持っているものと変更したいことを理解するには、まずいくつかのチェックを実行する必要があります。
- カウンターを確認し、後で入力できるようにどこかに書き留めます。
iptables-save -c
- 交換/再配置したい行を確認してください。
iptables -L -v -n --line-n
- 指定されたCHAINにルールを作成し、手順で説明したカウンタを追加します。例えば。
iptables -R INPUT 5 -i virbr0 -p udp -m udp -c 3441 472271 --dport 53 -j ACCEPT -m comment --comment "Some comment"
その意味-c
-c [packets:bytes]
上記のiptablesルールは5行目に入力されます。
以下では、現在のiptables(およびカウンタ)を保存できます。
iptables-save -c -f /somepath/iptrules-$(date +%F)
答え4
に追加するValentin Bajramiの返信:
現在のiptablesルールとファイルカウンタがある場合は、次を使用してください。
iptables-save -c -f /somepath/iptrules-$(date +%F)
その後、必要に応じてファイルを変更できます。
nano /somepath/iptrules-$(date +%F)
その後、カウンターを使用して復元します。
iptables-restore -c /somepath/iptrules-$(date +%F)
ipv6を扱う場合は、上記の両方のコマンドをip6tablesに置き換えることができます。