이제 까지 알아본 것은 도메인 네임서버의 동작과 우분투에서의 네임서버 프로그램(bind9)의 설치를 살펴 보았습니다.


도메인 네임서버 프로그램을 설치 하였으니 이제 도메인 네임 서버 설정에 대하여 보도록 하겠습니다.


지난번 named의 설명에서 알아본 바와 같이 named의 설정 파일인 /etc/bind/named.conf 파일의 내용을 기반으로 도메인 네임 서버를 설정 하게 됩니다.

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

위와 같이 파일의 내용은 간단히 적혀 있음을 확인 할 수 있습니다.
주석을 해석해 보게 되면,

이 파일은 BIND DNS 서버 named의 기본 설정 파일 입니다.
만약 당신은 단지 zones를 추가 히기 위해서는 /etc/bind/named.conf.local 파일을 추가 하면 됩니다.

/etc/bind/named.conf.options 파일의 내용은 다음과 같습니다.
어떠한 옵션 내용들이 설정 되어 있는지 확인 해 볼 수 있습니다.
options {
        // zone 파일이 위치할 곳을 지정 합니다.
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

        // forwarders {
        //      0.0.0.0;
        // };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
	// 
        dnssec-validation auto;

	// NXDOMAIN으로 응답 여부 (기본값 no)
        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; }; # IPv6
};

다음으로는 named.conf.local 파일에 대하여 살펴 보도록 하겠습니다.
이 파일에 실제 자신이 설정 하고자 하는 도메인을 설정 하는 것 입니다.
네임서버를 설정히기 위해서는 /etc/bind/named.conf.local 파일에 내용을 추가 하여 설정 합니다.

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
네임서버를 설정을 위해 /etc/bind/named.conf.local 파일에 내용을 추가 하여 다음과 같이 설정 파일을 설정 합니다.
falinuxcorp.com 도메인 네임을 설정 하기 위해서는 다음과 같이 설정 하고 설정 파일이 위치한 위치도 적어 둡니다.
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "falinuxcorp.com" {
        type master;
        file "/etc/bind/zones/falinuxcorp.com.db";
};

zone "10.168.192.in-addr.arpa" {
     type master;
     file "/etc/bind/zones/rev.10.168.192.in-addr.arpa";
};

이렇게 /etc/bind/named.conf.local 파일에 설정을 하였으면 실제 도메인을 세팅 하기 위하여 세부파일인
/etc/bind/zones/falinuxcorp.com.db 파일과 /etc/bind/zones/rev.10.168.192.in-addr.arpa 파일을 생성하여 도메인을 세팅 하는 것 입니다.

참고

Inverse Zone 파일 생성

인버스 존파일은 아이피 주소를 문자로 변환 해주는 역할을 담당 합니다.
/etc/bind/zones/falinuxcorp.com.db 파일은 인버스 존 파일 입니다.

Revers Zone 파일 생성

리버스 존파일은 문자로된 도메인 주소를 아이피로 변환 해주는 역할을 담당합니다.
/etc/bind/zones/rev.10.168.192.in-addr.arpa 파일은 리버스 존 파일 입니다.

네임서버의 기본적으로 설정이 되어져 있는 Default zone 파일인 /etc/bind/named.conf.default-zones파일의 내용은 다음과 같음을 확인 할 수 있습니다.
// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};


이 설정파일에서 눈에 띄는 내용은 "/etc/bind/db.root" 내용을 담고 있는 zone "." { ... } 입니다.
이 내용은 지난시간 이론에서 배웠던 DNS의 동작 방식에서의 root 도메인과 관련하여 정보를 찾을 수 있는 내용을 담고 있다는 것을 유추해 볼 수 있습니다.

실제 이 파일의 내용을 살펴 보게 되면, 전 세계에 흩어져서 존재 하는 root 도메인 네임 서버를 가리키고 있는 것을 확인 할 수 있습니다.

;       This file holds the information on root name servers needed to
;       initialize cache of Internet domain name servers
;       (e.g. reference this file in the "cache  .  "
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC
;       under anonymous FTP as
;           file                /domain/named.cache
;           on server           FTP.INTERNIC.NET
;       -OR-                    RS.INTERNIC.NET
;
;       last update:    Jun 17, 2010
;       related version of root zone:   2010061700
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
A.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:BA3E::2:30
;
; FORMERLY NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     192.228.79.201
;
; FORMERLY C.PSI.NET
;
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
;
; FORMERLY TERP.UMD.EDU
;
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
;
; FORMERLY NS.NASA.GOV
;
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
;
; FORMERLY NS.ISC.ORG
;
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
F.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:2F::F
;
; FORMERLY NS.NIC.DDN.MIL
;
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
;
; FORMERLY AOS.ARL.ARMY.MIL
;
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
H.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:1::803F:235
;
; FORMERLY NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
I.ROOT-SERVERS.NET.      3600000      AAAA  2001:7FE::53
;
; OPERATED BY VERISIGN, INC.
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     192.58.128.30
J.ROOT-SERVERS.NET.      3600000      AAAA  2001:503:C27::2:30
;
; OPERATED BY RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
K.ROOT-SERVERS.NET.      3600000      AAAA  2001:7FD::1
;
; OPERATED BY ICANN
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     199.7.83.42
L.ROOT-SERVERS.NET.      3600000      AAAA  2001:500:3::42
;
; OPERATED BY WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
M.ROOT-SERVERS.NET.      3600000      AAAA  2001:DC3::35
; End of File

이상으로 네임서버 설정파일들 대하여 살펴 보았습니다.