Domain Name System


 

DNS 서버 셋업 2

이 장에서는 실제로 네임 서버를 구축하기 위한 과정과 작성해야 할 파일들에 대해 설명합니다. 전체 디렉토리 구조

적절한 디렉토리에 필요한 파일을 작성합니다. 각 파일들의 위치는 변경이 가능하지만 여기서는 아래의 디렉토리에 작성하는 것으로 합니다.

  • /etc/named.boot
  • /etc/resolv.conf
  • /etc/defaultdomain
  • /etc/defaultrouter
  • /var/named/root.cache
  • /var/named/localhost.rev
  • /var/named/도메인명.zone
  • /var/named/IP.rev

위의 파일들 중 도메인명.zone와 IP.rev는 primary에서만 작성하고 secondary 에서는 자동으로 생성이 되므로 별도로 작성할 필요가 없습니다. Primary 네임 서비스를 하는 경우와 secondary 네임 서비스를 하는 경우에 다소 차이가 있는데 먼저 secondary인 경우를 살펴보고 그 다음에 primary인 경우를 살펴보도록 하겠습니다.

Secondary 네임 서비스를 하는 경우

(단, 여기서 도메인명은 abc.co.kr로 가정하고 IP어드레스는 203.235.60.0이며 서버와 라우터의 주소는 각각 1과 254인 것으로 가정합니다.)

먼저 /etc/디렉토리에 named.boot, resolv.conf, defaultdomain, defaultrouter 파일을 작성합니다.


   #vi /etc/named.boot
   directory /var/named
   cache        .                               root.cache
   primary      0.0.127.in-addr.arpa                    localhost.rev
   secondary    abc.co.kr               203.255.112.34  abc.zone
   secondary    60.235.203.in-addr.arpa 203.255.112.34  203.235.60.rev



   #vi /etc/resolv.conf
   domain       abc.co.kr
   nameserver   127.0.0.1
   nameserver   203.255.112.34



   #vi /etc/defaultdomain
   abc.co.kr
 



   #vi /etc/defaultrouter
   203.235.60.254
 


다음에는 /var/named/디렉토리에 root.cache,localhost.rev,abc.zone,IP.rev 파일을 작성합니다. 앞서 언급한 바와 같이 secondary인 경우 abc.zone파일과 IP.rev파일은 작성할 필요가 없습니다.


   #vi /var/named/root.cache
   .                    99999999  IN  NS          NS.INTERNIC.NET.
   NS.INTERNIC.NET.     99999999      A           198.41.0.4
   .                    99999999  IN  NS          NS1.ISI.EDU.
   NS1.ISI.EDU.         99999999      A           128.9.0.107
   .                    99999999  IN  NS          C.PSI.NET.
   C.PSI.NET.           99999999      A           192.33.4.12
   .                    99999999  IN  NS          TERP.UMD.EDU.
   TERP.UMD.EDU.        99999999      A           128.102.16.10
   .                    99999999  IN  NS          NS.NASA.GOV.
   NS.NASA.GOV.         99999999      A           128.102.16.10
                        99999999      A           102.52.195.10
                        99999999  IN  NS          NS.ISC.ORG.
   NS.ISC.ORG.          99999999      A           192.5.5.241
   .                    99999999  IN  NS          NIC.DDN.MIL.
   NIC.DDN.MIL.         99999999      A           102.112.36.4
   .                    99999999  IN  NS          AOS.ARL.ARMY.MIL.
   AOS.ARL.ARMY.MIL.    99999999      A           128.63,4.82
                        99999999      A           192.5.25.82
                        99999999  IN  NS          NIC.NORDU.NET.
   NIC.NORDU.NET.       99999999      A           192.36.148.17
 


localhost.rev파일은 다음과 같습니다.


   #vi /var/named/localhost.rev
   @  IN  SOA   nuri.net.  netopt.nuri.net. (
                             940004  ;  serial
                             21600   ;  refresh
                             900     ;  retry
                             604800  ;  expire
                             43200 ) ;  minimum
      IN  NS   sol.nuri.net.
   ;
   1  IN  PTR  localhost.
 


마지막으로 아래와 같이 기존의 named데몬을 중지시키고 새로운 named데몬을 실행시킵니다.

#ps -ef(혹은 ax) | grep named(혹은 in.named)
529 ? s 2825.38 /usr/sbin/named(혹은 in.named)
1332 pts/38 s 0:00 grep named

#kill -9 529 (기존의 네임 데몬 중지)
#/usr/sbin/named(혹은 in.named)

Primary 네임 서비스를 하는 경우

Secondary인 경우와의 차이점은 /etc/named.boot파일의 내용이 다소 다르고 /var/named/디렉토리에 abc.zone파일과 203.235.60.rev라는 파일을 작성해야 한다는 것입니다.

아래에 기술된 3개의 파일을 제외한 모든 내용은 secondary의 경우와 동일합니 니다.


   #vi /etc/named.boot
   directory   /var/named
   cache       .                             root.cache
   primary     0.0.127.in-addr.arpa          localhost.rev
   primary     abc.co.kr                     abc.zone
   primary     60.235.203.in-addr.arpa       203.235.60.rev
 



   #vi /var/named/abc.zone
   @   IN  SOA   ns.abc.co.kr.  root.ns.abc.co.kr. (
                             940004  ;  serial
                             21600   ;  refresh
                             900     ;  retry
                             604800  ;  expire 
                             43200 ) ;  minimum
   ;domain
         IN  NS      ns.abc.co.kr.
         IN  A       203.235.60.1
   ;host information
   ns    IN  A       203.235.60.1
   www   IN  CNAME   ns
   ftp   IN  A       203.235.60.1
 



   #vi /var/named/203.235.60.rev
   @     IN  SOA     ns.abc.co.kr.  root.ns.abc.co.kr. (
                             940004  ;  serial
                             21600   ;  refresh
                             900     ;  retry
                             604800  ;  expire
                             43200 ) ;  minimum
   $ORIGIN    60.235.203.in-addr.arpa.
   1     IN  PTR     ns.abc.co.kr.
 


기존의 데몬을 중지시키고 새로운 데몬을 실행시키는 과정은 secondary의 경우와 동일합니다.

주의 사항

O/S가 Solaris인 경우에는 추가로 /etc/nsswtch.conf파일을 수정해야 합니다.

#vi /etc/nsswitch.conf
~~~~~
passwd : files
group : files
hosts : files dns (즉, "dns"를 이곳에 삽입합니다.)
Networks : files
~~~~~

테스트

셋업이 완료되고 데몬을 실행시킨 뒤 반드시 named 데몬이 정상적으로 실행되는 지 확인을 해야 합니다. 확인하는 방법으로는 도메인명으로 ping 테스트를 하거나 nslookup 명령을 사용하는 방법등이 있습니다.

#ping sol.nuri.net
sol.nuri.net is alive
혹은
#nslookup
default server : ns.abc.co.kr
address : 127.0.0.1
>www.sun.com
default server : localhost
address : 127.0.0.1
name : www.sun.com
address : 192.9.9.100
>exit(혹은 Ctrl-d)

즉, IP어드레스가 아닌 도메인명으로 ping테스트가 가능하거나 nslookup명령을 사용할 수 있으면 DNS가 성공적으로 설치된 것입니다.


                                                                                 발췌 : www.nuri.net

 


*** DNS 설치 ***

기타 강의실로...