ProFTPD는 FTP 프로토콜을 통해 파일을 전송하는 서비스입니다. 이 서비스는 Linux 서버에서 파일 관리를 위해 널리 사용됩니다.
FTP 서버는 두 가지 모드로 작동할 수 있습니다:
- 활성 모드 - PORT: 클라이언트가 연결 포트를 결정합니다.
- 수동 모드 - PASV: 서버가 연결 포트를 결정합니다.
기본 포트 21 외에도 추가 포트를 열기 위한 협상 과정이 있습니다. 서버의 작동 모드에 따라 후속 협상의 주체는 클라이언트 또는 서버가 될 수 있습니다.
활성 모드의 단점:
- 클라이언트가 NAT/방화벽 뒤에 있는 경우 작동하지 않습니다(서버가 클라이언트에 접근할 수 없음).
- 각 파일마다 새 포트가 열리므로 세션 수가 크게 증가합니다.
수동 모드의 장점:
- NAT/방화벽을 통해 작동합니다(주도권은 클라이언트에 있음).
- 서버에서 포트 범위를 제한할 수 있습니다(ProFTPD의 PassivePorts).
연결 수를 제한하려면 서비스 구성 파일에 설정을 추가해야 합니다:
/etc/proftpd.conf
MaxInstances 30 # ProFTPD가 시작할 수 있는 최대 프로세스 수(서비스 프로세스 포함).
MaxClients 20 # 최대 동시 연결 수(사용자).
MaxClientsPerHost 3 # 단일 IP 주소에서 오는 연결 수 제한.
또한 수동 모드를 강제로 활성화할 수 있습니다:
/etc/proftpd.conf
Passive on
PassivePorts 50000 50100 # 포트 범위를 제한합니다(최대 100개 연결).
수동 모드는 모든 환경에서 작동하지 않을 수 있으므로 NAT 및 방화벽 작동을 확인하세요.
구성 파일에 오류가 있는지 확인하십시오. 서비스로 실행 중인 경우 다시 시작하십시오. inetd와 함께 실행 중인 경우 구성 파일에 오류가 없는지만 확인하면 됩니다.
proftpd -t # 구성 확인.
systemctl restart proftpd # 다시 시작.
FTP 프로토콜은 몇 가지 단점이 있으며, HTTP/S 또는 SFTP(SSH 파일 전송 프로토콜)와 달리 작업 협상 및 클라이언트-서버 확인을 기다려야 하므로 때때로 "지연"이 발생할 수 있습니다.
많은 수의 작은 파일을 전송해야 하는 경우, 이를 아카이브로 묶은 후 서버에서 압축을 푸는 것이 좋습니다.
No Comments Yet