Work/LINUX+SERVER

bind 1차 2차 네임서버 구성하기

====== 네임서버 점검 및 구축 가이드 라인 ======

KISA 점검 사이트 : http://dns.kisa.or.kr/kor/dns/dnsIntro03A.jsp
KISA 구축 가이드라인 : {{:리눅스:dnsguide_2011.pdf|}}

네임서버는 53번 포트가 열려있어야만 정상적으로 동작한다.
제일먼저 확인할것
  # netstat -an | grep :53
====== 네임서버 기본 구성 ======

1. bind package check
<code>
# rpm -qa bind*
bind-chroot-9.8.2-0.10.rc1.el6_3.5.x86_64
bind-utils-9.8.2-0.10.rc1.el6_3.5.x86_64
bind-libs-9.8.2-0.10.rc1.el6_3.5.x86_64
bind-9.8.2-0.10.rc1.el6_3.5.x86_64
 
위 4개가 전부 설치되어 있지 않으면
 
# yum install bind-*
 
으로 설치.
</code> 

2. bind 기본 정보
<code>
/var/named : 설정 파일 및 DNS 구성에 필요한 파일들이 위치
/etc/named.conf : named 데몬 실행에 관한 설정
/etc/named.rfc1912.zones : 존 파일에 대한 설정
/etc/rndc.key : named 데몬을 제어하기 위한 rndc key 값
</code>

3. named.conf 파일 내용
<code>
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

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 no;
        recursion yes;       

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
</code>

4. named.rfc1912.zone
<code>
zone "kisa.or.kr" in {
    type master;
    file "kisa.or.kr.zone"; // kisa.or.kr 도메인에 대한 영역 설정 파일 지정
};

zone "50.30.202.in-addr.arpa" in {
    type master;
    file "db.50.30.202"; //202.30.50.24 네트워크에 대한 역방향 설정 파일 지정
};

zone "localhost" in {
    type master;
    file "localhost.zone"; // 루프백 주소에 대한 파일 지정
};

zone "0.0.127.in-addr.arpa" in {
    type master;
    file "db.127.0.0"; // 루프백 주소에 대한 파일 지정
};

zone "." in {
    type hint;
    file "db.cache"; // 루트 힌트 파일 지정
};
</code>
====== 1차 네임서버 설정 ======

1. named.conf 설정
<code>
options {
        directory "/var/named";
        allow-transfer{ 2차 네임서버 ip; }; //2nd DNS
        version "No !!";
};

zone "kisa.or.kr" in {
    type master;
    file "kisa.or.kr.zone"; // kisa.or.kr 도메인에 대한 영역 설정 파일 지정
    allow-transfer{ 2차 네임서버 ip; }
};
</code>
====== 2차 네임서버 설정 ======

1. named.conf 혹은 named.rfc1912.zone 파일 수정
<code>
zone "kisa.or.kr" in {
    type slave;                   // slave 네임서버임을 설정
    file "slave-kisa.or.kr.zone"; //존파일 지정
    masters { 1차 네임서버 ip; };    // 존파일을 받아올 Master 네임서버의 IP를 설정
};
</code>

위의 설정을 한 후
<code>
# service named start
# tail -f /var/log/message
</code>

정상적으로 1차 네임서버에서 2차 네임서버로 존 파일을 전송받게 되면
/var/named 폴더 밑에 존 파일들이 생성된다.
====== KISA 존 파일 예제 ======

※ 존파일 설정시 '.' 점으로 끝나지 않는 경우 호스트명으로 처리하므로 도메인 입력시 주의해야합니다.
즉, 'kisa.or.kr'로 kr뒤에 점을 안찍으면 'kisa.or.kr.kisa.or.kr.'으로 인식됩니다.

존파일 예제(kisa.or.kr.zone)
<code>
    $TTL 86400;(1일)
    $ORIGIN kisa.or.kr.
    @ IN SOA ns1.kisa.or.kr. admin.kisa.or.kr. (
              2004082722  ;  serial
              28800       ;  refresh (8시간)
              7200        ;  retry (2시간)
              604800      ;  expire (1주)
              3600  )     ;  negative TTL (1시간)
                         IN  NS ns1.kisa.or.kr.
                         IN  NS ns2.kisa.or.kr.
    ns1.kisa.or.kr.      IN  A 202.30.50.100
    ns2.kisa.or.kr.      IN  A 202.40.60.200
    kisa.or.kr.          IN  A 202.30.50.101
    www
</code>   
리버스 도메인을 위한 예제 (30.50.202.in-addr.arpa)
<code>
    $TTL 86400;(1일)
    $ORIGIN kisa.or.kr.
    @ IN SOA ns1.kisa.or.kr. admin.kisa.or.kr. (
              2004082722  ;  serial
              28800       ;  refresh (8시간)
              7200        ;  retry (2시간)
              604800      ;  expire (1주)
              3600  )     ;  negative TTL (1시간)
                         IN  NS ns1.kisa.or.kr.
                         IN  NS ns2.kisa.or.kr.
    ns1.kisa.or.kr.      IN  A 202.30.50.100
    ns2.kisa.or.kr.      IN  A 202.40.60.200
    kisa.or.kr.          IN  A 202.30.50.101
    www
</code>

반응형