ポート80へのすべてのリクエストを8020に転送する必要があります。Googleでそれをググると、
iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020
将来、元に戻す必要がある場合はどうすればよいですか(システムの再起動は別として)?
ルールを削除するだけです:
iptables -t nat -D PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020
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
このコードを使用してポート転送ルール全体を削除することもできます
Sudo iptables -P FORWARD DROP
Vimの使用がオプションになるかどうか疑問に思っています
iptables-save > editme
vim editme # remove the rule you dont want
iptables-restore < editme