IT/Linux

[35] Linux DHCP & FTP & DNS & WEB & 가상 호스트 & NFS & MAIL 실습

o_zeew 2022. 3. 28. 16:46

(1) 실습 설계

(2) CentOS7-3 서버 구축

(3) CentOS7-2 서버 구축

(4) CentOS7-1 서버 구축

(5) 설정 적용 확인


<실습 설계>

<문제>

(1) DHCP 
 1. 기존 설정대로 (우리만 아는 걸로)
 2. 서버 50대, 고정 앞쪽 부터, 임대시간 3시간, 예약 기능 사용

(2) VSFTPD 
 1. 대부분 기존 설정. Passive 65000-65100, 사용자 a, b. chroot a만, tcp wrapper 사용 안함
 2. /ftp에 배너, chroot list 파일, xferlog 저장

(3) DNS
 1. 정방향 및 역방향 모두 설정

(4) WEB
 1. Blog 페이지는 w10-1만 접속 가능
 2. Intra 페이지는 a, b 사용자만 접속 가능

(5) NFS
 1. 서버에 /nfs, 리눅스 클라이언트에 /nfs-c, 윈도우 클라이언트에 z:

(6) MAIL
 1. 사용자 aa, bb


<CentOS7-3 서버 구축>

  : DHCP, WEB(Main,Blog), 주DNS, NFS Server

  - 주 DNS가 있는 CentOS7-3부터 서버 구축

 

1. 관련 파일 설치

DHCP, HTTPD(web), DNS(bind, bind-utils, bind-libs), NFS(nfs-utils)
설치 완료

 

2. DHCP 설정

  - dhcp 설정 파일 편집

vi 편집기로 설정 파일 열기
예제 파일 복사해서 사용

  - 필요 없는 행 삭제

  - 예약 관련 부분 복사(w10-1, w11-1 두개 필요)

  - 문제 조건에 맞게 작성

 

  - 설정 파일 편집 후 시스템 시작

 

3. WEB 서버 (HTTP) 설정

  - Blog 관련 파일을 모을 디렉토리 생성

/var/www/ 아래에 blog 디렉토리 생성

  - 시작페이지 작성

main 시작페이지 파일 생성
main 시작페이지 작성
blog 시작페이지 파일 생성
blog 시작페이지 작성

  - 가상호스트와 접근제한 설정

vi 편집기로 /etc/httpd/conf.d/ 아래에 virtual.conf 파일 생성
main과 blog에 대한 가상호스트 설정 / blog에 대한 w11-1 접근 제한 설정

  - welcome.conf 파일의 이름 변경

  * 시작페이지에서 index.html 파일을 읽지 못하면 apache 제공 시작파일이 실행되기 때문에 미리 설정

mv 명령어로 welcome.conf 파일 이름 변경

  - 설정 변경 후 시스템 시작

web의 httpd 시스템 시작

  - 방화벽 열기

http의 80번 port 열기

 

4. DNS 서버 설정

  - 설정 파일 편집

vi 편집기로 설정 파일 열기
모든 IP로 DNS 서비스 실행 / 모든 IP가 DNS에게 질의 하도록 허용

  - 정방향, 역방향 조회 영역 파일 설정

vi 편집기로 조회 영역 파일 열기
정방향 조회 영역 관련 부분 복사해서 사용
역방향 조회 영역 관련 부분 복사해서 사용
정방향과 역방향의 도메인 네임, IP 작성 / 주 DNS이기 때문에 master type / 파일명 / 보조 DNS 업데이트 가능하게 설정

  - /var/named 디렉토리 밑에 동일한 이름의 파일명으로 필요한 영역 파일 복사

정방향 영역 파일 : jwoh.xyz / 역방향 영역 파일 : xyz.jwoh

  - 정방향 조회 영역 파일 작성

vi 편집기로 정방향 영역 파일 열기
정방향으로 조회할 정보 작성

  - 역방향 조회 영역 파일 작성

