ポート転送を取り消す


16

ポート80へのすべてのリクエストを8020に転送する必要があります。Googleで検索したところ、次のようになりました。

iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020

今後、元に戻す必要がある場合、システムを再起動する以外に何をすればよいですか?

回答:


14

ルールを削除するだけです:

iptables -t nat -D PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020

18

削除したいときにiptableルールを完全に再構築するのは苦痛です。Instaedルールを行番号でリストし、番号で削除します。例えば:

iptables -t nat -L --line-numbers

次のような出力が得られます。

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 8020 

次に、番号で削除するには:

iptables -t nat -D PREROUTING 1

警告:行を削除すると、下のすべての行に新しい行番号が付けられます。たとえば、次のようなルールがある場合:

1 rule A
2 rule B
3 rule C

ルール2を削除すると、次のようになります:

1 rule A
2 rule C

この回答は、受け入れられた回答よりもはるかに役立ちます。@ brainsikにご連絡いただきありがとうございます
rjhilgefort

0

vimを使用することが選択肢になるかどうか疑問に思っています

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme

0

このコードを使用して、ポート転送ルール全体をドロップすることもできます

sudo iptables -P FORWARD DROP
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.