OS/공통-명령어

[Tips] FTP에서 Active 모드와 Passive 모드 차이

투칼론 2019. 1. 15. 12:16
반응형
1. 개요

파일 전송을 위해 FTP(File Transfer Protocol)에는 Active모드와 Passive 모드가 있다. 


2. Active 모드 
   : 데이터 송수신을 위해 서버가 클라이언트의 임의의 포트로 연결하는 모드

   [연결방식]

   1) 클라이언트가 서버의 21번 포트로 접속하여, 데이터를 수신받을 클라이언트 포트(예, 5571번)를 알려준다.

   2) 서버가 자신의 20번 포트를 통해 클라이언트의  포트(위의 단계 1)에서 수신받을 포트, 예, 5571번 포트)로 데이터 송수신을 위한 TCP 세션을 연결한다.


3. Passive 모드 
   : 데이터 송수신을 위해 서버가 클라이언트의 임의의 포트로 연결하는 모드

   [연결방식]

   1) 클라이언트가 서버의 21번 포트로 접속하여, 데이터를 수신받을 서버 포트(예, 3171)를 알려준다.

   2) 클라이언트는 위의 1)단계에서 알려준 서버  포트(예, 3171번 포트)로 데이터 송수신을 위한 TCP 세션을 연결한다.


   [리눅스에서 Passive 모드 설정 방법]

   vsftp 설정파일에서 아래와 같이 설정한다.

# vi /etc/vsftpd/vsftpd.conf

pasv_enable=Yes

pasv_min_port=50000

pasv_max_port=50005


참고로, vsftpd는 default mode가 passive 모드이다. 위에서 사용하고자 하는 50000~50005 포트는 방화벽에서 오픈해야 한다.


   [ftp 클라이언트에서 Passive 모드 전환 방법]

$ ftp localhost

......

passive      # passive mode on/off