본문 바로가기
클라우드

NCP(네이버클라우드) NetworkProxyLB를 활용한 FTP서버 설정

by Royal! 2024. 9. 24.
728x90
반응형

NCP(네이버클라우드)에서  NetworkProxyLB를 활용해 FTP서버를 구성하는 방법

구성

  • OS : Windows 2019 Server
  • FTP 서버는 Passive 모드로 구성
  • LB : NetworkProxyLB(당연하게도 NetworkLB도 사용가능)
    • Target : Windows 2019 Server
    • 리스너 : 21번포트, FTP 서버가 사용할 임의의 포트번호
      • 해당 설정에서는 5500번 사용

[구성도]

 

[트래픽 플로우]

Endpoint User → LB → Windows Server FTP

 

## 제어채널 연결 플로우(FTP 21번포트를 활용한 제어채널 연결)

1. Endpoint User → LB  

출발지 IP: 172.16.0.96  출발지 포트 : 랜덤포트

목적지 포트 : 10.70.132.201(LB의 IP) 목적지 포트: 21(LB의 리스너)

 

2. LB → Windows Server

출발지 IP : 10.70.132.202~204 출발지 포트 : 랜덤 

목적지 IP : 10.70.132.11 목적지 포트 : 21번 

 

3. Windows Server LB 

출발지 IP : 10.70.132.11 출발지 포트 :21

목적지 IP : 10.70.132.201 목적지 포트 : LB가 준 목적지 포트

4. LB →  Endpoint User

생략

 

## 제어채널 연결 완료가 됐음으로 데이터채널 연결을 시도

 

이 때 Endpoint User가 서버에게 어떤 포트로 서버에 접속하면 되냐고 물어보면 서버가 어떤 포트로 접속해라고 응답을 줌

해당 예제에서는 5500번으로 Windows Server에 설정함

 

## 데이터채널

5. Endpoint User → LB 

출발지 IP: 172.16.0.96  출발지 포트 : 랜덤포트

목적지 포트 : 10.70.132.201(LB의 IP) 목적지 포트: 5500(LB의 리스너)

 

6. LB → Windows Server

출발지 IP : 10.70.132.202~204 출발지 포트 : 랜덤 

목적지 IP : 10.70.132.11 목적지 포트 : 5500번 

 

7. Windows Server  LB 

출발지 IP : 10.70.132.11 출발지 포트 :5500

목적지 IP : 10.70.132.201 목적지 포트 : LB가 준 목적지 포트

 

8. LB   Endpoint User

생략


[네이버클라우드 LB 참고사항]

더보기
네이버클라우드의 NetworkProxyLB는 말 그대로 Proxy를 해주는 LB
즉, LB  →  Windows Server로 트래픽이 흐를 때 Windows Server기준 Source IP는 LB의 IP

 

 


 

FTP 모드

FTP는 기본적으로 2가지 모드를 가지고 있습니다.

  • Active
  • Passive

Acitve는 서버가 클라이언트에 접속해서 파일을 업로드/다운로드 하는 방식 

  • 사용 포트 : 21번 제어포트, 20번 데이터전송 포트 

Passive는 클라이언트가 서버에 접속해서 파일을 업로드/다운로드 하는 방식

  • 사용 포트 : 21번 제어포트, 서버가 지정하는 Range 포트(5500-5500)
  • 외부와 통신할 IP (10.70.132.201)
  • 아래 링크는 Windows Server FTP Passive 모드 설정하는 공식 문서

https://learn.microsoft.com/ko-kr/iis/configuration/system.applicationhost/sites/sitedefaults/ftpserver/firewallsupport

 


[관련 패킷]

 

###Endpoint User 패킷

1. ID/PW 입력

2. 제어채널 연결 완료 200 Type set to I 응답 받음

3. PASV로 Passive모드 요청 후 Entering Passive Mode 전환

4. (10.70.132.201.21.214)에서 21*256 +214는 5500의 숫자를 가짐.해당 5500은 해당 예제에서 설정한 서버의 포트범위 

 

### Windows Server 패킷

 

## Endpoint User/Windows Server 5500번 포트를 사용한 파일 다운로드

 

A. Endpoint User

 

B. Windows Server 

 


[결론 ]

해당 Network Proxy LB를 활용해 FTP 서버를 구축하는 것을 설명했습니다. 포트범위와 FTP 외부 IP설정만 잘 한다면 문제 없이 설정됩니다. 다만 LB를 설정하고 FTP를 접속하면 디렉토리 조회 속도가 조금 늦을 수 있습니다. 해당 부분 최적화는 한 번 NCP에 문의를 해봐야할 듯 합니다.

 

 

 

[기타 참고사항]

서버의 포트범위 설정을 LB의 리스너로 등록해야 하는데... 리스너(포트번호)는 수동으로 전부 등록해줘야 한다고 공식 답변을 받았습니다.

 

FTP 로그인 권한 문제 발생 시 FTP피지컬 경로에 대한 권한확인 한 번 해보시길 바랍니다.

728x90
반응형