본문 바로가기
Linux/DNS server

2차 네임서버의 설정

by aegypius 2021. 5. 5.
728x90
반응형

네임서버 구축을 위한 bind의 설치master 네임서버의 설정에 이어서 2차 네임서버의 설정에 대한 간단한 정리이다.


<1차 네임서버>

----- 중략 -----

zone "mydomain.tld" IN {
        type master;
        file "mydomain.tld.zone";
        allow-update { 2차네임서버 ip주소; };
};

----- 중략 -----


<zone file>

$TTL          3H

@             SOA    ns1.mydomain.tld.  root.  ( 2021050501  1D  1H  1W  1H )
              IN     NS    ns1.mydomain.tld.
              IN     NS    ns2.mydomain.tld.
              IN     A     1차 네임서버 IP
ns1           IN     A     1차 네임서버 IP
ns2           IN     A     2차 네임서버 IP
@             MX     10    mail.mydomain.tld.
mail          IN     A     메일서버 IP

www           IN     A     웹서버 IP

hostname      IN     A     호스트의 IP

 

존 파일의 형식은 대략 이런식일 것이다. 메일서버를 구축하지 않는다면 MX 레코드는 사용할 필요가 없을 것이고, ns1, ns2 이전에 정의했다면 @를 생략할 수 있을 것이다.

해당 도메인에 대한 2차 네임서버의 설정은 아래와 같다.

<2차 네임서버>

----- 중략 -----

zone "mydomain.tld" IN {
        type slave;
        masters { 1차 네임서버 IP주소; };
        file "mydomain.tld.zone";
};

----- 중략 -----

 

<zone file>

$TTL          3H

@             SOA    ns2.mydomain.tld.  root.  ( 2021050501  1D  1H  1W  1H )
              IN     NS    ns2.mydomain.tld.
              IN     A     2차 네임서버 IP
ns2           IN     A     2차 네임서버 IP
@             MX     10    mail.mydomain.tld.
mail          IN     A     메일서버 IP

www           IN     A     웹서버 IP

hostname      IN     A     호스트의 IP

 

zone 파일의 ownership은 named.named 이나 named.root로 named 대몬에게 있어야만 1차 네임서버와의 동기화가 가능해지며, named에게 소유권이 없다면 아래와 같은 권한이 없어서 발생하는 permission denied오류가 발생한다. (1차 네임서버와의 동기화를 위해서 2차 네임서버의 zone파일을 수정해야 하는데 대몬에게 수정할 권한이 없기 때문에 당연히 발생할 수 밖에 없다.)

[root@localhost named]# systemctl status named -l
● named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2021-05-07 09:11:00 KST; 5s ago
  Process: 2683 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 2700 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 2695 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
 Main PID: 2701 (named)
   CGroup: /system.slice/named.service
           └─2701 /usr/sbin/named -u named -c /etc/named.conf -4

May 07 09:11:00 localhost.localdomain named[2701]: zone careinfo.kr/IN: sending notifies (serial 2020112201)
May 07 09:11:00 localhost.localdomain named[2701]: zone ebomun.com/IN: Transfer started.
May 07 09:11:00 localhost.localdomain named[2701]: transfer of 'ebomun.com/IN' from 141.164.49.202#53: connected using 1.234.16.131#48156
May 07 09:11:00 localhost.localdomain named[2701]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: key now trusted
May 07 09:11:00 localhost.localdomain named[2701]: resolver priming query complete
May 07 09:11:00 localhost.localdomain named[2701]: zone ebomun.com/IN: transferred serial 2021042901
May 07 09:11:00 localhost.localdomain named[2701]: zone ebomun.com/IN: transfer: could not set file modification time of 'ebomun.com.zone': permission denied
May 07 09:11:00 localhost.localdomain named[2701]: transfer of 'ebomun.com/IN' from 141.164.49.202#53: Transfer status: success
May 07 09:11:00 localhost.localdomain named[2701]: transfer of 'ebomun.com/IN' from 141.164.49.202#53: Transfer completed: 1 messages, 8 records, 209 bytes, 0.004 secs (52250 bytes/sec)
May 07 09:11:00 localhost.localdomain named[2701]: zone ebomun.com/IN: sending notifies (serial 2021042901)
[root@localhost named]#

파일의 소유권을 named.named로 변경하여 해결할 수 있으며, 보다 좋은 방법은 (bind-chroot를 설치했다면) zone파일의 위치를 /var/named에서 /var/named/chroot/var/named로 옮기는 것이다. (bind-chroot는 현재의 글을 편집하여 내용을 추가 정리하든지 별도로 정리할 계획이다.) 또한 2차 네임서버에서 언급한 ebomun.com에 대해서는 별도로 정리할 내용도 있다!

 

참고로 2차, 3차 서브도메인을 만들기 위한 네임서버의 (위임) 설정에 대해서는 아래의 글을 참고하자.

2022.05.19 - [Linux/DNS server] - 1,2,3차,..(n)차 서브도메인을 만들기 위한 네임서버[bind] 설정

 

1,2,3차,..(n)차 서브도메인을 만들기 위한 네임서버[bind] 설정

Create Subdomains 네임서버를 설정하는 과정에서 도메인 네임(domain name)에 호스트 네임(host name)을 추가하여 1차(?) 서브도메인을 생성할 수 있다. 실제 테스트 중인 eseoil.com을 예로 들면 아래와 같다.

aegypius.tistory.com

 

728x90
반응형

댓글