네임 서버란

솔직히 내가 여기서 네임서버에 대해서 잘못 얘기하는 것일 수도 있다. 100%로 믿지 말기를..(99% 믿어도 좋다…1%는 나도 장담 못함!!) 네임서버란!! 네임서버를 설명하기 위해서는 DNS란 것을 알야야 한다. 예를 들어 203.241.128.94는 컴퓨터가 이해하는 IP이지만 사람은 이를 일일이 외운다는 것은 정말 힘든 일이다. 그래서 사람들이 이해하기 쉽도록 myfeel.hoseo.ac.kr 과 같이 이름을 정해준 것을 말한다. 네임서버는 IP를 인간이 알기 쉽게 도메인네임으로 바꾸어 주는 서버라 하면 이해하기가 쉬울 것이다.

Bind 설치하기

네임서버를 구축하기 위해서는 bind가 반드시 필요하다. 될 수 있으면 최신버전을 받도록한다. 참고로 필자는 ftp://linux.sarang.net/mirror/network/daemon/isc/bind/src/ 여기서 받았다. 그리고 bind-src.tar.gz 파일을 받는다. 압축을 풀고 ./configure , make , make install을 해준다. 제대로 설치되었다면 /etc 디렉토리에다가 아래와 같이 named.boot, named.conf 파일을 만들어 준다. 설정은 아래와 같다. 그리고 /var/named 디렉토리에다 역시 아래와 같이 나머지 파일들을 만들어 준다. 만일 named 디렉토리가 없다면 만들어 주어야 한다.

설정하기

여기서는 내가 실제로 설정했던 설정 파일들을 예제로 들겠다. 아무래도 직접 사용했던 설정파일을 보는 게 가장 이해하기가 쉬울 것이다.

---------------------------named.boot-------------------------------
;
; caching only nameserver config
;
directory                              /var/named
cache           .                      named.ca
primary         0.0.127.in-addr.arpa   named.local
primary         128.241.203.in-addr.arpa  zone-128.241.203
primary         myfeel.hoseo.ac.kr      zone-myfeel.hoseo.ac.kr
-------------------------------------------------------------------
--------------------------named.conf--------------------------------
// generated by named-bootconf.pl
 
options {
        directory "/var/named";
        /*
         * If there is a firewall between you and nameservers you want
         * to talk to, you might need to uncomment the query-source
         * directive below.  Previous versions of BIND always asked
         * questions using port 53, but BIND 8.1 uses an unprivileged
         * port by default.
         */
        // query-source address * port 53;
};
 
// 
// a caching only nameserver config
// 
zone "." {
        type hint;
        file "named.ca";
};
 
zone "0.0.127.in-addr.arpa" {
        type master;
        file "named.local";
};
 
zone "128.241.203.in-addr.arpa" {
        type master;
        file "zone-128.241.203";
};
 
zone "myfeel.hoseo.ac.kr" {
        type master;
        file "zone-myfeel.hoseo.ac.kr";
};
----------------------------------------------------------
-----------------------named.ca----------------------------
;       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  .  <file>"
;       configuration file of BIND domain name servers).
;
;       This file is made available by InterNIC registration services
;       under anonymous FTP as
;           file                /domain/named.root
;           on server           FTP.RS.INTERNIC.NET
;       -OR- under Gopher at    RS.INTERNIC.NET
;           under menu          InterNIC Registration Services (NSI)
;              submenu          InterNIC Registration Archives
;           file                named.root
;
;       last update:    Aug 22, 1997
;       related version of root zone:   1997082200
;
;
; formerly NS.INTERNIC.NET
;
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
;
; formerly NS1.ISI.EDU
;
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
;
; 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
;
; 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
;
; formerly NIC.NORDU.NET
;
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
;
; temporarily housed at NSI (InterNIC)
;
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
;
; housed in LINX, operated by RIPE NCC
;
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 
;
; temporarily housed at ISI (IANA)
;
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
;
; housed in Japan, operated by WIDE
;
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
; End of File
----------------------------------------------------------------
----------------------named.local---------------------------------
@               IN      SOA     localhost.      root.localhost. (
                        1997022700 ; serial
                        28800 ; refresh
                        14400 ; retry
                        3600000 ; expire
                        86400 ; default_ttl
                        )
                IN      NS      localhost.
