서버 운영 관리 [ Tip ]

CentOS BIND 설치 및 설정(named)

DNS는 도메인 네임서버 로서 숫자 형태의 IP를 문자 형태에 도메인으로 변경해주는 서비스를 뜻합니다.

반대로  문자 형태의 도메인을 숫자 형태의 IP로도 변경을 해줍니다.

본인 소유 서버에서 DNS를 구축하기 위해서는 'BIND' 라는 패키지를 설치해야 사용할 수 있습니다.

리눅스 환경에서 보편적으로 많이 사용되는 BIND 서버에 대한 설치 및 설정 내용입니다.

 

Bind 9 버전에서 진행 하였으며 설치 및 설정 과정은 아래와 같습니다.

 

 

Bind 설치 및 설정


 

 

1. Bind 설치

[ 설치 확인 ]

# rpm -qa |grep bind
   rpcbind-0.2.0-12.el7.x86_64
   bind-libs-9.8.2-0.47.rc1.el7.x86_64
   bind-utils-9.8.2-0.47.rc1.el7.x86_64

 

[ 설치 ]

# yum install bind*

 

===================================================
Package               Arch        Version                             Repository   Size
===================================================
Installing:
bind                    x86_64    32:9.8.2-0.47.rc1.el6_8.1    updates    4.0 M
bind-chroot          x86_64    32:9.8.2-0.47.rc1.el6_8.1    updates     75 k
bind-devel           x86_64    32:9.8.2-0.47.rc1.el6_8.1    updates    383 k
bind-dyndb-ldap   x86_64    2.3-8.el6                            base        72 k
bind-sdb              x86_64    32:9.8.2-0.47.rc1.el6_8.1    updates    312 k
Updating:
bind-libs              x86_64    32:9.8.2-0.47.rc1.el6_8.1    updates    889 k
bind-utils             x86_64    32:9.8.2-0.47.rc1.el6_8.1    updates    187 k
Installing for dependencies:
mysql-libs            x86_64    5.1.73-7.el6                        base         1.2 M

 

2. named.conf 설정

named.conf 파일을 열어 아래 설명 과 같이 설정을 진행합니다.

# vi /etc/named.conf

 

options {
            listen-on port 53 { any; };                                            //네임서버의 포트번호와 접근할 수 있는 IP 를 설정
            listen-on-v6 port 53 { ::1; };
            directory "/var/named";                                                         //DNS 의 zone 파일 위치를 지정하는 곳
            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 { any; };                                                    //네임서버 query 를 허용할 IP 를 설정
            recursion no;                                                                     
           

           dnssec-enable yes;
           dnssec-validation yes;

           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;                                                    //type 값은 hint(루트도메인 지정), master(1 차 네임서버 지정), slave(2 차 네임서버 지정)
                file "named.ca";                                           //루트 도메인(“.”)에 대한 설정을 named.ca 라는 파일에서 참조
};

include "/etc/named.rfc1912.zones";                              //네임서버 데몬 실행시 /etc/named.rfc1912.zones 을 포함
include "/etc/named.root.key";

 

3. named.rfc1912.zones 설정

named.rfc1912.zones의 내용 하단에 사용할 도메인을 아래와 같이 추가합니다.

 

# vi /etc/named.rfc1912.zones

zone "iwinv.kr" IN {                    //추가할 도메인 입력
        type master;                       //서버타입 지정
        file "iwinv.kr.zone";            //zone 파일 이름 설정
        allow-update { none; };      //동기화 할 slave 서버의 IP 지정(없을 경우 none;)
};  

 

4. Zone file 생성

기본 존파일 위치로 이동하여 named.rfc1912.zones에 설정한 이름으로 파일을 생성합니다.

내부 내용은 아래 예시를 참고 합니다.

 

CentOS 6 기준

# cd /var/named/chroot/var/named/

# vi iwinv.kr.zone

 

CentOS 7이상 기준

cd /var/named/

# vi iwinv.kr.zone

$TTL 300
@      IN      SOA      ns.iwinv.co.kr.      root.iwinv.co.kr. (
                                                    2016093004; Serial
                                                    28800 ; Refresh
                                                    14400 ; Retry
                                                    3600000 ; Expire
                                                    86400 ) ; Minimum
         IN       NS        ns.iwinv.co.kr.
@      IN      TXT       "v=spf1 ip4:192.168.1.0 ip4:192.168.1.1 ~all"
@      IN       MX  10  mail.iwinv.kr.
www  IN        A         10.0.0.1
@      IN       A          10.0.0.2

 

# chown root.named iwinv.kr.zone

# /etc/init.d/named restart ( reload )

소유권 설정 이후 네임드를 restart 또는 reload 합니다.