페도라 OS에서 FTP서버 설치하기
페도라(Fedora)는 다양한 서버 서비스를 제공할 수 있는 강력한 리눅스 배포판입니다.
이 글에서는 Fedora에서 FTP 서버를 설치하고 설정하는 방법을 다룹니다. 특히 vsftpd(very secure FTP daemon) 패키지를 사용하여 FTP 서비스를 실행하는 과정을 중심으로 설명하겠습니다.
만약 페도라OS를 설치하고자 한다면 이전 설치글을 참고해주세요.
vsftpd란 무엇인가?
vsftpd는 "Very Secure FTP Daemon"의 약자로, 안정성과 보안성을 특징으로 하는 FTP 서버 프로그램입니다. 빠른 속도와 경량화된 설계를 기반으로 대규모 서버 환경에서도 활용됩니다.
vsftpd 설치하기
vsftpd가 이미 설치되어 있는지 확인
이전에 fedora os를 사용해 왔던 유저라면 이미 vsftpd 패키지가 설치되어 있을 수 있습니다.
패키지가 설치되어 있는지 확인하려면 다음 명령어를 입력하세요.
rpm -q vsftpd
사진처럼 vsftpd 패키지 버전이 나온다면 이미 vsftpd패키지가 설치되어 있는 경우이며, 아무 내용도 나오지 않는다면 패키지를 새로 설치하셔야 합니다.
vsftpd 설치
sudo dnf -y install vsftpd
dnf install 명령으로 vsftpd 패키지를 설치할 수 있습니다.
이때 -y
옵션을 사용하면 설치과정에서 자동으로 "예"를 클릭하게 됩니다.
vsftpd 서비스 시작
패키지를 설치하고 vsftpd를 사용하기 위해서는 서비스를 시작하여야 합니다.
sudo systemctl enable vsftpd # 부팅시 자동실행
sudo systemctl start vsftpd # vsftpd 서비스 시작
vsftpd패키지를 부팅 시 자동으로 실행가능하게 하려면 enable 명령을 사용하시면 됩니다.
서비스를 실행하기 위해서 start
옵션을 통해 vsftpd 패키지를 실행합니다.
vsftpd 서비스 상태 확인
sudo systemctl status vsftpd
status
명령을 사용하면 현재 서비스가 실행 중인지 확인할 수 있습니다.
Active에 상태가 active (running)으로 나온다면 서비스가 제대로 실행 중이라는 의미이고, 만약 loaded라는 상태로 나온다면 서비스를 실행하셔야 합니다. status 명령에서 빠져나오려면 키보드의 q를 입력하시면 됩니다.
방화벽 설정하기
FTP 서버를 외부에서 접속 가능하도록 하려면 방화벽 설정이 필요합니다.
firwall-config GUI 방화벽 도구 사용하기(선택 1)
GUI 기반의 방화벽 설정 도구인 firewall-config를 사용하려면 방화벽을 쉽게 설정할 수 있습니다.
sudo dnf -y install firewall-config
위 명령을 통하여 firewall-config를 설치할 수 있습니다.
터미널에서 firewall-config
명령을 입력하면 GUI 방화벽 설정도구를 열 수 있는데, 이때 설치를 방금 막 마친 터미널에서 명령어를 입력하면 GUI오류가 발생할 수 있습니다. 반드시 터미널을 닫은 후 새로 열어 새로운 창에서 명령어를 입력하세요.
방화벽 설정창이 열리면 ftp를 찾아 체크박스에 체크한 뒤 종료하시면 됩니다.
참고로 이 설정은 리눅스를 재부팅하면 초기화되기 때문에 설정에서 영구적으로 바꾼 후 서비스를 체크해 주면 한 번만 설정하시면 재부팅하셔도 설정이 유지됩니다.
외부접속 포트 허용하기
ftp는 20번 포트 혹은 21번 포트를 사용합니다. 간혹 방화벽에서 서비스를 체크했어도 외부에서 접속이 되지 않는 경우가 있습니다. 이럴 때 포트에서 21번 tcp포트를 화면처럼 추가해 주시면 외부에서도 ftp서비스 연결이 가능합니다.
systemctl restart vsftpd
설정을 모두 마쳤으면 vsftpd 서비스를 재시작하여 변경사항을 적용합니다.
CLI FTP 방화벽 설정하기 (선택 2)
위에서 사용한 GUI도구를 설치하지 않더라도 CLI환경에서 명령어로 방화벽 설정이 가능합니다.
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
위 명령어는 FTP 서비스(21번 포트)를 방화벽에서 허용하고, 변경 사항을 적용합니다.
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --reload
만약 특정 포트를 허용하고 싶다면 위의 명령어를 사용하실 수 있습니다. 위 명령어에서는 21번 포트를 허용하도록 설정하고, 변경사항을 적용합니다.
FTP서버 접속하기
fedora os에서 접속해 보기
ifconfig
명령을 사용하면 현재 pc의 로컬 IP를 확인할 수 있습니다. 이 IP주소를 사용해 ftp에 연결할 수 있습니다.
ftp 연결하고자 하는ip
ftp에 연결하려면 위의 명령을 사용하면 됩니다.
ftp 명령을 실행하면 사용자 아이디와 비밀번호를 입력하여 연결할 수 있습니다. 이때 패스워드는 입력할 때 따로 화면에는 표시가 되지 않지만 정상적으로 입력되오니 입력하고 엔터를 누르시면 됩니다.
vmware 밖에서 ftp서버 접속해 보기
windows계열 시스템에서 ftp서버에 접속하려면 여러 다양한 프로그램들이 제공되는데 그중에 파일질라를 추천합니다.
파일질라 홈페이지에 접속하고 아래로 스크롤하면 플랫폼별 다운로드를 지원하고 있습니다. Windows의 경우 무설치 버전도 제공하고 있어서 가볍게 사용하기 정말 유용합니다.
파일질라를 실행하면 이런 화면이 나타나게 되는데, 상단에 연결하고자 하는 정보를 순서대로 입력한 뒤, 빠른 연결을 클릭하면 됩니다. 포트란은 비워두면 자동으로 ftp 기본포트로 연결됩니다.
- 연결하고자 하는 호스트의 IP주소를 입력합니다.
- 연결하고자 하는 호스트의 사용자명을 입력합니다.
- 연결하고자 하는 호스트의 패스워드값을 입력합니다.
- 연결 버튼을 클릭하여 ftp연결을 시도합니다.
연결이 성공되면 파일질라에서 리눅스 서버의 디렉터리를 조회하고 파일을 업로드하거나 다운로드할 수 있습니다.
빨간 상자 영역이 현재 연결을 시도한 pc의 디렉터리이고, 초록 상자 영역이 연결대상인 fedora시스템의 디렉터리입니다. 파일을 드래그엔 드롭으로 업로드하거나 다운로드할 수 있습니다.