2016-06-19 1 views
0

私はbashスクリプトでルールの作成と削除を自動化しようとしています。IPTablesはIPとポートでルールを削除します

現在、私はこのようなルールを持っている:

iptables -t nat -I PREROUTING -p udp -d {IPDESTINATION} --dport {PORTDESTINATION} -m u32 --u32 '0>>22&[email protected]=0xFFFFFFFF && 0>>22&[email protected]=0x54536F75 && 0>>22&[email protected]=0x72636520 && 0>>22&[email protected]=0x456E6769 && 0>>22&[email protected]=0x6E652051 && 0>>22&[email protected]=0x75657279' -j REDIRECT --to-port {REDIRECTPORT} 

私は、IP宛先およびポート宛先を指定することで、このルールを削除できるようにする必要がしています。でも、ポート先を供給せずに、私はそれが

iptables: Bad rule (does a matching rule exist in that chain?). 

がNATルールとこれが可能であるエラーで応答して、このルールを削除することができないんだ

iptables -D PREROUTING -s {IPDESTINATION} -t nat 

:?私は以下のような何かをしようとしてきましたか {IPDESTINATION}などはすべて有効な情報で埋められています。

+0

重複したルールを削除する場合http://stackoverflow.com/q/10197405/103167?しかし、これはシステム管理に関する質問であり、StackOverflowのトピックではありません。 –

+0

(iptables -t nat -D PREROUTING 1)などの行番号でルールを削除することは可能ですが、これはBashでやっていることでは不可能です。DSTIPとDSTPORTで削除する必要があります – user1372896

+0

Didあなたは、その質問に関する一番高く評価された回答以上のものを読んでいますか?たとえば、受け入れられた答えは、行番号を使用せずにそれを行う方法を示しています。 –

答えて

0

あなたが実行してこのルールを削除できない場合:

1)bashのを作成します。 iptablesの-t NAT-Dが1

回避策は、すべてのルールを含むファイルを作成することですPREROUTINGスクリプトで「rulesFW.sh」

#!/bin/bash 
iptables -F -t nat 

2)のようなファイルを、あなたはiptablesのにルールを追加するたびに、コマンドを使用して、bashのファイルを追加します。

3)あなたが再起動します)ファイル

4)...送信先IPおよびその他のパラメータを(自分のルールと一致する行を削除し、スクリプトの

関連する問題