Iptablesで行を編集

Iptablesで行を編集

iptablesファイル(debian)で次の行をどのように変更しますか?

ACCEPT     all  --  XXX.XXX.XX.X         anywhere            PHYSDEV match --physdev-in vif3.1 

到着

ACCEPT     all  --  YYY.YYY.YY.Y         anywhere            PHYSDEV match --physdev-in vif3.1 

私はhを確認しましたttps://wiki.debian.org/iptables この修正を正確に行う方法を理解するのが困難です。 1つのコマンドで実行できますか?それとも、iptablesファイルを一時的に「抽出」し、nanoまたはviを使用して修正してから、もう一度配置する方法はありますか?

答え1

この特定のルールに対して置換を使用する前に、iptablesいくつかのデバッグを実行する必要があります。

最初のオプションは、ルールをすぐに置き換えることです。

1)該当する行がどの行番号とどのCHAINに配置されているかを確認してください。たとえば、

iptables -L -v -n --line-n

2)ラインを見つけ、出力に従って交換します。

iptables -R [CHAIN_NAME] [LINE_NUMBER] -s YYY.YYY.YYY.YYY -m physdev  --physdev-in vif3.1  -j ACCEPT

2番目のオプションは、iptablesルールを保存し、ファイルを変更してインポートすることです。

1) ルールを保存します。

iptables-save > my_ipt-$(date +%F).ipt

2) my_ipt-$(date +$F).ipt を修正

3) 輸入my_ipt-$(date +%F).ipt

iptables-restore < my_ipt-$(date +%F).ipt

注:$(date +%F)ファイルを保存した日付。例: 2013-11-07

すべてが期待どおりであることを確認してください。

iptables -L -v -n --line-n

答え2

はい、可能です。ルールの表示ルールiptables -L CHAIN -n -v --line-numbersにインデックスを付けます。 iptables -S CHAIN INDEX

編集するには、-R CHAIN INDEXパラメーターを使用してください。

例: iptables -L Visioconf-OUT -n -v --line-numbers

Chain Visioconf-OUT (1 references)
num   pkts bytes target     prot opt in     out     source               destination
1     719K   49M LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4 prefix "DROP4 Visioconf-OUT "
2     719K   49M DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0

iptables -S Visioconf-OUT 2

-A Visioconf-OUT -j 削除

iptables -R Visioconf-OUT 2 -s 1.2.3.4 -j DROP

関連情報