FTP클라이언트 전송방식
FTP를 이용하여 데이터를 전송하는 방식으로 Active Mode와 Passive Mode의 두가지 모드가 존재하는데 각각의 모드에 대해 간략하게 알아보자.
- Active mode 동작 방식
- FTP 클라이언트가 서버의 21번 포트로 접속.
- 클라이언트는 자신이 사용할 포트를 서버측에 알림.
- 서버는 자신의 20번 포트로 클라이언트가 알려준 포트로 접속해 데이터를 전송한다.
- Active mode 단점 : 결론적으로 보면 일반적인 서버/클라이언트 개념에서 클라이언트가 서버로 접속이 아닌 서버가 클라이언트로 접속해 데이터를 전송하기 때문에 클라이언트 앞단에 방화벽 혹은 공유기등이 설치 되어 있다면 접속은 되지만 FTP서버의 리스트를 받아오지 못하고 데이터를 전송할 수 없게 된다.
- Passive mode 동작 방식
- FTP클라이언트가 서버의 21번 포트로 접속.
- FTP서버가 접속 요청을 수락한 다음 자신의 1024번 이상의 임의의 포트로 클라이언트와 커넥션을 맺은 후 데이터를 전송한다.
- Passive mode 단점 : 1024번 이상의 포트로 데이터 전송을 하기 때문에 1024 ~ 65535 포트를 방화벽에서 열어야 하지만 vsftp의 경우 사용할 수 있는 포트를 제한 할 수 있는 기능이 있어 이러한 문제를 해결 할 수 있다.
vsftpd 패시브 모드 설정
vsftpd의 패시브 모드 설정은 간단하다.
위에서 설명 했듯이 Passive mode로 사용할 포트의 범위를 vsftpd.conf 에 추가 후 재시작을 하면 된다.
vsftpd.conf의 기본위치는 /etc/vsftpd/vsftpd.conf이다.
pasv_enable=Yes pasv_min_port=50000 pasv_max_port=50100
vsftpd 재시작 후 방화벽에서 50000 ~ 50100 포트를 오픈 하고 사용하면 된다.