Network & Server Factory

개인 공부 기록

Server & OS/Linux

[Ubuntu] Nginx stream으로 RDP 프록시 설정

1nfra 2021. 6. 30. 22:06
Nginx의 stream(TCP 프록시) 기능으로 3389번 포트 요청을 내부 PC로 넘겨, Nginx 서버 IP로 원격 데스크톱에 접속하도록 설정했습니다.

1. 환경

항목 내용
OS Ubuntu Server 18.04
프록시 Nginx (stream 모듈)
대상 내부 PC의 RDP(3389/TCP)

 

RDP는 HTTP가 아니라 TCP 프로토콜이므로, http 블록이 아닌 stream 블록에서 설정합니다.

2. 설정

2.1 Nginx 설치

apt-get install -y nginx

2.2 nginx.conf 수정

vi /etc/nginx/nginx.conf

파일 맨 아래(http 블록 바깥)에 stream 블록을 추가합니다. server에는 원격 접속할 PC의 IP를 입력합니다.

stream {
    upstream rdp {
        server 192.168.1.31:3389;   # 원격 접속할 PC
    }
    server {
        listen 3389;
        proxy_pass rdp;
    }
}

nginx.conf에 추가한 stream 설정

2.3 재시작

service nginx restart

3. 결과

원격 데스크톱 연결에서 Nginx 서버의 IP로 접속하면 설정한 PC로 연결됩니다.

Nginx 서버 IP로 원격 접속

4. 정리

  • RDP 같은 TCP 서비스는 Nginx stream 블록으로 프록시합니다.
  • stream 블록은 http 블록 바깥에 둡니다.
  • 외부에 3389번 포트를 그대로 열면 무차별 대입 공격 대상이 되기 쉬우므로, 접속 IP 제한이나 다른 포트 사용을 함께 고려합니다.
728x90
서울
--:--:--
-전체 글
-카테고리
오늘 방문