server간 ftp 연결을 하던 도중 에러가 발생함.
ftp는사용자별로 데이터 공개범위를 두어 서버의 데이터를 보호한다.
📚 [CentOS 7] No presto metadata available for base
yum clean metadata
-rpm -qa | grep vsftpd
👉 rpm 명령어 + q : 시스템에 설치된 특정패키지 정보확인
👉 rpm 명령어 + a : 시스템에 설치된 모든 정보 확인
👉 grep 명령어 + vsftpd : rpm -qa로 나온 설치된 패키지 목록중 vsftpd 글자 포함된 결과 값 추출
yum -y install vsftpd
👉 vsftpd 인스톨firewall-cmd --permanent --zone= public --add-service ftp
👉영구 ftp 설정firewall-cmd --permanent --zone= public --add-port=10000-10009/tcp
👉영구 ftp 설정 및 tcp 용 port 번호 추가firewall-cmd --zone=public --list-all
👉 public 으로 사용가능한 포트 및 방화벽 서비스 확인1) 클라이언트는 서버의 21번 포트로 접속한 후에 자신이 사용할 두 번째 포트를 서버에 미리 알려줍니다.
2) 서버는 클라이언트의 요청에 응답합니다. (acks)
3) 서버의 20번 데이터 포트는 클라이언트가 알려준 두 번째 포트로의 접속을 시도합니다.
4) 클라이언트가 서버의 요청에 응답합니다. (acks)
👉 서버가 active 하게 client에게 포트접속 여부를 물어본다 (보안 위험 낮음)
👉 클라이언트는 서버 21번 포트로 접속
👉 서버는 20번 포트에서 client에게 받은 포트로 데이터 전송
👉 서버가 방화벽 해제 / 클라이언트에서 NAT을 이용하면서 포트포워딩
1) 클라이언트가 커맨드 포트로 접속을 시도합니다. (Passive 모드 연결)
2) 서버에서는 사용할 두 번째 포트를 클라이언트에게 알려줍니다.
3) 클라이언트는 다른 포트를 열어 서버가 알려준 포트로 접속을 시도합니다.
4) 서버가 클라이언트의 요청에 응답합니다. (acks)
👉 클라이언트측에서 21번포트로 랜덤포트 번호를 전송 (클라이언트에서 ftp서버에 소통d요청)
👉 서버측에서 MIN-MAx port 번호 지정해서 열어놓음
👉 클라이언트에서 port를 열어 서버로 접속
👉 패시브모드에서는 ftp 서버가 데이터 포트를 정해서 열고 열린포트를 ftp 클라이언트한트가 접속되어 있는 20번 포트를 통해서 알려준다
vi /etc/vsftpd/vsftpd.confpasv_enable=YES
pasv_min_port=4000
pasv_max_port=4100
ftp 보안설정
passive 모드예시
경로 레퍼런스
vsftpd.conf 파일내용정리
vsftpd 순서 파일
network의 3way handshake, 4way handshake 와 유사하다는 느낌. (단 ,http 통신은 단방향 통신)
vsftp : 서버용 ftp 프로그램 (very secure +ftp)
SELinux 부울값과 ftp 관계
chain의 이해
ftp와 firewall과의 관련성
ftp 서버 모드 진입후 사용하는 명령어 정리해 볼 것.
ftp 명령어