강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

named 설정파일 : /etc/named.conf

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

named 설정파일 : /etc/named.conf

 

 

 

 

 

/etc/named.conf파일은 여러분들도 잘 알다시피 named데몬의 설정파일이다.

 

 

 

 

 BIND데몬인 named의 환경설정파일로서 매우 중요한 파일이다.

 

 

 

 

 이 파일에는 개별도메인 설정을 하는 zone파일의 위치와 named.ca 파일, named.local파일등에 대한 정보등이 설정되어있다.

 

 

 

 

 

 

이 파일의 용도를 쉽게 정의하자면 “DNS서버의 네임서비스를 위한  여러가지 옵션들이 설정된 파일이라고 할 수 있다.

 

 

 

 

  먼저 이 파일의 내용을 보도록하겠다.

 

 

 

 

 

 

[root@sulinux ~]#cat /etc/named.conf

// Red Hat BIND Configuration Tool

//

// Default initial "Caching Only" name server configuration

//

 

options {

        directory "/var/named";

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

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

        /*

         * If there is a firewall between you and nameservers you want

         * to talk to, you might need to uncomment the query-source

         * directive below.  Previous versions of BIND always asked

         * questions using port 53, but BIND 8.1 uses an unprivileged

         * port by default.

         */

         // query-source address * port 53;

};

 

zone "." IN {

        type hint;

        file "named.root";

};

 

zone "localdomain." IN {

        type master;

        file "localdomain.zone";

        allow-update { none; };

};

 

zone "localhost." IN {

        type master;

        file "localhost.zone";

        allow-update { none; };

};

 

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

        type master;

        file "named.local";

        allow-update { none; };

};

 

zone "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.ip6.local";

        allow-update { none; };

};

 

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

        type master;

        file "named.broadcast";

        allow-update { none; };

};

 

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

        type master;

        file "named.zero";

        allow-update { none; };

};

 

include "/etc/rndc.key";

 

// bible.co.kr ---------------------------- //

zone "bible.co.kr" IN {

         type master;

         file "bible.co.kr.zone";

         allow-update { none; } ;

};

// sspark.co.kr ---------------------------- //

zone "sspark.co.kr" IN {

         type master;

         file "sspark.co.kr.zone";

         allow-update { none; } ;

};

[root@sulinux ~]#

 

 

 

 

다음은 /etc/named.conf파일내에 설정된 각 지시자들에 대한 설명이다.

 

 

 

 

 

 

directory "/var/named";

이 지시자는 DNS zone파일들이 어디에 위치하는가를 지정한 것이다.

 

 

 

 

 기본 값으로는 /var/named이며 다른 위치를 지정할 수도 있다.

 

 

 

 

 위의 설정을 보면 /var/named 디렉토리에는 각 도메인들에 대한 zone파일들이 저장되어있을 것이다.

 

 

 

 

 

 

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

 

 

 

위의 설정은 이 DNS의 루트도메인(.)에 대한 설정을 named.ca라는 파일에 하고있다라는 설정이다.

 

 

 

 

 

위의 파일에는 이와같은 형식이 여러번 사용되었는데 다음과 같은 값들을 가질 수 있다.

 

 

 

 

  zone다음에 오는 값은 데이터베이스로서 포워드존과 리버스존이 올 수 있다.

 

 

 

 

  type에 오는 값들은 hint(루트도메인을 지정), master(1차네임서버), slave(2차네임서버)를 각각 의미한다.

 

 

 

 

 

 

include "/etc/rndc.key";

 

 

 

이 설정은 이미 앞에서 설명하였듯이named rndc가 사용할 인증키값을 저장하고있는 파일의 이름으로 /etc/rndc.key파일을 지정한 것이다.

 

 

 

 

 이 파일을 불러들이기 위해 include지시자가 사용되었다.

 

 

 

 

 만약 include문을 사용하지 않는다면 다음과 같은 형식으로 설정해주면 된다.

 

 

 

 

 

 

key "rndckey" {
algorithm hmac-md5;
secret " iYQUXO+VXzAQE5qaVGm3TY8dVt/QcdrIZHB APO2kl00s5fimkJn5u7S85t+RrAIyA==";
};

 

 

 

 

물론 위의 secret항목에 지정된 인증키값은 /etc/rndc.key값과 같은 값이어야 한다.

 

 

 

 

 

 

zone "bible.co.kr" IN {

         type master;

         file "bible.co.kr.zone";

         allow-update { none; } ;

};

 

 

 

이 설정은 개별도메인에 대한 설정으로서 bible.co.kr이라는 도메인에 대해서 설정한다라는 의미이며 bible.co.kr.zone파일을 zone파일로 하여 네임서비스를 하겠다라는 설정이다.

 

 

 

 

 여기서 bible.co.kr.zone파일의 위치는 위의 directory지시자에 지정되어있는 /var/named디렉토리내에 존재하게 된다.

 

 

 

 

 따라서 결론적으로 bible.co.kr도메인 정보파일이 /var/named/bible.co.kr.zone 에 존재하다라는 설정이다.

 

 

 

 

 하지만 bind chroot가 적용되어있다면 이 위치는 /var/named/chroot/var/named/디렉토리내에 존재하게 된다.

 

 

 

 

 상황따라서 알맞은 위치를 확인할 수 있어야 하겠다.

 

 

 

 

 

 

그리고 다음은 현재 버전에서는 잘 볼 수 없는 것이기는 하지만 아직 다음과 같이 설정된 예를 볼 수 있다.

 

 

 

 

 

 

 

controls {
        inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};

 

 

 

이 지시자는 로컬서버(localhost, 127.0.0.1)에서 named데몬 컨트롤을 허용하고 그 다음 인증키(rndckey)로써 컨트롤을 허용하겠다라는 설정이다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,806 개
  • 현재 접속자 :  93 명