웹마짱구's 블로그

RH9에서 BIND9 설치

Linux/Linux : 2007/04/09 13:42


RH9에서 DNS와 관련된 패키지는 다음과 같습니다. (bind9)
bind-9.2.1-16 DNS (도메인 이름 시스템) 서버.
bind-devel-9.2.1-16 bind DNS 개발을 위해 필요한 파일들과 라이브러리들이 포함되어 있습니다.
bind-utils-9.2.1-16 DNS 네임 서버들을 질의(query)하는 유틸리티.
caching-nameserver-7.2-7 캐싱 네임 서버를 설정하는데 필요한 설정 파일들.
redhat-config-bind-1.9.0-13 Red Hat DNS 설정 도구.

위 패키지들 중에 bind-devel-9.2.1-16 는 설치하지 않도록 하겠습니다. ^^; 개발에 필요한 것이기 때문이죠.
위 패키지들을 rpm -qa | grep bind 해서 확인하시고 없으면 . 다음과 같이 설치하세요

[root@test root]# rpm -Uvh http://ftp.superuser.co.kr/pub/redhat/9/RPMS/bind-utils-9.2.1-16.i386.rpm
http://ftp.superuser.co.kr/pub/redhat/9/RPMS/bind-utils-9.2.1-16.i386.rpm(을)를 설치합니다.
경고: /var/tmp/rpm-xfer.alMSwn: V3 DSA signature: NOKEY, key ID db42a60e
준비 중...                  ########################################### [100%]
   1:bind-utils             ########################################### [100%]

[root@test root]# rpm -Uvh http://ftp.superuser.co.kr/pub/redhat/9/RPMS/bind-9.2.1-16.i386.rpm
http://ftp.superuser.co.kr/pub/redhat/9/RPMS/bind-9.2.1-16.i386.rpm(을)를 설치합니다.
경고: /var/tmp/rpm-xfer.nQzU46: V3 DSA signature: NOKEY, key ID db42a60e
준비 중...                  ########################################### [100%]
   1:bind                   ########################################### [100%]

[root@test root]# rpm -Uvh \
 http://ftp.superuser.co.kr/pub/redhat/9/RPMS/redhat-config-bind-1.9.0-13.noarch.rpm

http://ftp.superuser.co.kr/pub/redhat/9/RPMS/redhat-config-bind-1.9.0-13.noarch.rpm(을)를 설치합니다.
경고: /var/tmp/rpm-xfer.zzLRVz: V3 DSA signature: NOKEY, key ID db42a60e
준비 중...                  ########################################### [100%]
   1:redhat-config-bind     ########################################### [100%]

[root@test root]# rpm -Uvh \
http://ftp.superuser.co.kr/pub/redhat/9/RPMS/caching-nameserver-7.2-7.noarch.rpm

http://ftp.superuser.co.kr/pub/redhat/9/RPMS/caching-nameserver-7.2-7.noarch.rpm(을)를 설치합니다.
경고: /var/tmp/rpm-xfer.uVhcKH: V3 DSA signature: NOKEY, key ID db42a60e
준비 중...                  ########################################### [100%]
   1:caching-nameserver     ########################################### [100%]

이렇게 설치가 끝났다면, dns 실행 준비가 된 것 입니다.

2. 초기 셋팅
 설치는 간단했지만, 이제부터 조금 길어질 것입니다. 최대한 간단히 설명하도록 하겠습니다.
 (1)  /etc/hosts 파일 (서버에서 도메인을 제일 먼저 찾는 곳)
 형식 :   아이피  도메인  알리아스
127.0.0.1  localhost localhost.localdomain
이렇게 되어있기 때문에 localhost 라고 입력하면 127.0.0.1을 찾는 것입니다.

(2) /etc/resolv.conf (서버에서 쓸 dns)
search 도메인  : 여기에는 보통 자기 도메인 또는 localhost를 적습니다.(3개까지 가능)
nameserver 아이피 : 서버에서 사용할 dns를 적습니다. 주로 위에서 설명들인 대표 dns를 적습니다.(3개까지)
예)
search localhost
nameserver 168.126.63.1
nameserver 168.126.63.2


(3) /etc/host.conf (도메인에 대하 ip를 찾을 때 참조할 순서)
order hosts,bind ==> 초기 설치시 이렇게 되어 있으며, 의미는 /etc/hosts파일부터 찾고, bind에서 찾는다는의미

(4) /etc/named.conf
options {
        directory "/var/named";        // zone 파일을 저장할 디렉토리
        // query-source address * port 53;  // DNS 서버의 ip와 포트 설정 (기본)
controls { //==> 127.0.0.1 에서 rndc로 접속시 컨트롤 가능하다는 의미
        inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
// 캐시 네임 서버 설정
zone "." IN {
        type hint;
        file "named.ca";
};
// localhost 에 대한 설정
zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };  //다이나믹 하게 업데이트를 허용할것인지 설정한다. 대부분 none
};
// 127.0.0.X 에 대한 역 도메인
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};
include "/etc/rndc.key";


위 파일 내용들은 caching-nameserver-7.2-7, redhat-config-bind-1.9.0-13   패키지를 깔면 생성되는 것들입니다. 대부분의 서버에서 별다른 설정하지 않고 사용 하시면 됩니다.

중요한 것은 다음 줄부터입니다. 0link.co.kr 이라는 도메인을 셋팅해 보도록 하겠습니다.