vi 편집기로 역방향 영역 파일 열기
역방향으로 조회할 정보 작성

  - 보조 DNS 서버가 파일을 사용 가능하도록 파일에 others에게 읽기 권한 부여

chmod 명령어로 정방향과 역방향 파일에게 other 읽기 권한 부여

  - 설정 편집 후 시스템 시작

dns의 시스템 named 시작

  - 방화벽 열기

dns의 53번 udp, tcp 포트 열기

  - DNS IP 설정 변경

vi 편집기로 설정 파일 열기
DNS1을 주DNS 서버에 맞게 작성, DNS2 문제 조건에 맞게 작성

  - 설정 파일 변경 후 시스템 재시작

 

  - 설정 적용 확인

정방향과 역방향의 조회 가능

 

5. NFS 서버 설정

  - nfs 서버 디렉토리 생성

mount할 디렉토리 생성

  - /nfs 디렉토리에 others 쓰기 권한 부여

mount 하는 client가 사용해야 하기 때문에 others 쓰기 권한 부여

  - nfs 등록

vi 편집기로 /etc/exports 파일 열기

  - /nfs 디렉토리를 10.0.0.0 네트워크의 사용자에게 접근 허용

  - (읽기,쓰기 권한 부여 / 동기화 설정 / 접속하는 모든 사용자를 root로 처리 / anonymous의 uid와 gid = 0)

nfs 내용 작성

  - 설정 파일 편집 후 시스템 시작

nfs 시스템 시작

  - 설정 적용 확인

exportfs -v 명령어를 사용해 설정 적용 확인하기

  - 방화벽 열기

nfs, mountd, rpc-bind, portmapper, nlockmgr 서비스 열기

 


 

<CentOS7-2 서버 구축>

  : MAIL, WEB(Main,Blog,Intra), 보조DNS, NFS Client

 

1. 관련 파일 설치

MAIL(dovecot, sendmail, sendmail-cf), DNS(bind, bind-utils, bind-libs), WEB(httpd) 설치
설치완료
NFS(nfs-utils) 설치
설치 완료

 

2. MAIL 설정

  - 설정 파일 편집

vi 편집기로 sendmail.mc 파일 열기
주석 해제 후 14레벨로 작성
인증 관련 부분 주석 해제
모든 IP에 서비스 하기 위해 IP 설정 부분 삭제

  - 작성한 설정 파일 configuration 파일에 밀어넣기

m4 명령어를 사용해 sendmail.mc 파일을 sendmail.cf 파일에 추가

  - sendmail.cf 파일 편집

vi 편집기로 파일 열기
39번째 행의 빈 공간으로 인해 오류 발생
빈 공간 dd 명령어로 삭제

  - 도메인 등록

vi 편집기로 설정 파일 열기
도메인 이름 작성

  - 사용자 생성

사용자 aa, bb 생성 후 비밀번호 설정

  - 접근 제어 파일 설정

vi 편집기로 접근 제어 파일 열기
도메인, mail, IP, 네트워크 작성

  - sendmail이 이해하도록 hash 작업

    * /etc/mail/access파일을 받아서 /etc/mail/access 파일을 만드는데 makemap hash 적용하여

      sendmail이 알아볼 수 있는 database 형태를 생성

< : 입력

  - 그룹 사용자에 메일 추가

vi 편집기로 그룹 파일 열기
mail에 사용자 aa, bb 추가

  - 설정 파일 변경 후 인증 관련 시스템과 메일 시스템 시작

saslauthd와 sendmail 시작

  - 서비스할 port와 protocol 지정

vi 편집기로 dovecot.conf 파일 열기
protocol imap, pop3, lmtp 지정
모든 port로 모든 IP를 서비스

  - 인증 파일 설정

vi 편집기로 인증 파일 열기
평문 인증 사용

  - 사서함 위치 설정

vi 편집기로 메일 파일 열기
메일의 위치 = /var/mail/사용자이름(변수)

  - Port 열기

vi 편집기로 마스터 파일 열기
imap의 143번 포트 열기
pop3의 110번 포트 열기

  - SSL 편집

