Linux/Linux 실습

[Linux] 2차 네임서버 구축

GGkeeper 2021. 11. 18. 19:11

실습> 2차 네임서버 구축하기

-- 조건 --
1차 네임서버 : ns1.sbs.com  192.168.108.3
2차 네임서버 : ns2.sbs.com  192.168.108.4
-- 조건 --

1. 1차 네임서버 설정
allow-transfer : 2차 네임서버가 zone 파일을 전송할 수 있도록 설정한다.
notify : yes로 설정되면 NS 리스트에 있는 주소에 also-notify에 설정한 주소로 NOTIFY 메세지를 전송한다.
also-notify : 2차 네임서버에 변경을 알려주도록 설정한다.
[root@ns1 ~]# vi /etc/named.rfc1912.zones

zone "sbs.com" IN {
   type master;
   file "sbs.com.zone";
   allow-transfer { 192.168.108.4; };
   notify yes;
   also-notify { 192.168.108.4; };
   allow-update { none; };
};


1차 네임서버와 2차 네임서버를 등록한다.
1차 네임서버(주, master)  : ns1.sbs.com
2차 네임서버(보조, slave) : ns2.sbs.com 

[root@ns1 ~]# cd /var/named
[root@ns1 ~]# vi sbs.com.zone

$TTL 300
@       IN  SOA ns1  root ( 2021111501 1D 1H 1W  500)
          IN  NS  ns1  
          IN  NS  ns2
          IN  A   192.168.108.3  ; sbs.com.
ns1     IN  A   192.168.108.3  ; ns1.sbs.com. master nameserver
ns2     IN  A   192.168.108.4  ; ns2.sbs.com. slave  nameserver
www   IN  A   192.168.108.3  ; www.sbs.com.


설정파일을 검사한다.
[root@ns1 ~]# named-checkconf /etc/named.rfc1912.zones 
[root@ns1 ~]# named-checkzone sbs.com sbs.com.zone 
zone sbs.com/IN: loaded serial 2021111501
OK

rndc reload를 이용해서 네임서버를 리로드한다.
[root@ns1 ~]# rndc reload
server reload successful

2. 2차 네임서버 설정
2차 네임서버에 DNS 패키지를 설치한다.
[root@ns2 ~]# yum -y install bind bind-chroot bind-utils


1차 네임서버에 호스트명을 설정하고 hosts 파일에 등록한다.
[root@ns1 ~]# hostnamectl set-hostname ns1.sbs.com
[root@ns1 ~]# cat /etc/hostname
ns1.sbs.com

[root@ns1 ~]# vi /etc/hosts
  :
  :(생략)
192.168.108.3 ns1.sbs.com ns1  

2차 네임서버에 호스트명을 설정하고 hosts 파일에 등록한다.  
[root@ns2 ~]# hostnamectl set-hostname ns2.sbs.com
[root@ns2 ~]# cat /etc/hostname
ns2.sbs.com

[root@ns2 ~]# vi /etc/hosts
  :
  :(생략)
192.168.108.4 ns2.sbs.com ns2

[root@ns2 ~]# vi /etc/named.conf
listen-on port 53 { 192.168.108.4; };
//listen-on-v6 port 53 { ::1; };
allow-query     { any; };
recursion yes;
dnssec-enable no;
dnssec-validation no;


서비스를 활성화시키고 네임서버를 시작한다.
[root@ns2 ~]# systemctl enable named
[root@ns2 ~]# systemctl start named

서버스 포트를 확인해서 53번 포트가 잘 뜨면 네임서버가 성공적으로 실행된 것이다.

TCP 53번 : 영역전송(zone transfer, 쿼리의 UDP 패킷 사이즈가 512k 가 넘어가면 TCP패킷으로 변경된다.)
UDP 53번 : 도메인 쿼리
[root@ns2 ~]# netstat -nltup | grep named
tcp        0      0 192.168.108.4:53        0.0.0.0:*               LISTEN      5263/named          
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      5263/named          
tcp6       0      0 ::1:953                 :::*                    LISTEN      5263/named          
udp        0      0 192.168.108.4:53        0.0.0.0:*                           5263/named      


< 도메인 설정 >
/etc/named.rfc1912.zones 파일에 도메인을 등록한다.
2차 네임서버에서는 type을 slave라고 적어야 한다.
masters 를 설정한다. masters는 1차 네임서버의 IP주소를 적는다.
형식 : masters { 1차네임서버; };

/etc/named.rfc1912.zones 파일에 sbs.com 도메인을 추가한다.

[root@ns2 ~]# vi /etc/named.rfc1912.zones
  :
  :(생략)
zone "sbs.com"  IN  {
    type slave;
    file "sbs.com.zone";
    masters 192.168.108.3; };
};

설정파일을 체크하고 문제가 없으면 네임서버를 재시작한다.
[root@ns2 ~]# named-checkconf /etc/named.rfc1912.zones

네임서버를 재시작하면 /var/named 디렉터리에 sbs.com.zone 파일을 전송될 것이다.
[root@ns2 ~]# systemctl restart named

[root@ns2 ~]# ls -l /var/named
합계 20
drwxr-x---. 7 root  named   61 11월 15 16:17 chroot
drwxrwx---. 2 named named   23 11월 15 16:53 data
drwxrwx---. 2 named named   60 11월 15 17:20 dynamic
-rw-r-----. 1 root  named 2253  4월  5  2018 named.ca
-rw-r-----. 1 root  named  152 12월 15  2009 named.empty
-rw-r-----. 1 root  named  152  6월 21  2007 named.localhost
-rw-r-----. 1 root  named  168 12월 15  2009 named.loopback
-rw-r--r--. 1 named named  313 11월 15 17:20 sbs.com.zone   <-- 전송된 sbs.com의 포워드 존 파일
drwxrwx---. 2 named named    6  8월 31 23:53 slaves

[root@ns2 ~]# file /var/named/sbs.com.zone 
/var/named/sbs.com.zone: data