zone "0link.co.kr" IN { type master; file "0link.co.kr.zone"; allow-update { none; }; };
위와같이 추가 합니다.
zone 파일명은 0link.co.kr.zone으로 하였습니다.

(5) /var/named/*
이 디렉토리는 존 파일 및 케시DNS서버에 대한 파일... 등등등 이 들어가지만, 손대지 않도록합니다.
위에서 추가한 도메인에 대한 zone 파일을 만들어 보도록 하겠습니다.
/var/named/0link.co.kr.zone
$TTL 86400
@       IN      SOA     ns.0link.co.kr. root.0link.co.kr. (
                        2004062300              ; 시리얼값 (년월일시간)으로 대부분 설정합니다.
                        3H              ; 2차 네임서버가 1차 네임서버에 접속하는 시간
                        15M             ; 접속 실패시 다시 시작할 시간 간격
                        1W              ; 1차 네임서버에 데이터가 없다면 1주 이후에 지워진다.
                        1D )            ; 위에서 설정한 TTL값과 같은 의미
;
        IN      NS      ns.0link.co.kr. ; 도메인을 소유한 DNS의 도메인
        IN      MX      10 mail.0link.co.kr. ; 메일을 보낼 도메인 또는 주소
        IN      A       210.114.223.194 ; 도메인이 찾아갈 IP주소
www     IN      A       210.114.223.194 ; www.0link.co.kr 도메인이 찾아갈 IP주소
mail    IN      A       210.114.223.194
*       IN      A       210.114.223.194 ; 모든 서브 도메인이 찾아갈 서버 IP
처음 줄의 $TTL(Time To Live)은 아주 중요합니다.  다른 DNS 서버에서 이 도메인에 대한 조회를 한 다음 , 그 데이터를 보관할 시간입니다. 86400은 86400초를 의미하고 계산해 보시면 하루 정도가 됩니다. 기본으로 이 값을 많이 사용합니다. 하지만 서버이전을 계획하고 계시다면, 2~3일 전에 400 정도로 바꾸어 두고 시작하시기 바랍니다.
 그리고 모든 값들을 수정후에는 꼭 시리얼 값을 바꾸어 설정된 값보다 큰값으로 설정해 주시기 바랍니다.

3. DNS 운영
 설치와 설정이 끝났다면, DNS 서버를시작해야 합니다.
(1) 시작
[root@test root]# /etc/rc.d/init.d/named start
named 를 시작 합니다:                                   [  확인  ]

(2) 재시작
[root@test root]# /etc/rc.d/init.d/named reload
named를 재시작 하고 있습니다: [  확인  ]

(3) 정지
[root@test root]# /etc/rc.d/init.d/named stop
named 를 정지함:
이렇게 되면서 정지가 되지 않았습니다.
[root@test root]# ps -ef | grep named
named    17585     1  0 22:39 ?        00:00:00 [named]
root     17728 17314  0 22:42 pts/2    00:00:00 grep named

bind 는 아래 명령어를 사용해서 정지 시킬 수 있으나 먹지 않더군요(권장사항인데...)
[root@test root]# rndc stop
그래서 할 수 없이 깔끔하게 프로세스를 죽였입니다.
[root@test root]# killall named
[root@test root]# ps -ef | grep named        
root     17757 17314  0 22:43 pts/2    00:00:00 grep named


(4) 서버 부팅시 자동 실행
아래와같이 ntsysv 명령어로 설정합니다.


 
(5) 설정한 도메인 확인하기 (Windows XP의 NSLOOKUP 이용)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\doly>nslookup
Default Server:  kns.kornet.net
Address:  168.126.63.1
> server ns.superuser.co.kr
Default Server:  ns.superuser.co.kr
Address:  211.220.193.181
> set debug    <== 디버그 모드로 설정
> 0link.co.kr
Server:  ns.superuser.co.kr
Address:  211.220.193.181
------------
Got answer:
    HEADER:
        opcode = QUERY, id = 3, rcode = NOERROR
        header flags:  response, auth. answer, want recursion, recursion avail.
        questions = 1,  answers = 1,  authority records = 1,  additional = 1
    QUESTIONS:
        0link.co.kr, type = A, class = IN
    ANSWERS:
    ->  0link.co.kr
        internet address = 210.114.223.149
        ttl = 400 (6 mins 40 secs)
    AUTHORITY RECORDS:
    ->  0link.co.kr
        nameserver = ns.kebia.net
        ttl = 400 (6 mins 40 secs)
    ADDITIONAL RECORDS:
    ->  ns.kebia.net
        internet address = 211.220.193.181
        ttl = 64800 (18 hours)
------------
Name:    0link.co.kr
Address:  210.114.223.149
> ls -t MX 0link.co.kr  < == 메일 레코드인 MX 레코드 조회
[ns.superuser.co.kr]
Received AXFR message:  questions=1, answers=14
 0link.co.kr.                   400 IN    MX     0    mail.0link.co.kr


이렇게 운영중인 도메인에 대한 값을 조회 해 볼 수 있습니다.
top

TAG ,
Linux/Linux : 2007/04/09 13:42 Trackback. : Comment. : view 799

Trackback Address :: http://jjangu.pe.kr/blog/trackback/410

Write a comment.




: 1 : ... 175 : 176 : 177 : 178 : 179 : 180 : 181 : 182 : 183 : ... 543 :