vi 편집기로 ssl 파일 열기
ssl 사용 안함

  - 시스템 시작

dovecot 시스템 시작

  - 방화벽 열기

SMTP의 25번 포트, POP3의 110번 포트, IMAP의 143번포트

 

3. 보조 DNS 설정

  - 설정 파일 편집

vi 편집기로 설정 파일 열기
모든 IP로 DNS 서비스 실행 / 모든 IP가 DNS에게 질의 하도록 허용

  - 정방향, 역방향 조회 영역 파일 편집

vi 편집기로 조회 영역 파일 열기
정방향 조회 영역 관련 부분 복사해서 사용
역방향 조회 영역 관련 부분 복사해서 사용
정방향과 역방향의 도메인 네임, IP 작성 / 보조 DNS이기 때문에 slave type / 파일명 / 주 DNS IP 작성

  - 설정 파일 변경 후 시스템 시작

  - 시스템 재시작시 자동으로 주DNS 서버에서 영역 파일 가져옴

정방향 영역 파일 (jwoh.xyz), 역방향 영역 파일 (xyz.jwoh) 확인 가능

  - 방화벽 열기

dns의 53번 udp, tcp 파일 열기

 

4. WEB 서버 (HTTP) 설정

  - Intra와 Blog 관련 파일을 모을 디렉토리 생성

/var/www/ 아래에 각각의 디렉토리 생성

  - 시작페이지 생성

main 시작페이지 생성
main 시작페이지 작성
blog 시작페이지 생성
blog 시작페이지 작성
intra 시작페이지 생성
intra 시작페이지 작성

  - Userfile을 생성할 디렉토리 생성

  - 사용자 계정 생성

   * 처음 생성시에만 -c 옵션 사용

htpasswd 명령어를 사용해 사용자 a, b 생성

  - 접근 제한 설정

/intra 디렉토리에 접근제한 파일 생성
userfile의 경로 / 사용자 a와 b만 접근 가능

  - 설정 파일 편집

vi 편집기로 /etc/httpd/conf.d/ 디렉토리 아래에 virtual.conf 파일 생성
가상호스트와 접근제한 작성

  - welcome.conf 파일 이름 변경

mv 명령어로 welcome.conf 파일 이름 변경

  - 설정 파일 변경 후 시스템 시작

httpd 시스템 시작

  - 방화벽 열기

httpd의 80번 포트 열기

 

5. NFS Client 서버 설정

  - mount 할 디렉토리 생성

/nfs-c 디렉토리 생성

  - NFS 서버와 mount

10.0.0.13의 /nfs 디렉토리를 /nfs-c와 마운트
마운트 확인

 


 

<CentOS7-1 서버 구축>

  : FTP, 보조 DNS, WEB(Main, Intra)

 

1. 관련 파일 설치

FTP(vsftpd), DNS(bind, bind-utils, bind-libs), WEB(httpd)
설치 완료

 

2. FTP 설정

  - 사용자 생성

user a, b 생성 후 비밀번호 설정

  - 500MB 파일 생성

각 사용자의 홈 디렉토리에 사용자 이름의 파일 생성

  - FTP 관련 파일을 모을 디렉토리 생성

/ftp 디렉토리 생성

  - Banner 작성

vi 편집기로 /ftp/ 아래에 banner 파일 생성
banner 작성

  - Chroot list 작성

vi 편집기로 /ftp/ 아래에 chroot 파일 생성
사용자 a chroot에 적용

  - 설정 파일 편집

vi 편집기로 설정 파일 열기
anonymous 사용 안함
xferlog 사용
Passive Mode 사용을 위해 20번 포트 주석처리
xferlog file 경로 설정
접속 후 움직임 없을 시 120초 이후에 접속 차단
데이터 전송 시간이 60초를 초과할 경우 데이터 전송 중단
banner file의 경로 설정
chroot list 사용 / chroot list file 경로 설정
tcp wrapper 사용 안함 / chroot 적용 사용자 쓰기 가능 / passive mode 사용 / 최소 포트 65000 / 최대 포트 65100

  - 설정 파일 변경 후 시스템 시작

