역방향 프록시로 iptables 포트 전달

역방향 프록시로 iptables 포트 전달

저는 우분투 가상 서버를 사용하고 있으며 SSH를 통해 연결된 호스트에 클라이언트를 포트 전달하고 싶습니다. 퍼티는 포트 1802를 원격으로 포트 전달하도록 구성되어 있습니다.

내가 이루고 싶은 것:내 가상 서버가 애플리케이션의 특정 포트에 대한 프록시 역할을 하길 원합니다. 해당 포트를 사용하여 가상 서버에 연결할 수 있지만 역방향 프록시(호스트)로 리디렉션되기를 원합니다.

클라이언트 A <== xxxx:1802 ==> 가상 서버(포트 전달) <== 역방향 프록시/ssh 연결 ==> 호스트

내가 이미 가지고 있는 것:호스트에는 이미 putty를 사용하는 원격 포트 전달과 내 가상 서버에 대한 SSH 연결이 있습니다. 내가 놓친 것은 포트 전달이므로 지정된 포트를 사용하여 가상 서버에 연결하는 클라이언트가 호스트에 DNAT로 지정됩니다.

이것이 내가 지금까지 시도한 것입니다:내 nginx 서버 구성을 추가하려고 시도했지만 listen 1802;전혀 작동하지 않았습니다(구성이 누락된 것 같습니다 proxy_pass). 그런 다음 iptables를 사용해 보았습니다.

iptables -t nat -A PREROUTING -i -p udp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables -t nat -A PREROUTING -i -p tcp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables-save

그러나 매개 변수에 대해서는 확신이 없습니다 --to-destination. 또한 -iiptables 항목에 모든 인터페이스가 사용되도록 값을 생략했습니다.

답변1

내 경우에는 추가 GatewayPorts yes/etc/ssh/sshd_config필요했습니다. SSH를 다시 ​​시작하는 것만으로는 충분하지 않았고 가상 서버를 다시 시작해야 했습니다. 그러면 작동했습니다. 모든 포트가 이미 ACCEPT에 있었기 때문에 특별한 iptables 항목도 필요하지 않았습니다.

관련 정보