Server & OS

네임서버 설정하기

페이지 정보

본문

네임서버는 IP주소를 사람들이 쉽게 기억할 수 있는도메인주소로 매핑시켜주는 역할을 합니다.

리눅스에서 쓰이는 네임서버로는 Bind(Barkeley Internet Name Domain)가 쓰입니다.
한컴리눅스에는 기본적으로 설치가 되어 있으므로, 설정으로 넘어가시면 됩니다.
만일을 위해 #rpm -qa|grep bind 로 패키지가 설치되어 있는지 확인해 보시고, 확인되지 않으면 설치를 먼저 진행하시기 바랍니다.

먼저, 설정에 필요한 파일들은 다음과 같습니다.
- /etc/named.conf : 부트 파일, 첫 번째 설정 파일
- /var/named/named.ca : 루트 네임서버에 대한 정보가 있는 데이터베이스 파일(캐시 파일)
- /var/named/named.local : localhost에 대한 설정 파일
- /var/named/forward.zone : Public Domain에 대한 Forward zone 파일
- /var/named/reverse.zone : Inverse Domain에 대한 Reverse zone 파일

1. namd.conf 설정

아래는 hancom.com 도메인에 대한 named.conf 파일의 설정입니다.
기본적인 설정파일에서 굵게 표시된 부분만, 신청한 도메인에 맞게 추가를 합니다.

[root@ns root]# cat /etc/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 "." IN {
type hint;
file "named.ca";
};

zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};

zone "hancom.com" IN {
type master;
file "hancom.zone";
allow-update { none; };
};

zone "0.168.192.in-addr.arpa" IN {
type master;
file "hancom.rev";
allow-update { none; };
};
[root@ns root]#

위와 같이 신청한 도메인인 hancom.com에 대한 포워드 존 파일인 hancom.zone을 지정하였고, 네임서버를 만들 호스트의 IP인 192.168.0.2의 역으로 0.168.192.in-addr-arpa를 지정하고 리버스 존 파일로 hancom.rev 파일을 지정하였습니다.

2. hancom.zone 생성

named.conf 파일에서 지정한 hancom.com에 대한 Forward zone 파일과 Reverser zone 파일은 각각 hancom.zone과 hancom.rev로 설정하였습니다. 지정한 파일은 /var/named 디렉토리에 파일을 생성합니다.
/var/named 으로 이동하여 살펴보면. 기본적으로 named.ca, localhost.zone, named.local 파일은 생성되어 있습니다.

hancom.zone 파일을 생성하기 위해, named.local 파일을 hancom.zone파일로 복사합니다.

[root@ns root]# cd /var/named
[root@ns named]# ls
localhost.zone named.ca named.local
[root@ns named]# cp named.local hancom.zone

형식에 맞게 hancom.zone 파일을 편집합니다.
[root@ns named]# vi /var/named/hancom.zone
$TTL    86400
@ IN SOA ns.hancom.com. root.ns.hancom.com. (
2002062500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.hancom.com.
IN MX 10 mail.hancom.com.

ns IN A 192.168.0.2
hancom.com. IN A 192.168.0.2
mail IN A 192.168.0.3
www IN A 192.168.0.4
ftp IN A 192.168.0.5

[주의] 편집시 도메인 명 다음은 반드시 콤마(.)을 찍어야 합니다.

3. hancom.rev 생성

포워드 존 파일인 hancom.zone을 생성했다면, 나머지 하나 리버스 존 파일인 hancom.rev파일만 생성하면 됩니다.
hancom.rev 파일을 생성하기 위해, named.local 파일을 hancom.rev 파일로 복사합니다
[root@ns root]# cd /var/named
[root@ns named]# ls
hancom.zone localhost.zone named.ca named.local
[root@ns named]# cp named.local hancom.rev

hancom.rev 파일을 다음과 같이 편집합니다.
[root@ns named]# vi /var/named/hancom.rev
$TTL    86400
@ IN SOA ns.hancom.com. root.ns.hancom.com. (
2002062500 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS ns.hancom.com.

2 IN PTR ns
3 IN PTR mail
4 IN PTR www
5 IN PTR ftp

형식

기본적인 형식은 같으며, IP를 도메인으로 매핑할 수 있도록 PTR(Pointer) 레코드를 사용하여, 도메인에 대한 IP를 지정하면 됩니다.

4. 그 외 설정

네임서버를 설정하는 서버의 /etc/resolve.conf파일을 잠시 살펴보고, 네임서버 설정에 맞게 수정을 합니다. /etc/hosts파일과 /etc/host.conf파일은 참고로 살펴만 보시면 됩니다.

/etc/resolve.conf

서버의 네임서버를 지정하는 것으로, 입력된 순서대로 지정된 네임서버에 질의를 하게 됩니다. 첫 번째 등록될 네임서버는 NIC이나 KRNIC에 등록된 1차 네임서버로 ns.hancom.com을 셋팅하는 호스트의 IP를 등록합니다.
[root@ns named]# cat /etc/resolv.conf
nameserver 192.168.0.2
nameserver 168.126.63.1

/etc/hosts

hosts는 간단한 네임서버의 역할을 하는 것으로, 자주 쓰는 도메인에 대한 알리아스를 지정할 수 있습니다. 만일 http://www.hancom.com 웹 사이트 접속이 빈번할 경우, 간단히 /etc/hosts 파일에 아래와 같이 등록하므로써 www만으로 www.hancom.com 서버로 접속하게 됩니다.
[root@ns named]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.2 ns.hancom.com. ns
211.233.3.59 kr.hancom.com www

/etc/host.conf

아래 그림과 같이 hosts와 bind 에 대한 참조 순서를 결정합니다. 만일, 순서가 바뀌어 있다면, /etc/hosts파일은 무용지물이 되겠죠?
[root@ns named]# cat /etc/host.conf
order hosts,bind
[root@ns named]#

5. 네임 서버 데몬 재 가동

변경이 완료 되었다면, 데몬을 재 실행합니다.

[root@ns root]# /etc/rc.d/init.d/named stop
named 를 정지함: [ 확인 ]
[root@ns root]# /etc/rc.d/init.d/named start
named (을)를 시작합니다: [ 확인 ]
[root@ns root]#

6. 네임 서버 설정 오류 체크

네임서버를 구축하고 문제점을 체크하는 도구는 여러 가지가 많습니다. 그 중 가장 많이 쓰이는 nslookup으로 네임서버를 체크하는 방법을 알아보도록 하겠습니다.

명령행에서 nslookup를 입력합니다.
[root@ns root]# nslookup
Note: nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead. Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
>

>에 셋팅된 네임 서버명을 입력합니다.

아래와 같이 hancom.com을 입력할 경우 제대로 된 192.168.0.2의 네임서버가 출력됩니다.
> hancom.com
Server: 192.168.0.2
Address: 192.168.0.2#53

Name: hancom.com
Address: 192.168.0.2
>

만일, server cant't find ns.hancom.com : NXDOMAIN 이라고 메시지가 나오면 제대로된 설정이 아니므로, 설정 파일들을 다시 살펴볼 필요가 있습니다.

관련자료

Today's proverb
해가 들면 어떻고, 바람이 불면 어떻고, 눈이 오면 어떠랴. 해가 들어주어도 고맙고, 바람이 불어주어도 고맙고, 눈이 와주어도 고마울 뿐. 그렇다, 고맙지 않은 것이 없다. 밤은 밤이어서 고맙고, 새벽은 새벽이어서 고맙고, 낮은 낮이어서 고맙다. 아, 고마운 삼라만상이여! (정채봉)