cafe??의 리눅스 가상화 호스팅을 신청하여 dns와 svn을 운영 하고 있습니다.
(http와 mail은 웹 호스팅 서비스를 이용)

혹시 가상화 호스팅받으면서 dns 설정에 문제 있으신분은 참고 하세요-
dns 설정도 할 줄 모르면 돈 주고 해야되더라구요;;

아래 내용은 ubuntu 10.04 기준이며 10.x 버전이라면 별 다를꺼 없을꺼 같습니다.

먼저 bind9 패키지를 설치합니다.

$ sudo su -
$ apt-get install bind9

종속성 있는 패키지까지 설치가 끝나면 자신의 도메인에 맞게 zone 파일들을 생성해줘야 합니다.

zone 파일의 위치는 기본적으로 /etc/bind 에 위치하고 있으면 이 위치를 기준으로 다음과 같이 작성 합니다.

$ vi named.conf.local
//
// Do any local configuration here
//
 
zone "idccc.com" {
  type master;
  file "/etc/bind/zones/idccc.com.db";
};
 
// NIC IP: 175.126.73.xxx
zone "73.126,175.in-addr.arpa" {
  type master;
  file "/etc/bind/zones/rev.73.126.175.in-addr.arpa";
};
 
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

IP -> DNS로 하는 zone파일과 DNS -> IP로 하는 reverse zone 파일이 있어야 합니다.
reverse zone 파일의 문법은 IP를 C클래스까지 거꾸로 적으면 됩니다(주석 참고).

이제 실제적인 idccc.com.zone 파일을 생성해 봅니다.

$ mkdir zones
$ cd zones
$ vi idccc.com.zone
$TTL    10800 ; 3 hours
 
@   IN  SOA ns.idccc.com. idccc.hanmail.net.  (
                2011021513  ; Serial  - YYYYMMDDNN
                21600       ; Refresh - 6 hours
                3600        ; Retry   - 1 hour
                604800      ; Expire  - 1 week
                86400 )     ; Minimum - 1 day
 
@       IN      NS      ns.idccc.com.
@       IN      MX 10   www.idccc.com.
 
ns      IN      A       175.126.73.xxx
dev     IN      A       175.126.73.xxx
;ftp    IN      CNAME   dev
 
@       IN      A       211.196.153.xxx
www     IN      A       211.196.153.xxx
mail    IN      A       211.196.153.xxx

위 내용은 ns.idccc.com 으로 네임서버를 사용하며 ns.idccc.com 의 IP는 175.126.73.xxx 라고 설정 했습니다.
dev도 같은 IP를 사용하며 idccc.com, www.idccc.com, mail.idccc.com 은 211.196.153.xxx 라고 설정 했습니다.

mail exchanger 레코드에서 www.idccc.com 을 주어서 idccc.com 도메인으로 오는 메일은 211.196.153.xxx 로 가도록 했습니다.

zone파일의 FQDN 마지막에 . 은 오타가 아닙니다.

이제 reverse zone 파일을 생성 하겠습니다.

$ vi rev.73.126.175.in-addr.arpa
$TTL    10800 ; 3 hours
 
@   IN  SOA ns.idccc.com. idccc.hanmail.net.  (
                2011020704  ; Serial  - YYYYMMDDNN
                21600       ; Refresh - 6 hours
                3600        ; Retry   - 1 hour 
                604800      ; Expire  - 1 week
                86400 )     ; Minimum - 1 day
 
@       IN      NS      ns.idccc.com.
160     PTR             ns.idccc.com.

reverse zone 파일에서는 네임서버에 대한 내용만 설정해도 문제없습니다.

이제 bind9에 대한 설정이 끝났습니다.

해당 서버의 hosts, resolv.conf 파일과 hostname를 ns로 설정하고 bind9를 재시작, 테스트 해보겠습니다.

$ vi /etc/hosts
175.126.73.xxx  ns.idccc.com    ns
 
$ hostname -vb ns
$ vi /etc/resolv.conf
search idccc.com
nameserver 127.0.0.1
 
$ service bind9 restart
$ tail -30 /var/log/message | egrep bind
$ nslookup
> idccc.com
Server:		127.0.0.1
Address:	127.0.0.1#53
 
Name:	idccc.com
Address: 211.196.153.xxx
> ns.idccc.com
Server:		127.0.0.1
Address:	127.0.0.1#53
 
Name:	ns.idccc.com
Address: 175.126.73.xxx

문제 없이 동작 하는 것을 확인 했으면 idccc.com 도메인에 대한 네임서버를 ns.idccc.com 으로 변경 하시면 됩니다-

도메인 네임서버 변경은 도메인 소유기관을 통해서 하시면 됩니다.
(예: yesnic, whois 등)