서버에는 포트 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
이 기능은 꺼져 있습니다.