Name Server는 이런  DNS를 운영하는 서버입니다.
일반적으로 가장 널리 쓰이는 프로그램은 BIND(Berkely Internet Name Domain)이라는 프로그램입니다.
사용하기도 쉽고, 설정 또한 편리한데다가 많은 사람들이 사용하다 보니까, 각종 버그 리포트 및 패치가 빨리 이루워 지고 사용에 대한 도움도 받기 쉬워서 많이 이용되고 있습니다.

BIND의 설치

1. 다운로드
https://www.isc.org/downloadables/11  에서 적절한 버전을 다운로드 한다.
2009년 3월 26일 현재에는 BIND 9.6.0-P1 버전이 product release 버전입니다.
(예:bind-9.6.0-P1.tar.gz)

2.적당한 디렉토리에 압축을 해제한다.
  [root @linux]#/var/tmp
  [root @linux]#tar xvfz bind-9.6.0-P1.tar.gz

3.make 유틸리티를 이용해서 컴파일 한다.
  [root @linux]#make stdlinks –> 최상위 레벨 디렉토리에서 모든 것을 컴파일 해둔다.
  [root @linux]#make clean    –> 새로 컴파일 할수 있도록 함.
  [root @linux]#make depend –> 의존성 검사
  [root @linux]#make all        –> 모두 파일을 컴파일
  [root @linux]#make install   –> 옵션을 사용해서 설치되는 위치를 지정할 수있다.
                                                (예:–DESTDIR=/usr/local/bind)
4.환경 파일을 설정한다.
  (예:named.conf , 특별한 옵션을 주지 않고 설치 했다면 /etc/아래에 위치해야 된다.)

5. 환경 설정
  [root @linux]#vi /etc/named.conf
  #named.conf –> BIND운영환경 설정파일
  options {  —>각종옵션들을 적어 줍니다.
         directory “/var/named”; —>named 가 사용할 임시 디렉토리 주소
  };

  #(아래의 파일은 /var/named아래에 있어야 됩니다.) 위에서 지정한 디렉토리 아래
  zone “.” in { –> 모든 도메인 네임이 참고 할 데이터 영역 지정
        type hint;
        file “db.named.cache”;  –>ISC에서 제공하는 데이터 파일입니다.
  }
  zone “domain.net” in { –>자신의 도메인이 참고 할 데이터 영역 지정.
        type master;
        file “db.domain.net”; –>자신이 설정 해주어야 됩니다.
  };

  zone “123.21.204.in-addr.arpa” in  {
        –>아이피를 도메인 네임으로 변경해줌(서버 아이피가 204.21.123.XX일때)
        type master;
        file “named.local”;
  }
위의 설정 파일은 단지 예제에 불과하므로, 자신의 시스템에 맞도록 설정해야 합니다.

설정파일을 만드는 법은 BIND문서를 참고 하시거나 인터넷에서 검색해보시는 것도 좋은 방법이 될 것입니다. 위의 설정 파일 부분에서 도메인 영역을 자신의 도메인으로 바꾸고, 아이피 부분을 자신의 서버 아이피로 바꾸어 주고 실행 시켜면 네임서버가 실행 됩니다.

물론 각 지정 파일들은 지정 디렉토리 아래에 존재해야 됩니다.
ISC에서 제공하는 파일은 FTP로 받아 올수 있습니다.

자신의 도메인 서버가 사용할 영역 파일은 다음과 같을 수 있습니다
  [root @linux]#vi /var/named/db.domain.net
  $TTL 3h
  @                IN        SOA        ns.domain.net.        root.domain.net. (
                        1 ; serial
                        3h ; refresh
                        1h ; retry
                        1w ; expire
                        1h ; default_ttl
                        )
  ;
  ;
                IN        NS        ns.domain.net.
  ;
  ;
  localhost           IN        A        127.0.0.1
  domain.net.        IN        A        54.15.15.94
  www                IN        A        54.15.15.95
  ns                    IN        A        54.15.15.94

  [root @linux]#vi /var/named/db.54.15.15
  $TTL 3h
  @                IN        SOA        ns.domain.net.        root.domain.net. (
                –>네임서버의 도메인네임.(ns라는 호스트로 지정했습니다.)
                –>root.domain.net. root라는 관리자의 메일주소를 뜻합니다.
                –>항상 마침표 . 를 찍어 주셔야 됩니다.
                1 ; serial
                3h ; refresh
                1h ; retry
                1w ; expire
                1h ; default_ttl
                )       
  ;
  ;
                IN        NS        ns.domain.net.
  ;
  ;
  94        IN        PTR        ns.domain.net.
  95        IN        PTR        www.domain.net. –>해당아이피에 도메인 네임 할당.
                                        –>54.15.15.94는 네임서버의 아이피로 지정하고,
                                        –>54.15.15.95는 www 호스트의 아이피로 지정함.

6. 네임서버 실행
named라는 실행파일이 자신이 설치한 디렉토리의 bin디렉토리 아래에 존재 합니다.
(예:/usr/local/bind8/bin/named &)