본문 바로가기
Linux

FTP 동작원리부터 설치 파일질라 이용하기(Centos6)

by 개폰지밥 2019. 1. 15.
반응형

FTP 설치 전에 FTP에 대해서 알아봅시다.

FTP란 

file transfer protocol의 약자이며 인터넷상에서 파일 송/수신을 쉽게 도와줍니다.

FTP 전용 소프트웨어

FTP는 인터넷 익스플로러나 웹브라우저 윈도우 탐색기 등으로 할 수 있지만 아무래도 어렵습니다. 
그래서 FTP 클라이언트 프로그램을 별도로 설치해 접속하는 것이 편리합니다. 대표적으로 알 FTP, cute_FTP 등이 있습니다.

 

FTP 동작원리

FTP 서비스를 제공하는 서버와 여기에 접속하는 클라이언트 사이에 두 개의 연결이 생성되는데, 하나는 데이터 전송을 하기 신호를 주고받기 위함이고(21번 포트) 다른 하나는 실제 데이터 전송에 사용됩니다(20번 포트)

즉 내가 Local PC에 있는 파일을 가상머신에 있는 곳에 옮기고 싶을 때,
파일을 올리고 내려받는 것은 21번포트인 데이터 전송 연결에서 처리되는 것입니다.

 

FTP 능동(active)모드와 수동(passive) 모드

FTP는 기본적으로 능동모드와 수동 모드 두 가지의 데이터 접속 방식을 제공한다. 능동 모드는 앞에서 설명한 포트 20번과 21번을 사용하는 방식입니다.
수동모드는 데이터 전송용 20번을 사용하지 않고 다른 임의의 번호로 할당하여 데이터를 전송하는 모드입니다. 수동 모드로 하는 이유는 보안 때문인데 일부의 네트워크 보안 장비(라우터, 방화벽)에서 20번을 차단하는 경우가 있기 때문입니다.

 

SFTP란? 

SFTP는 secure(보안)을 강화한 것으로 데이터 전송 시 계정 정보 등을 암호화합니다. 또한 신호 제어용 포트를 21번이 아닌 22번을 사용합니다.
 
간단하게 FTP에 대해서 정리했으면 이제 FTP 설치 시작 해보도록 하겠습니다

FTP 설치 

1) FTP 설치
yum -y install vsftpd*   //*는 vsftpd관련된 것 다 설치한다는 뜻입니다.

 

2) vi /etc/sysconfig/iptables   에 ftp 포트 20번과 21번을 추가한다.
ftp는 위에서 설명했듯이 연결용 20번과 실제 데이터용 21번이 둘다둘 다 필요하기 때문에 20번과 21번 둘 다 추가해줍니다.

 

3) iptables 수정 후 재시작 하기
iptables를 수정 한 후 적용시키려면 재시작을 반드시 해야 합니다.
service iptables restart

 

4) 포트 포워딩 해주기
포트 포워딩은 말 그대로 ip 주소와 포트 번호를 다른 곳으로 넘겨줍니다.
예를 들어 사장님이 내 가상 머신에 접속 하고 싶다고 가정하면 
포트 포워딩을 해 두면, 내 ip 주소와 포트번호를 이용하여 사장님 컴퓨터에서 내 가상머신 putty 접속이 가능합니다.

 

 

5) [옵션] root도 접근할 수 있게 허용해주기
원래 보안을 위해서 관리자인 root는 접속할 수 없게 해주는 게 좋습니다. root로 접근하면 모든 것을 관리할 수 있는 권리를 가지게 되기 때문이죠.
하지만 여기는 연습용이니까 root도 접근할 수 있게 허용해줍니다.

vi /etc/vsftpd/user-list와 /etc/vsftpd/ftpusers  에서
root를 지워주거나 #으로 주석 처리해줍니다.

 

 

6) 잘 수정했는지 체크해주기
chkconfig /etc/vsftpd/user-list

 

7) ftp 시작하기
기껏 ftp 설정을 하고 시작을 안 하면 ftp 접속이 되지 않습니다! 꼭 시작을 해줍니다.

 

8) ftp 접속하기 (파일 질라)

 

 

참고) 파일 질라란?
ftp 관리 소프트웨어 중에 하나입니다. 설치와 사용방법이 매우 쉽고 간단하고 한글도 지원합니다. 여기서는 파일 질라를 이용할 것입니다. 파일질리가 없으신 분은 구글에서 파일질라 다운로드라고 입력하시면 됩니다!

호스트에는 나의 ip 주소를 적고 사용자명과 비밀번호에는 리눅스 사용자명과 비밀번호를 적습니다.

포트는 20번과 21번 둘 다 상관없습니다. 또한 sftp 번호인 22번으로 해도 됩니다.
sftp로 보내고 싶을 때는 호스트 앞에 sftp://를 붙여 sftp://10.10.30.64라고 적어야 합니다.

그런데 접속이 안된다면 아래와 같이 해주세요.
allow_ftpd_full_access와 ftp_home_dir은 on으로 바꿔주세요.
getsebool -a | grep ftp를 입력하면 ftp의 설정을 가져와줍니다. off 되어있는 것을 on으로 바꿔줍니다.

setsebool -P allow_ftpd_full_access on

setsebool -P ftp_home_dir on으로 on 해주시면 됩니다.

on으로 수정 후 ftp 재시작을 하여 적용합니다.

service vsftpd restart

파일 질라 접속 성공!

이제 window(local pc)에서 linux(가상 머신)로 파일을 전송할 수 있습니다.

 

[관련 게시글]

2019.01.15 - [Linux] - ssh가 생겨난 배경 부터 설치까지 (centos6)

반응형

'Linux' 카테고리의 다른 글

Linux Basic Command - 1  (0) 2019.03.05
Linux Basic Command - 2  (0) 2019.03.05
Linux File 권한 살펴보기  (0) 2019.02.15
selinux 비활성화 하는 방법  (0) 2019.02.07
ssh가 생겨난 배경 부터 설치까지 (centos6)  (3) 2019.01.15

댓글