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 |