9장. 네임 서버 설치 및 운영 (3) - 마스터 네임 서버

728x90
반응형

출처 : https://www.youtube.com/watch?v=gowkIfJGg0Y&list=PLVsNizTWUw7FqN2gq79Cb3R6qkS7mqOJk&index=52

 

 

마스터 네임 서버(Master Nameserver)

 

 

  • 도메인에 속해 있는 컴퓨터들의 이름을 관리하고, 외부에 해당 컴퓨터의 IP 주소를 알려주는 역할
  • 즉, zangwoo.com 안의 있는 컴퓨터들(www, ftp 등)을 관리하는 서버이다. 저번 시간에 캐싱 전용 네임 서버에게 IP 주소를 알려준 nate.com 네임 서버가 바로 마스터 네임 서버가 된다.

 

마스터 네임 서버 실습

 

실습 목표

  • 마스터 네임 서버를 설치하고 운영한다.
  • 간단한 웹 서비스 / FTP 서비스를 제공해본다.
  • 마스터 네임 서버 관련 설정 파일을 익힌다.

 

실습 과정

  1. server(B) 가상 머신에 FTP 서버를 설치하고, server 가상 머신에 네임 서버와 웹 서버를 설치한다. 그리고 server 가상 머신의 네임 서버 설정에서 www.thisislinux.com은 server 가상머신의 IP 주소인 192.168.111.100으로, ftp.thisislinux.com은 server(B) 가상 머신의 IP 주소인 192.168.111.200 으로 설정한다.
  2. Client 가상 머신에서 실제로 존재하는 네이트 사이트의 www.nate.com의 접속을 시도할 때 다음과 같은 순서로 진행된다. 이 과정은 캐싱 전용 네임 서버와 큰 차이가 없다.
    1. 설정된 네임 서버인 192.168.111.100에게 www.nate.com의 IP 주소를 요청한다.
    2. 192.168.111.100은 자신의 DB를 검색해 www.nate.com이 있는지 확인한다. 하지만 해당 내용이 없을 것이므로 외부 인터넷에서 www.nate.com의 IP 주소를 알아 온다.
    3. 알아 온 www.nate.com의 IP 주소를 Client 가상 머신에 알려 준다.
  3. 이번에는 Client 가상 머신에서 앞으로 새로 구축할 www.thisislinux.com의 접속을 시도할 때의 과정을 알아보자.
    1. 설정된 네임 서버인 192.168.111.100에 www.thisislinux.com의 IP 주소를 요청한다.
    2. 192.168.111.100은 자신의 DB를 검색해 www.thisislinux.com이 있는지 확인한다. thisislinux.com은 자신이 관리하는 도메인이므로 www.thisislinux.com의 IP 주소(192.168.111.100)와 ftp.thisislinux.com의 IP 주소(192.168.111.200)을 가지고 있다. 외부 인터넷으로 나갈 필요 없이 바로 Client 가상 머신에게 해당 IP 주소를 알려준다.
  4. 마지막으로 마스터 네임 서버 구성도 왼쪽 위에 표시된 위부 '인터넷상에 있는 컴퓨터'에서 ftp.thisislinux.com에 접속할 때의 과정을 알아본다.
    1. 외부 인터넷상의 컴퓨터는 자신의 로컬 네임 서버에 ftp.thisislinux.com의 IP 주소를 요청한다.
    2. 로컬 네임 서버 A는 아마도 ftp.thisislinux.com의 IP 주소를 모를 것이므로 'ROOT 네임 서버'에 IP 주소를 요청한다. ROOT 네임 서버는 'COM 네임 서버'의 주소를 알려주며 그 쪽에 요청하라고 안내한다.
    3. 로컬 네임 서버 A는 다시 COM 네임 서버에 IP 주소를 요청한다. COM 네임 서버는 thisislinux.com의 도메인을 관리하는 'thisislinux.com 네임 서버'의 IP 주소인 192.168.111.100을 로컬 네임 서버 A에 알려준다.
    4. 로컬 네임 서버 A는 thisislinux.com 네임 서버(192.168.111.100)에 ftp.thisislinux.com의 IP 주소를 요청한다.
    5. thisislinux.com 네임 서버는 자신의 DB에 ftp.thisislinux.com의 IP 주소가 있으므로 ftp.thisislinux.com의 IP 주소인 192.168.111.200을 로컬 네임 서버 A에게 알려준다.
    6. 로컬 네임 서버 A는 ftp.thisislinux.com의 IP 주소인 192.168.111.200을 요청했던 인터넷 상의 컴퓨터에게 알려준다.
    7. 인터넷 상의 컴퓨터는 192.168.111.200 (server(B) 가상 머신)으로 접속한다.

 

실습

server 가상 머신을 부팅한다.

 

 

웹 서버 설치 및 구축

 

 

웹 서버 패키지를 설치하고, 잘 설치되었는지 확인한다.

dnf -y install httpd -> 웹 서버 패키지 설치
rpm -qa httpd -> 웹 서버 설치 확인

 

 

웹 서비스가 작동하고 있는지 확인한다. 만약 정지되어있다면 웹 서비스를 가동시킨다.

systemctl status httpd -> 웹 서비스(httpd) 작동 확인
systemctl start httpd -> 웹 서비스 가동
systemctl status httpd

 

 

방화벽 설정

 

방화벽 설정을 연다.

firewall-config

 

 

설정을 '영구적'으로 변경하고 서비스에서 http와 https를 체크한다.

 

옵션 ->firewalld 다시 불러오기를 눌러서 저장하고 방화벽을 닫는다.

 

웹 서버 구축

 

 

gedit /var/www/html/index.html

 