vsftpd 시스템 시작

  - 방화벽 열기

ftp의 21번 포트, passive mode의 65000-65100 포트

 

3. 보조 DNS 설정

  - 설정 파일 편집

vi 편집기로 설정 파일 열기
모든 IP로 DNS 서비스 실행 / 모든 IP가 DNS에게 질의 하도록 허용

  - 정방향, 역방향 조회 영역 파일 설정

vi 편집기로 조회 영역 파일 열기
정방향 조회 영역 관련 부분 복사해서 사용
역방향 조회 영역 관련 부분 복사해서 사용
정방향과 역방향의 도메인 네임, IP 작성 / 보조 DNS이기 때문에 slave type / 파일명 / 주 DNS IP 입력

  - 설정 파일 변경 후 시스템 시작

dns의 named 시스템 시작

  - 시스템 재시작시 자동으로 주DNS에서 영역 파일 가져옴

정방향 영역 파일 (jwoh.xyz), 역방향 영역 파일 (xyz.jwoh) 확인 가능

  - 방화벽 열기

dns의 53번 udp, tcp 포트 열기

 

4. WEB 서버 (HTTP) 설정

  - 필요한 디렉토리 생성

intra 관련 파일을 모을 디렉토리 생성

  - 시작페이지 생성

main 시작페이지 생성
main 시작페이지 작성
intra 시작페이지 생성
intra 시작페이지 작성

  - Userfile을 생성 할 디렉토리 생성

  - 사용자 생성

   * 첫 생성만 -c 옵션 사용

htpasswd 명령어로 사용자 a, b 생성

  - 접근 제한 설정

intra의 접근제한 설정 파일 생성
Userfile 경로 / 사용자 a, b만 접근 가능

  - 설정 파일 편집

vi 편집기로 설정 파일 열기
가상호스트와 접근 제한 작성

  - 설정 파일 변경 후 시스템 시작

web의 시스템 httpd 시작

  - 방화벽 열기

httpd의 80번 포트 열기

 


 

<설정 적용 확인>

 

  - DHCP 확인

w10-1확인
w11-1 확인

 

  - FTP 확인

ftp 접속 가능
dir로 확인

 

  - DNS 확인

   * 주 DNS가 아닌 보조 DNS로 설정이 되어있어도 확인 가능해야함

실행창에 ncpa.cpl 입력
DNS 서버 주소를 보조 DNS로 변경
dns 서버 설정 확인
보조 dns 기본 서버 적용 확인 가능
역방향 조회 가능

 

  - WEB 확인

w10-1 Main 서버
w10-1 도메인 이름
w10-1만 블로그 접속 가능
w10-1 intra
w11-1 main 서버
w11-1 도메인 이름
w11-1 blog 접속 불가
w11-1 intra 접속
w11-1 intra 접속 가능

 

  - NFS 확인 Linux

nfs client에서 파일 생성
생성 파일 확인
nfs server에서 client가 생성한 파일 확인 가능

  - NFS 확인 Windows

제어판 - 프로그램 및 기능 - Windows 기능 켜기/끄기 - NFS용 서비스 체크
Windows client와 nfs server 마운트
Windows client에서 마운트 된 드라이브 확인 가능
windows clietn에서 파일 생성
nfs server에서 windows client가 생성한 파일 확인 가능

 

  - MAIL 확인

w10-1 기존 이메일의 서버를 CentOS7-2로 설정
w11-1 기존 이메일 서버를 CentOS7-2로 설정
w10-1 보내는 서버를 CentOS7-2로 설정
w11-1 보내는 서버를 CentOS7-2로 설정
사용자 aa가 사용자 bb에게 메일 전송
사용자 bb 메일 받기 가능
사용자 bb가 사용자 aa에게 답장 작성
사용자 aa도 메일 받기 가능