linux/FTP

FTP 패시브, 액티브 차이 & 설정 옵션

배움엔 끝이없다 2021. 5. 10. 10:24
728x90
반응형

< 서버 FTP 포트 >

TCP 20번 - 데이터 전송을 위한 포트 (data port)

TCP 21번 - 명령어와 응답이 오가는 포트 (control port)

 

< FTP 접속 방식>

1. Active 모드 

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

 

   [연결방식]

 

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

 

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

 

 

2. Passive 모드 

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

 

   [연결방식]

 

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

 

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

 

 

 

 

vsftpd 패시브 모드 설정

클라이언트와 서버가 ftp 를 이용하여 통신할때에는 기본적으로 2가지의 모드가 있습니다. 바로 액티브모드와 패시브모드입니다. 액티브모드는 클라이언트가 데이터를 수신받을 임의의 포트를 열고 서버에 알려주면 서버는 20번 포트를 사용하여 클라이언트에게 데이터를 전송하는 방식이라면 패시브모드는 서버가 데이터를 송신할 임의의 포트를 열고 클라이언트에 알려주어 클라이언트가 서버의 임의의 포트에 접속하여 데이터를 가져가는 방식입니다.

클라이언트의 네트워크가 방화벽 밑에 있는 상황이라면 패시브모드를 이용하여 통신하는것이 더욱 바람직합니다. vsftp도 패시브 모드를 설정하는 것 이 가능합니다.

 

 vi /etc/vsftpd/vsftpd.conf

 

vsftpd.conf 파일의 맨밑에 아래와같은 문장을 삽입합니다.

 

패시브모드 사용시 최소 포트는 10080 으로 설정하고 최대 포트는 10120 으로 설정하여

 

ftp 를 사용할때 이 범위안의 포트를 랜덤하게 설정하여 사용하게 됩니다.

 

pasv_enable=Yes

pasv_min_port=10080

 

pasv_max_port=10120

 

설정후 vsftpd 를 재시작 합니다.

# service vsftpd restart

 

설정이 완료되면 iptables 같은 서버 방화벽에 위에서 설정한 패시브포트를 등록해주어야 정상적으로 사용이 가능합니다.

 

출처 https://blueyikim.tistory.com/1616

728x90
반응형
LIST

'linux > FTP' 카테고리의 다른 글

vsFTP 설정 파일 살펴보기  (0) 2021.05.25