FTP
- 대용량의 파일 전송 서비스에 적합
- 웹 서비스의 일부로 통합 운영되는 추세
- xinetd보다는 standalone 형태로 운영
(xinetd : 슈퍼데몬- 스스로 listen 하지 않음 / standalone : 스스로 listen, 메모리에 상주)
시스템에 리소스를 많이 차지하는 서비스
- Out of band
• 21 : control connection
• 20 : data connection(Active mode)
- Passive mode : 임의의 포트를 이용 (1024 이후것으로)
get - ftp 파일 받기
put - ftp 파일 올리기
접속및 전송 과정
1. FTP client는 21번 port를 통해서 서버와 control connection을
설정한다.
2. 이 제어연결을 통해 사용자 계정과 비밀번호를 전송한다.
3. Client는 제어연결을 통해 원격지의 디렉토리 변경과 같은 명령을 전
송한다.
4. 서버측은 제어연결을 통해 파일 전송을 위한 명령을 받으면 TCP data
connection을 초기화 한다.
5. 하나의 파일 전송이 끝나면 data연결은 close된다.
6. 다음 파일 전송을 위해서는 새로운 TCP connection을 생성한다.
관련 파일
• 데몬 : /usr/sbin/vsftpd
• 설정 파일 : /etc/vsftpd/vsftpd.conf
• PAM 모듈 : /etc/pam.d/vsftpd
• 접근 제한 파일 : /etc/vsftpd/ftpusers
/etc/vsftpd/user_list
Active mode(액티브 모드)
클라이언트가 데이터를 수신 받을 임의의 포트를 서버에 알려주면 서
버는 20번 포트를 통해 클라이언트에게 데이터를 전송함
• Client에서 Server로 FTP 제어 연결 요청
• Client에서 제어 연결을 통해 자신의 Data 전송 Port(Random Port)
를 Server 측에 알려줌
• Server에서 Client로 Data 전송 연결 요청
Passive mode(패시브 모드)
서버가 데이터를 송신할 임의의 포트를 클라이언트에 알려주어 클라이
언트가 서버의 임의의 포트에 접속하여 데이터를 가져감
• Client에서 제어 연결을 통해 Server 측에 Passive 연결요청
• Server에서 제어 연결을 통해 자신의 Data 전송 Port(Random
Port)를 Client 측에 알려줌
• Client에서 Server로 Data 전송 연결 요청
실습 전 컴퓨터 구성
st04.sec
192.168.10.130 - win
192.168.10.131 - ns (로컬네임서버)
192.168.10.133 - www (ftp, smb)
192.168.10.133을 ftp 서버로 설정할 것이다.
vi /var/named/st04.zone
$TTL 1D
@ IN SOA ns.st04.sec. root.ns.st04.sec. (
1 ; Serial
1D ; Refresh
1H ; Retry
1W ; Expire
3H ) ; Minimum
; Name Server
IN NS ns.st04.sec.
; Host address
IN A 192.168.10.131
ns IN A 192.168.10.131
win IN A 192.168.10.130
www IN A 192.168.10.133
ftp IN A 192.168.10.133
smb IN A 192.168.10.133
192.168.10.133 컴퓨터의 ip주소와 DNS 설정이다. (vmware 에서 centos7_5)
FTP 실습
1. ftp 정상작동 여부
vsftp 설치 확인
# yum list vsftpd
vsftpd 설치
# yum install –y vsftpd
vsftpd 서버 실행
# systemctl start vsftpd
사용자 생성
192.168.10.130 컴퓨터에서 테스트
사용자 st 계정은 로그인이 되는 것을 볼 수 있다.
/etc/vsftp/vsftpd.conf 파일에서 설정한다.
Active mode 설정
pasv_enable=NO(default : YES)
• 클라이언트에서 passive 모드로 접속을 요청해도 active 모드로 접속
된다.
Passive mode 설정
pasv_enable=YES (default : YES)
pasv_min_port=0 (default : 0, any port)
pasv_max_port=0 (default : 0, any port)
방화벽이나 공유기 사용시에 passive mode에서 사용하는 port 번
호를 등록해줘야 하기 때문에 범위를 반드시 지정한다.
익명 사용자 관련 설정
anonymous_enable=YES
#anon_upload_enable=YES (d:NO)
#anon_mkdir_write_enable=YES (d:NO)
#deny_email_enable=YES (d:NO banned_email_file )
- banned 파일에 지정된 메일 계정은 접속이 불허된다.
#banned_email_file=/etc/vsftpd.banned_emails
#non_anon_password=NO
#anon_root=/var/ftp (d:/var/ftp)
#ftp_username=ftp (d:ftp)
제한 설정
#max_clients=30
#max_per_ip=3 (0은 무제한)
#ls_recurse_enable=YES (ls –R 명령은 부하가 크다)
2. FTP 서비스 제한 (chroot 설정)
3. ip별로 접속 제한
4. FTP 사용자 제한 users user_list
'리눅스 공부 기록' 카테고리의 다른 글
FTP 실습 2 - IP 별로 접속 제한 (0) | 2021.11.11 |
---|---|
FTP 실습 1 - FTP 서비스 제한 (chroot 실습) (0) | 2021.11.11 |
DNS 서버 구축 실습 3 - 도메인 위임 (0) | 2021.11.10 |
DNS 서버 구축 실습 2 - 다중 도메인, 캐시네임 서버 구축, Slave name server 구축 (0) | 2021.11.09 |
DNS 서버 구축 실습 (0) | 2021.11.08 |