web-dev-qa-db-ja.com

ポート転送を元に戻す

ポート80へのすべてのリクエストを8020に転送する必要があります。Googleでそれをググると、

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

将来、元に戻す必要がある場合はどうすればよいですか(システムの再起動は別として)?

16
raj

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

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

Iptableルールを削除したい場合、完全に再構築するのは面倒です。ルールを行番号とともにリストし、番号で削除しました。例えば:

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
19
brainsik

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

Sudo iptables -P FORWARD DROP
0
Shinto Joseph

Vimの使用がオプションになるかどうか疑問に思っています

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme
0
AlexanderN