1               IN      PTR     localhost.
-----------------------------------------------------------------
-----------------------zone-128.241.203-----------------------------
@       IN      SOA     ns1.myfeel.hoseo.ac.kr.   master.myfeel.hoseo.ac.kr. (
                        1997022700 ; serial
                        28800 ; refresh
                        14400 ; retry
                        3600000 ; expire
                        86400 ; default_ttl
                        )
        IN      NS      ns1.myfeel.hoseo.ac.kr.
94      IN      PTR     myfeel.hoseo.ac.kr.
91      IN      PTR     info.hoseo.ac.kr.
-------------------------------------------------------------------
------------------------zone-myfeel.hoseo.ac.kr------------------------
@               IN      SOA     ns1.myfeel.hoseo.ac.kr.   master.myfeel.hoseo.ac.kr. (
                        1997022700 ; serial
                        28800 ; refresh
                        14400 ; retry
                        3600000 ; expire
                        86400 ; default_ttl
                        )
                IN      NS      ns1.myfeel.hoseo.ac.kr.
                IN      A       203.241.128.94 
                IN      HINFO   "x86 Pentium III Dual" "Wow Linux"
 
                IN      MX      10      myfeel.hoseo.ac.kr.
 
localhost       IN      A       127.0.0.1
;ns             IN      CNAME   @
ns1             IN      CNAME   @
ns2             IN      A       211.180.229.51
--------------------------------------------------------------------

위와 같이 설정해 주었다면

#/usr/bin/named 

실행시키고 nslookup을 실행시켜 제대로 설정이 되었는지 확인해보자!

'※ in-addr.arpa 란?'

솔직히 지금 글을 쓰고 있는 필자도 아직 잘 이해가 안가는 부분이다. 그래도 아는 한도내에서 설명하겠다. 부디 99% 믿기를…. 1%는.. 믿거나 말거나..
원래 네임서버의 역할은 클라이언트가 호스트네임을 물어보면 그에 맞는 IP를 반환해준다. (zone-linux.com, zone-fat81.com 파일을 참조한다.) 하지만 네임서버는 이와 반대되는 기능도 서비스 한다. IP주소를 호스트네임으로 바꾸어 준다.(named.local, zone-128.241.203 파일을 참조한다.) 다시 말해, IP에 대해 해당 도메인을 역으로 찾을 수 있도록 하는 서비스이다. 아래의 예를 보자!!

$ nslookup -type=ns 79.105.210.in-addr.arpa (C Class 210.105.79.x를 할당 받았을 경우)
    Server:  ns.nobreak.com
    Address:  0.0.0.0
 
    79.105.210.in-addr.arpa nameserver = ns.nobreak.com
    79.105.210.in-addr.arpa nameserver = ns2.nobreak.com
    ns.nobreak.com  internet address = 210.105.79.2
    ns2.nobreak.com internet address = 210.105.79.3

위의 예를 보면 알 수 있듯이 네임서버를 이용할 때 호스트네임으로 IP를 알고 싶을 때는 'yahoo.co.kr' 처럼 차례대로 입력해주면 된다는 것을 알수 있다. 하지만 IP주소로 호스트네임을 역으로 찾기 위해서는 IP주소를 반대로 적어주어야 한다. 그래서 위와 같이 반대로 적어주고 뒤에다 in-addr.arpa를 적어준다. 참고로 위의 예는 210.105.97.x 에서의 네임서버를 찾아서 출력하고 있다.

  • computer/networking/네임서버_구축하기.txt
  • Last modified: 3 years ago
  • by likewind