본문으로 바로가기

[CentOS] 네임서버(DNS) bind 설정

category 기존 작성물 2013. 4. 13. 03:41

현재 이 글 보다 더욱 자세한 설명을 덧붙인 DNS서버(네임서버) 설치를 새로 작성되었습니다.

센토스에서 네임서버를 설정하는 것에 대하여 알아봅니다.

설치환경 : CentOS 6.4 minimal / bind-9.8.2
필요요소 : Bind 패키지, 도메인주소(예: uzuro.com)
설정포트 : tcp 53 / udp 53

네임서버 설정

유의사항

  • 최근의 Bind 패키지에는 Chroot가 포함되기에 설정이 필요
  • 네임서버 동기화 시간이 필요
  • 생성,수정한 파일의 소유권이전 확인

1. 도메인 등록

도메인을 구입하고, 구입한 곳에서 호스트 등록을 완료합니다.

2. Bind 패키지 설치

필자는 CentOS를 최소버전으로 설치했기에 Bind 패키지가 포함되어 있지 않다.

yum -y install bind-*

  rpm -qa bind*
  bind-libs-9.8.2....
  bind-9.8.2...
  bind-sdb-9.8.2....
  bind-chroot-9.8.2...
  bind-utils-9.8.2...
  bind-dyndb-ldap-2.3.2...
  bind-devel-9.8.2...

(bind-9.8.2 패키지에는 caching nameserver 가 bind에 포함되어 있다.)

3. chroot를 염두에 두고 디렉토리및 파일을 복사한다.

아래의 파일들을 /var/named/chroot/var/etc 로 복사한다.

  • /etc/namdd.conf
  • /etc/named.iscdlv.key
  • /etc/named.rfc1912.zones
  • /etc/named.root.key
  • /etc/rndc.key

아래의 디렉토리와 파일들은 /var/named/chroot/var/named 로 복사한다.

  • /var/named/data (디렉토리)
  • /var/named/dynamic (디렉토리)
  • /var/named/slaves (디렉토리)
  • /var/naemd/named.ca
  • /var/named/named.empty
  • /var/named/named.localhost
  • /var/named/named.loopback

※ 복사후 각각의 파일의 소유권을 확인한후 디렉토리는 소유권이 chown named.named 디렉토리명 과 같이 수정하고 파일들은 chown root.named 파일명과 같이 수정한다.

4. named.conf 수정

named.conf 파일을 아래의 굵은 글씨로 표현된 부분을 수정한다.

options {

        //listen-on port 53 { 127.0.0.1; };

        listen-on port 53 { any; };

        listen-on-v6 port 53 { ::1; };

        directory       "/var/named";

        dump-file       "/var/named/data/cache_dump.db";

        statistics-file "/var/named/data/named_stats.txt";

        memstatistics-file "/var/named/data/named_mem_stats.txt";

        //allow-query     { localhost; };

        allow-query     { any; };

        recursion yes;

        empty-zones-enable no;


...중략...


zone "." IN {

        type hint;

        file "named.ca";

};


include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

5. named.rfc1912.zones 수정

구입한 도메인을 설정하는 부분으로 아래에선 uzuro.com 도메인에 대한 설정을 하고 있다.

zone "localhost.localdomain" IN {

        type master;

        file "named.localhost";

        allow-update { none; };

};

zone "localhost" IN {

        type master;

        file "named.localhost";

        allow-update { none; };

};


zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {

        type master;

        file "named.loopback";

        allow-update { none; };

};


zone "1.0.0.127.in-addr.arpa" IN {

        type master;

        file "named.loopback";

        allow-update { none; };

};


zone "0.in-addr.arpa" IN {

        type master;

        file "named.empty";

        allow-update { none; };

};


zone "uzuro.com" IN {

        type master;

        file "uzuro.com.zone";

        allow-update { none; };

};

6. zone 파일 생성

$TTL 1D

@       IN SOA  ns.uzuro.com. captain.uzuro.com. (

                                        2013041200      ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        1D )    ; minimum

        IN NS   ns.uzuro.com.

        MX 10   mail.uzuro.com.

        IN A    121.139.*.*

ns      IN A    121.139.*.*

www     IN CNAME        @

mail    IN A    121.139.*.*

ftp     IN A    121.139.*.*

*.* 에 IP 주소 완성.

7. 재시작및 등록

ntsysv 실행 named 등록

service named restart

'기존 작성물' 카테고리의 다른 글

<noscript> 사용법  (0) 2013.12.20
favicon 관련 팁  (0) 2013.12.11
Normalize.css - CSS 초기화  (0) 2013.12.10
[HTML5] 기본 템플릿  (0) 2012.11.26