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
다정스런 말은 시원한 물보다도 더 시원하게 목마름을 축여준다.