Linux DNS

CentOS Bind 9.x 를 이용한 DNS 설치 및 설정

2010.01.14 01:07

Namlyong 조회 수:68158

* 버젼대별 설정이 조금씩 상이할 수 있습니다.

사용하시는 OS 및 Bind 버젼에 맞춰 설정하시기 바랍니다.

 

가급적 최신 버전을 사용 하실 것을 권장 합니다. 

오래 된 버전의 BIND 같은 경우 여러 취약점들이 노출 되어 있습니다.



도메인 구입처에서 도메인을 구매 후 네임서버를 등록

 

호스트웨이에서 구매한 도메인의 경우 https://sitecontrol.hostway.co.kr 로그인 후

도메인 관리 -> My name servers -> click here. 통해 등록 -> My name servers 페이지에서 네임 서버 등록

 (등록 기관별 네임 서버 변경 방법은 다릅니다.)

 

IP : 211.115.196.49  DOMAIN : hostway.co.kr 이라는 가정하에 등록 하는 방법입니다.

해당 내용들은 환경 및 도메인 / IP에 맞게  경 해주셔야 합니다.


 

Centos에서 bind 설치확인 (caching-nameserver 설치요망)
[test]# rpm -qa | grep bind
ypbind-1.19-11.el5
bind-libs-9.3.4-10.P1.el5_3.1
bind-9.3.4-10.P1.el5_3.1
bind-utils-9.3.4-10.P1.el5_3.1
bind-chroot-9.3.4-10.P1.el5_3.1

1. yum 으로 bind 와 caching-nameserver 패키지를 설치

# yum install bind caching-nameserver

 

2. named.caching-nameserver.conf 파일 수정

# vi /etc/named.caching-nameserver.conf

 

빨간색으로 표시 된 부분들은 추가 / 수정해야 되는 부분

파란색으로 표시 된 부분들은 설명 및 변경 전 내용 / 주석처리 상태

============================================================
//
// named.caching-nameserver.conf
//
// Provided by Red Hat caching-nameserver 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.
//
// DO NOT EDIT THIS FILE - use system-config-bind or an editor
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
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";

        // Those options should be used carefully because they disable port
        // randomization
        // 질의를 받아들일 소스포트를 설정하는 부분.
        query-source    port 53;
        // query-source-v6 port 53;

        // 질의를 허용할 대역을 설정.
        // allow-query  { localhost; };
        allow-query     { any; };
        // allow-query-cache { localhost; };
};
logging {
        // 실행 시 참고할 로그파일을 설정.
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localhost_resolver {
        // localhost_resolver에 대한 허용 클리어인트 설정.
        match-clients      { any; };
        match-destinations { any; };
        // 공개용 네임서버 사용시 yes 상위질의 허용여부를 설정. yes 사용시 보안상 취약점 발생
        recursion no;
        include "/etc/named.rfc1912.zones";
};
// 외부 질의를 처리할 view를 생성.
//recursion 질의에 대해 localhost_resolver에서 지정된 대역만 허용하도록 하


//위해 분리해둔 것이다.

============================================================


#vi /etc/named.rfc1912.zones 

============================================================

zone "amam.co.kr" IN {
        type master;
        file "hostway.co.kr.zone";
        allow-update { none; };
};
============================================================

 
#vi /var/named/chroot/var/named/hostway.co.kr.zone

============================================================

$TTL 86400
@       IN SOA @        root (
                        42      ; serial (d, adams)
                        3H      ; refresh
                        15M     ; retry
                        1W      ; expiry
                        1D )    ; minimum

        IN NS           ns.hostway.co.kr.
        IN MX 10        mail.hostway.co.kr.
        IN A            211.115.196.49
mail    IN A          211.115.196.49

ftp     IN A          211.115.196.49
ns IN CNAME  @
* IN CNAME ns
============================================================

 

* Ex) borad.hostway.co.kr 이라는 서브 도메인을 추가 하실 경우에는 아래와 같은 형태로 위 zone 파일에 추가 해주시면 됩니다. 

borad   IN A       211.115.196.49


정상적으로 적용 되었는지 named-checkconf / zone을 통해 확인

아래 체크를 통해 에러가 있다면 메세지를 통해 잘못 된 부분들은 수정할 수 있습니다.

 

named-checkconf /etc/named.rfc1912.zones
named-checkconf /etc/named.caching-nameserver.conf
named-checkconf /var/named/chroot/etc/named.rfc1912.zones

named-checkzone amam.co.kr /var/named/chroot/var/named/hostway.co.kr.zone

/etc/init.d/named restart

 

 

 * 위 내용은 도메인 및 아이피에 맞게 수정해주시면 됩니다.

 

위 내용 복사하여 그대로 사용하셔도 되나, 게시판 특성상 빈 공간이 들여쓰기 형태로 Tab키 인식이 아닌

띄어쓰기로 이 부분에 대해서는 메모장 프로그램 등을 이용해 복사하셔서 수정 하신 후 사용하시기 바랍니다.

 


마지막으로, 셋팅이 모두 끝나셨다면 아래 URL에서 네임서버의 취약점이 없는지 점검 해보시기 바랍니다.


http://dns.kisa.or.kr/kor/dns/dnsIntro03A.jsp

감사합니다.