본문으로 바로가기

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

category 기존 작성물 2013.04.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
[CentOS] 네임서버(DNS) bind 설정  (4) 2013.04.13
[HTML5] 기본 템플릿  (0) 2012.11.26

댓글을 달아 주세요

  1. BlogIcon 김연수 2013.05.31 17:40 신고

    글 너무 잘 보았습니다.
    안녕하세요 제가 지금 centos 5.8버전으로 열심히 공부 중입니다. 요즘 dns서버 설치하고 공부중인데요
    가장 최신 버전인 6.4버전은 5.8버전보다 어떤게 다른점이 있는지 궁금해서 여쭈어 봅니다.
    바쁘시겠지만 시간되면 답변이나 메일로 답변 부탁드립니다^^ 더운신데 수고하세요^^

    • BlogIcon 흉내쟁이 2013.05.31 20:07 신고

      centos의 버전 앞 자리수는 redhat 의 버전과 같습니다. 고로 redhat 6 버전이 나오고 얼마 후에 centos도 6 버전이 나온겁니다. centos는 redhat의 상용패키지를 제거한 클론판이니까요. 기본적으로 5.x 와 6.x의 버전차이는 지원하는 커널과 라이브러리들의 차이가 있습니다. 6.x 의 버전들이 최신의 패키지들과 라이브러리들을 지원하지만 5.x 의 버전은 오래된 패키지 버전들로 구성되어 있어서 새로 시작하는 서버라면 비추천합니다. 이미 오래전에 서버를 구성해 놓고 그것을 유지하고 있는 서버들을 대상으로 5.x 를 지원할뿐이니 말입니다. 공부하시는 것이라면 안정된 버전의 6.3 혹은 6.4버전의 centos를 추천합니다.^^

  2. BlogIcon code_control 2014.02.28 13:10 신고

    글 감사히 잘봤습니다.
    항상 DNS설정이 너무 어렵게만 느껴졌는데 전체적으로 차분히 한번 읽고 차근차근 진행하니 정상적으로 잘되었습니다.
    오늘 설정이 끝났으니 이제 동기화만 기다리면 될꺼같습니다.^^

  3. BlogIcon ithanks 2015.09.28 14:10 신고

    감사합니다. 잘 정리되어 많은 도움이 됩니다.
    진행하다 궁금한 부분이 있어 질문을 드립니다.
    bind 9.4 이상에서 /var/named/uzuro.com.zone 의 위치가
    /var/named/chroot/ 에서
    zone file 의 위치가 어떻게 되는 지 궁금합니다.
    좋은 글 감사합니다.

티스토리 툴바