위 명령을 입력해 /var/www/html/ 디렉토리에 index.html 파일을 만든다. 그리고 <h1> Rocky 리눅스 웹 서버입니다. </h1> 을 입력한 후 파일을 저장하고 에디터를 닫는다. 아주 server 가상 머신에 간단한 웹 서버 구축이 완료되었다.

 

 

FTP 서버 설치 및 설정

 

server (B) 가상 머신을 열고 ftp 서버 패키지를 설치한다.

dnf -y install vsftpd

 

 

FTP 서비스의 방화벽 설정을 영구적으로 허용한다. 그리고 설정 내용을 저장한다. success 가 출력되면 성공적으로 설정된 것이다.

firewall-cmd --permanent -add-service=ftp
firewall-cmd --reload

 

 

 

/var/ftp/ 디렉토리로 이동한 후 nano welcome.msg 명령을 입력해 welcome.msg 파일을 생성한다. Ctrl + x -> y -> enter 를 누르면 된다.

cd /var/ftp/
nano welcome.msg

 

nano 에디터에서 다음 내용을 작성한 후 파일을 저장하고 에디터를 닫는다.

#####################
Welcome !!! This is Linux. FTP Server
#####################

 

 

FTP 서버에 접속하면 해당 메시지가 출력되도록 설정해주자.

 

nano 에디터로 /etc/vsftpd/vsftpd.conf 파일을 열어서 가장 위쪽에 banner_file=/var/ftp/welcome.msg 라고 입력한 후 저장하고 에디터를 닫는다.

nano /etc/vsftpd/vsftpd.conf -> nano 에디터로 /etc/vsftpd/vsftpd.conf 파일 실행

banner_file=/var/ftp/welcome.msg -> 제일 윗줄에 해당 내용 작성. 
                                    FTP 서버에 접속하면 welcome.msg 메시지 내용 출력

 

 

네임 서버 설치 및 설정

원래는 thisislinux.com 도메인을 돈을 주고 구매를 해야하지만, 우리는 돈이 없으므로 구매를 했다고 가정을 하고 진행해보자.

 

 

server 가상 머신으로 돌아가서 gedit /etc/named.conf 파일을 열어 가장 아래쪽에 다음 내요을 추가한 후 저장하고 에디터를 닫는다.

zone "thisislinux.com" IN {
	type master;
	file "thisislinux.com.db";
	allow-update { none; };
};

 

 

/etc/named.conf 파일에 추가한 내용에 문제가 없는지 확인한다. 아무 메시지도 출력되지 않으면 최소한 문법상의 오류는 없다는 것을 의미한다.

named-checkconf

 

 

/var/named/ 디렉토리로 이동한 후 thisislinux.com.db 파일을 생성하고 gedit 에디터로 실행한다.

cd /var/named
touch thisislinux.com.db
gedit thisislinux.com.db

 

 

thisislinux.com.db 에 해당 내용을 작성한다.

$TTL	3H
@	SOA	@	root.	( 2 1D 1H 1W 1H )
	IN	NS	@
	IN	A	192.168.111.100
	
www	IN	A	192.168.111.100
ftp	IN	A	192.168.111.200

 

웹 서버의 IP 주소는 192.168.111.100(server) 이고 ftp 서버의 IP 주소는 192.168.111.200(server(B)) 이라는 의미이다.

 

 

thisislinux.com.db 파일의 문법 이상이 있는지 확인한다. OK가 출력되면 문제가 없는 것이다.

named-checkzone thisislinux.com thisislinux.com.db

 

 

설정한 내용을 적용시키기 위해 네임 서비스를 재시작하고 작동 테스트를 진행한다.

systemctl restart named
systemctl status named

 

 

리눅스 client 환경에서 마스터 네임 서버 작동 확인

 

 

Client 가상 머신에서 마스터 네임 서버가 제대로 작동하는지 확인한다. 네임 서버가 server 가상 머신으로 동작할 것이다.

cat /etc/resolv.conf

 

 

파이어폭스 웹 브라이저를 실행하고 www.thisislinux.com  으로 들어가면 우리가 msg 파일에 입력했던 내용이 출력된다.

 

 

우리의 웹 서버(server 가상 머신)의 IP 주소를 입력해도 똑같이 출력된다.

 

 

sudo 권한으로 ftp 클라이언트를 설치한다. 비밀번호는 rocky 계정의 비밀번호를 입력하면 된다.

sudo dnf -y install ftp

 

 

ftp 서버를 접속한다. 연결이 거부된다면 우리가 server(B) 에서 ftp가 작동을 안하고 있는 것이다. server(B) 가상 머신으로 돌아간다.

 

 

server(B)에서 ftp 서버를 재시작해서 가동시킨다. ftp 서비스 이름은 vsftpd이다.

상태를 확인했을 때, active (running) 상태가 되면 된다.

systemctl restart vsftpd
systemctl status vsftpd

 

 

다시 ftp 서버에 접속하면 우리가 msg 파일에 입력했던 내용이 나타나게 된다. ftp 서버에 대한 자세한 내용은 추후 알아보도록 하자.

 

 

Windows 환경에서 마스터 네임 서버 작동 확인

 

 

Winclient 가상 머신을 부팅하고, cmd에서 nslookup 명령을 통해 네임 서버가 server를 사용하는지 확인한다.

 

 

웹 브라우저를 열고 www.thisislinux.com   으로 접속하면 잘 출력되게 된다. 

 

지금 우리가 진짜 도메인이 아니기 때문에 외부에서 접속은 못한다.

하지만 해당 도메인 이름이 비어있다면 우리가 도메인을 구매해서 동일한 방법으로 진행하면 된다.

 

 

728x90
반응형