0. 목차
1. FTP
2. Well known port
3. 설치 및 설정
3.1.리눅스 설치 및 설정 ( 엑티브 모드 )
3.2. 리눅스 설치 및 설정 ( 패시브 모드 )
4. DHCP, FTP 종합문제
1. FTP : File Transfer Protocol
- 대용량 파일 전송 ( Upload, Download )
1.1. 리눅스
- vsftpd or poftpd 를 이용
1.1.1 인증 및 제어
- Protocol : TCP
- Port : 21
1.1.2.데이터 전송
1) Active : Port 20
- Client Data 전송포트를 결정
- Client Port를 모두 open. ( 방화벽 포트를 모두 여는 경우는 별로 없음)
- FTP Program만 사용가능 하도록 port 설정
2) Passive
- Server가 Data전송포트를 결정, 대부분 이 방식을 사용
- 방화벽에서 Data 전송포트만 Open하면됨.
2. Well known port
- 0번 ~ 1023번: 잘 알려진 포트 (well-known port)
- 1024번 ~ 49151번: 등록된 포트 (registered port)
- 49152번 ~ 65535번: 동적 포트 (dynamic port)
3. 설치 및 설정
3.1.리눅스 설치 및 설정 ( 엑티브 모드 )
(1) 첫번째 실습
- yum install -y vsftpd : 명령어를 이용하여 ftp 설치
- 사용자 a와 b 추가
- 설정파일 위치 /etc/vsftpd/vsftpd.conf
- 베너를 설정하여 출력될 베너 작성
- chroot를 활성화시키고 사용자 리스트 파일을 생성하여 사용자 추가.
- 저장 후 vsftpd 시스템 실행
- 포트 활성화( firewall 설정 ) 21번과 20번을 열고 reload를 적용한다.
permenent 옵션은 실제로 설정파일을 건드리게 되어 reload 필수.
- 500메가 용량을 가지는 a.txt와 b.txt.를 a와 b 홈디렉토리에 생성
- 클라이언트 방화벽에서 ftp를 활성화하지 않으면 화이트 보드현상이 일어나게 된다.
- 윈도우 방화벽에서 인바운드 규칙에 ftp를 추가. 인바운드 우클릭을 통해 새규칙
- 클라이언트를 통해 사용자 a로 ftp 접속
- quit 명령어를 통해 빠져나온다.
- 클라이언트를 통해 사용자 b로 ftp 접속
- yum으로 vsftpd를 지워도 conf 파일은 남는다.
chroot_list 파일도 지워야 제거가 완료.
-----------------------------------------------------------------------------------------------------------------------------------
(2) 두번째 실습
- 설정파일을 디렉토리에 모아 설정.
- 설정파일을 모아놓을 ftp 디렉토리 생성
- conf 파일내 베너 문구설정부분을 아래와 같이 파일경로로 설정.
- !bash를 통해 vi 편집기로 ftp 파일 생성
- vi 편집기를 통해 chroot 파일 생성하여 사용자 a 추가.
- exit를 통해 돌아간 뒤 conf 설정
- 방화벽 설정 후 ftp 실행
- 윈도우 클라이언트에서 새규칙으로 ftp 규칙 생성.
- 윈도우 cmd를 통해 ftp 접속
- cat을 통해 test.txt 파일을 생성
- a로 로그인하여 명령어 사용
- get 파일이름 바꿀이름 : 서버에서 클라이언트로 파일을 가져온다
!dir : 클라이언트에 디렉토리 내용을 보여준다.
lcd 디렉토리 : 클라이언트에 디렉토리를 변경
put 파일이름 바꿀이름 : 클라이언트에서 서버로 파일을 가져온다.
mget 파일이름 : 파일을 서버에서 여러개 가져온다
mput 파일이름 : 파일을 서버로 여러개 보낸다.
binary mode : 숫자모드, ascii mode : 문자 모드
- 파일질라 사용
- 파일질라 사용을 위해 방화벽등록
- 파일질라 실행.
- 파일질라에 서버 연결 -> 사이트 관리자 탭 선택
- 사이트관리자에 연결할 서버 설정
- 상단의 생성된 탭을 통해 서버 연결
- 연결된 서버 확인
- 아래 명령어를 통해 설정해놓은 방화벽을 풀 수 있다.
- tcp_wrapper : allow에 있는 것만 접속가능하게 한다. deny에 있어도 allow 있는 것이 먼저 접속.
- deny 된 경우
3.2. 리눅스 설치 및 설정 ( 패시브 모드 )
- 위에 앞선 과정처럼 설정을 모아놓을 디렉토리와 설정을 진행한다.
- 사용자 생성 및 비밀번호 설정
- 앞선 과정을 동일하게 진행하고, 앞과는 다르게 port는 따로 열지않는다. 또한 패시브모드로 열어줄 포트를 지정하 는 명령어를 마지막에 추가한 후 시스템을 실행.
- 방화벽을 설정해준다. 21포트와 미리 구간을 지정해놓은 포트를 열어준다.
- 프리질라에서 사이트 관리자에 들어간 후 전송설정을 수동형으로 변경.
- 연결을 시도하면 연결이 성공적으로 된다.
- 파일 aa.txt를 드래그하여 클라이언트로 원하는 폴더에 내려받을 수 있다. 이때 netstat -na -p tcp 명령어로 포트를 확인하면 설정해놓은 포트를 사용하여 내려받는 것을 볼 수 있다.
*** 참고 ***
4. DHCP, FTP 종합문제
- DHCP를 설치하여 운영할 리눅스 서버의 ip 셋팅
- vmware 네트워크 설정
- 통신을 위해 호스트 pc의 ip 설정
- dhcpd.conf 파일을 수정하여 할당할 ip 범위와 예외 처리 및 예약 실행.
- dhcp서비스를 실행하며 enable 명령어로 재부팅 시 자동으로 실행되도록 설정.
- 각 윈도우 클라이언트에서 IP를 할당받게 되면 예약처리대로 받게된다.
- 사용자 생성 및 비밀번호 설정
- 각 사용자의 홈디렉토리에 500M 더미 파일 생성
- vsftpd 설정을 모아놓을 디렉토리를 생성하고 각 베너파일과 chroot파일을 생성한 후 vsftpd.conf 파일을 수정.
- tcp-wrapper를 설정. /etc/hosts-allow와 /etc/hosts-deny에 해당되는 IP입력.
- 방화벽을 설정해준다. 21포트와 미리 구간을 지정해놓은 포트를 열어준다.
- 프리질라에서 사이트 관리자에 들어간 후 전송설정을 수동형으로 변경.
- 연결을 시도하면 연결이 성공적으로 된다.
- 파일 aa.txt를 드래그하여 클라이언트로 원하는 폴더에 내려받을 수 있다. 이때 netstat -na -p tcp 명령어로 포트를 확인하면 설정해놓은 포트를 사용하여 내려받는 것을 볼 수 있다.
- w11-1로 접속을 시도하면 tcp_wrapper 설정으로 인하여 접속이 불가.
'리눅스' 카테고리의 다른 글
21. DNS(2) (0) | 2022.03.22 |
---|---|
20. DNS(1) (0) | 2022.03.21 |
18. DHCP (0) | 2022.03.14 |
17. SSH Key Generator & Connecton (0) | 2022.03.04 |
16. 아파치 웹서버 스크립트 생성 (0) | 2022.03.03 |