본문 바로가기

네임서버

CentOS 7에서 캐싱 전용 DNS 서버를 구성하는 방법(caching only nameserver)

반응형

CentOS 7에서 캐싱 전용 DNS 서버를 구성하는 방법(caching only nameserver)

BIND 서버를 캐싱 DNS 서버로 설정하는 방법은 다음과 같습니다. 캐싱 DNS 서버는 클라이언트의 DNS 쿼리를 받아 해당 정보를 캐시하여 이후에 동일한 쿼리에 대한 응답을 빠르게 제공하는 역할을 합니다.

1. BIND 패키지 설치

sudo yum install bind

2. 캐싱 설정 파일 수정

named.conf 파일을 수정하여 BIND 서버를 캐싱 DNS 서버로 설정합니다.

sudo vim /etc/named.conf
더보기

named.caching-nameserver.conf

vim /etc/named.caching-nameserver.conf
$ cat /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-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; };
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
view localhost_resolver {
        match-clients      { localhost; };
        match-destinations { localhost; };
        recursion yes;
        include "/etc/named.rfc1912.zones";
};

3. DNS 캐싱 설정 추가

아래와 같이 DNS 캐싱 설정을 named.conf 파일에 추가합니다.

options {
    directory "/var/named";    // BIND 캐시 디렉터리 설정
    recursion yes;              // 다른 DNS 서버로부터 쿼리 결과를 캐싱
    allow-recursion { any; };   // 어떤 호스트든 쿼리 결과를 캐싱
    forwarders {
        8.8.8.8;                // 외부 DNS 서버 (예: Google Public DNS)
        8.8.4.4;
    };
    dnssec-validation auto;     // DNSSEC 유효성 검사 설정
    auth-nxdomain no;           // NXDOMAIN 응답 시 권한 부여 안 함
    listen-on-v6 { any; };      // IPv6 주소에서도 리스닝
};

위 설정에서 forwarders 블록은 외부 DNS 서버로 쿼리를 전달하는 역할을 합니다. 이 예시에서는 Google Public DNS 서버 주소를 사용하고 있습니다. 필요에 따라 다른 공개 DNS 서버 주소를 사용하실 수 있습니다.

4. 파일 저장 및 종료

편집기에서 변경사항을 저장하고 종료합니다.

5. BIND 재시작

설정 변경을 적용하기 위해 BIND 서버를 재시작합니다.

sudo systemctl restart named

 

이제 CentOS 7 시스템에서는 BIND 서버가 캐싱 전용 DNS 서버로 설정되었습니다. 클라이언트의 DNS 쿼리를 받아 캐시하고, 이후 같은 쿼리에 대한 응답을 빠르게 제공할 수 있게 됩니다.

 

728x90
반응형