일반 사용자를 위해 + 방화벽 문제 때문에
Active mode : 서버가 접속 요청하는 모드
Passive mode : 서버가 접속 요청을 받는 모드
컨트롤 포트 세션에서는 인증을 해야한다.
데이터 포트 세션에서는 인증X
= 컨트롤 포트 인증을 기반으로 데이터 포트가 돌아간다.
데이터 포트를 서버에서 요청 Active
데이터 포트를 클라이언트에서 요청 Passive
기본 vsftp 설정은 Active가 default
컨트롤 21번 포트가 well known port 범위 밖
즉, 1023번에서 벗어나면 Passive 모드로 바뀐다.
이때 passive 모드로 변경된다면
데이터 포트는 20번 포트에서 dynamic 포트로 자동/랜덤 변경된다.
기본적으로 OS상에서 방화벽이 활성화 되어있다.
Active 모드에서는 서버에서의 데이터 포트 연결이 방화벽에서 막힌다.
(방화벽을 열어주거나, 포트를 고정시킨 후 방화벽에 등록시켜주는 방법 말곤
통신할 방법이 없다.)
Passive 모드에서는 서버로의 데이터 포트 연결이 방화벽을 통과
그에 대한 응답은 방화벽이 인식 할 수 있어서 통신이 가능하다.
포트
1. well known port (~1023)
<TCP> FTP - data-20/control-21 SSH -22 Telnet -23 SMTP -25 (보내는 프로토콜) HTTP -80 POP3 -110 IMAP -143 (받는 프로토콜 1) NNTP -119 (받는 프로토콜 2) --- POP3s - 995 IMAPs - 993
<UDP> DHCP server-67/client-68 TFTP -69 DNS -53 SNMP -161/트랩 정보-162
2. registered port (1024~49151)
3. dynamic port (49152~65535)
yum -y install vsftpd* <= 서버
yum -y install ftp <= 클라이언트
/etc/vsftpd/vsftpd.conf <= 주 환경설정 파일
<등록된 사용자 차단>
/etc/vsftpd/ftpusers <= PAM
/etc/vsftpd/user_list <= vsftpd
/etc/vsftpd/vsftpd.conf 파일에서
listen_port=2121 추가
포트번호가 ~1023까지라면
방화벽에 --add-port로 해당 포트를 추가하여 클라이언트에서 서버로 접속이 가능하다.
포트번호가 1024~ 라면
방화벽에 해당 포트를 추가시켜주어도 인증까지는 가능하지만 접속은 불가능하다.
(이럴때 포트번호를 바꾸거나 방화벽을 shutdown해주거나 데이터포트를 고정으로 잡아주어야
접근이 가능하다.)
/etc/vsftpd/vsftpd.conf 파일에서
local_max_rate=300000 추가
/etc/vsftpd/vsftpd.conf 파일에서
max_clients <= 동시 접근 인원
max_per_ip <= 1개의 컴퓨터 당 동시 접근 인원
/etc/vsftpd/vsftpd.conf 파일에서
pasv_min_port=50000
pasv_max_port=50000 추가
<한 줄>
/etc/vsftpd/vsftpd.conf 파일에서
87번째 줄
#ftpd_banner=Welcome to blah FTP service. 의 주석 풀기
Welcome to blah FTP service.
<여러 줄>
/etc/vsftpd/vsftpd.conf 파일에서
banner_file=/etc/vsftpd/ftp.msg 추가 후
해당 디렉터리에 해당 파일 생성 후 메세지 추가.
Hello world! (줄바꿈) Welcome to MEGA FTP service!
<디렉터리 별로>
/etc/vsftpd/vsftpd.conf 파일에서
37번째 줄 활성화
dirmessage_enable=YES 후
38번째 줄
message_file=.message 추가
- 배너를 띄우고싶은 디렉터리 이동 후 .message 라는 파일 생성 및 내용 추가.
...
Welcome to HOME Directory
...
/etc/vsftpd/vsftpd.conf 파일에서
dirlist_enable=NO 추가
(default = YES)