サーバーには、ポート80に接続するときにnginxと同様に192.168.154.200
転送したいIPアドレスがあります。127.0.0.1:8000
proxy_pass http://127.0.0.1:8000
だから私は次のことを試しました。
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -I PREROUTING -d 192.168.154.200 -p tcp --dport 80 -j DNAT --to 127.0.0.1:8000
iptables -t nat -A POSTROUTING -j MASQUERADE
まったく動作しません。curl 192.168.154.200
クライアントでこれを行うと、動作が停止します。私が見逃しているものは何ですか?
PSはcurl 127.0.0.1:8000
サーバー上で実行されます。
ベストアンサー1
努力する
sysctl -w net.ipv4.conf.eth1.route_localnet=1
または
sysctl -w net.ipv4.conf.all.route_localnet=1
カーネルがそれをサポートしていることをもう一度確認することをお勧めしますroute_localnet
。 eth1 を適切に交換してください。
セキュリティ上の理由から、route_localnet
この機能はオフになっています。