FTP

wera4677·2025년 5월 29일
0

리눅스

목록 보기
20/23

FTP

  • 파일 전송 프로토콜
  • TCP 21 (세션수립),20 (데이터 전송)
  • 서버와 클라이언트 간 파일을 주고받을 수 있게 해주는 프로토콜
“내 컴퓨터에서 다른 서버로 파일을 올리거나,
다른 서버에서 내 컴퓨터로 파일을 다운로드할 수 있는 파일 전송 전용 시스템”

왜 사용하는가?

  • 서버에 웹페이지 올릴 때 (ex. index.html 업로드)
  • 파일 백업/복원
  • 원격 서버와 파일 교환
  • 홈페이지 호스팅 초기 설정

FTP 동작 구조

  • FTP는 클라이언트-서버 구조이다.
    => FTP 서버: 파일을 보관해두는 쪽 (ex. 웹서버, NAS)

=> FTP 클라이언트: 서버와 연결해서 파일을 주고받는 프로그램 (ex. FileZilla, WinSCP, 커맨드라인)

FTP는 기본적으로 **로그인**해서 사용하는 방식이다.

FTP 통신 방식

  • TCP 21: 명령어를 주고받는 제어 채널 (로그인, 폴더 이동 등)
  • TCP 20: 실제 파일 데이터를 주고받는 데이터 채널

간단한 실습

VM 생성

hostname : ftp
IP : 211.183.3.21

2 core , 2GB , 20GB

방화벽 off , 셀리눅스 off , 레포 추가 , 외부 ping 확인

[root@ftp ~]# systemctl disable --now firewalld

기본 설정

[root@ftp ~]# init 6

  • 재부팅후 셀리눅스 비활성화 확인.

  • 방화벽 비활성화 확인

FTP 서버 패키지 설치

[root@ftp ~]# yum install -y vsftpd

[root@ftp ~]# systemctl restart vsftpd
[root@ftp ~]# systemctl enable vsftpd
#동작

  • 클라이언트에서 ftp로 접속시 저 파일이 보이는지 확인해보기 위해 테스트 파일을 만들어 놓자.
  • 클라이언트 서버의 아이피를 211.183.3.100 /24 로 설정 후 접속
[root@client ~]# yum install -y ftp
# 클라이언트에서 ftp 클라이언트 역할을 할 명령어를 설치

  • 로그인이 잘 되는것을 확인

  • 아까 서버에서 만든 파일도 확인 가능.

  • 아까 만든 파일이 잘 전송되는지 확인

  • 파일이 잘 받아와지는지 확인

  • 이번에는 ftp서버의 사용자인 user1로 ftp로그인 해보자. 어디론가 접속은 한것 같은데 어딘진 모르겠다.
[root@ftp ~]# echo 'user1-home' > /home/user1/test.txt
# 다시 FTP서버로 돌아와서 user1의 홈디렉토리인 /home/user1 에 
테스트 파일을 만들어보자

  • 클라이언트로 돌아와서 dir을 치면 아까 서버에서 만든 파일이 잘 보이는걸 확인 가능하다.

-> 즉, 서버에 파일을 저장해두고 같은 네트워크이면 파일을 가져올 수 있다.

profile
클라우드 꿈나무🌳

0개의 댓글