원격 주소를 로컬로 전달하는 중, DNAT가 멈춤

원격 주소를 로컬로 전달하는 중, DNAT가 멈춤

서버에는 포트 80에 연결할 때 nginx 와 유사하게 192.168.154.200전달되기를 원하는 IP 주소가 있습니다 .127.0.0.1:8000proxy_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이 기능은 꺼져 있습니다.

관련 정보