マシンのポート80のトラフィックを8080にリダイレクトしました
Sudo iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 8080
私のマシンを除くすべての世界でうまく機能します。私は開発者であり、自分でポート80を8080にリダイレクトする必要があります。
私のIPは192.168.0.111
です
Webサーバーはポート8080で実行されます
サーバーを実行している同じマシンのhttp://192.168.0.111/
の代わりにhttp://192.168.0.111:8080/
からWebサイトを開きたい。
ループバックインターフェース用のパケットはOUTPUT
チェーンを経由しないため、PREROUTING
チェーンを使用する必要があります。以下が機能するはずです。 root
として実行:
iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8080
単純にポート80と8080の両方を許可するiptablesを使用してから、80から8080にリダイレクトして、正しいnicに割り当てていることを確認します。例では、eth0を使用します
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables
の代わりに、次を試すことができます:Sudo ssh -gL 80:127.0.0.1:8080 localhost
これは私のために働いた。
$ Sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080