본문 바로가기

네임서버

BIND DNS에서 DNS 존 전송(zone transfer)을 설정하는 방법

반응형

BIND DNS에서 DNS 존 전송(zone transfer)을 설정하는 방법

BIND(Berkeley Internet Name Domain)를 사용하여 DNS 존 전송을 설정하려면 Master DNS 서버와 Slave DNS 서버 간의 통신을 활성화하고 구성해야 합니다. 이를 위해 아래와 같은 단계를 따를 수 있습니다.

 

주의할 점은 BIND 구성 파일(named.conf)은 시스템 및 BIND 버전에 따라 다를 수 있습니다.

1. Master DNS 설정

Master DNS 서버(named.conf) 설정 파일에는 존 전송을 허용하도록 구성을 추가해야 합니다.

options {
    directory "/var/named";
    pid-file "/var/named/data/named.pid";
    version "unknown";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";

    check-names master ignore;
    check-names slave ignore;
    check-names response ignore;

    allow-transfer { 192.168.10.53; };
    also-notify { 192.168.10.53; };
    allow-query { any; };
};

zone "example.com" {
    type slave;
    file "/var/named/slave/example.com.zone";
    masters { 192.168.1.53; };
};

위의 예에서 example.com은 전송하려는 존 이름을 나타냅니다. file 옵션은 존 파일의 경로를 나타내며 allow-transfer 옵션은 전송을 허용할 Slave DNS 서버의 IP 주소를 나타냅니다.

  • allow-transfer { 192.168.10.53; }; : 이 옵션은 Master DNS 서버에서 존 데이터를 전송할 수 있는 IP 주소를 지정합니다. 여기서는 192.168.10.53(슬레이브 DNS 서버)로 존 데이터를 전송할 수 있도록 허용하고 있습니다.
  • also-notify { 192.168.10.53; }; : 이 옵션은 Master DNS 서버에서 존 데이터가 변경될 때 슬레이브 DNS 서버에 알릴 IP 주소를 지정합니다. 이것은 존 데이터의 신속한 동기화를 돕습니다.
728x90

2. Slave DNS 설정

Slave DNS 서버(named.conf) 설정 파일에는 Master DNS 서버에서 존 전송을 수락하도록 구성해야 합니다.

options {
    directory "/var/named";
    pid-file "/var/named/data/named.pid";
    version "unknown";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";

    check-names master ignore;
    check-names slave ignore;
    check-names response ignore;

    allow-transfer { none; };
    allow-query { any; };
};

zone "example.com" {
    type slave;
    file "/var/named/slave/example.com.zone";
    masters { 192.168.1.53; };
};

위의 예에서도 example.com은 전송받을 존 이름을 나타내며 file 옵션은 존 데이터를 저장할 파일의 경로를 나타냅니다. masters 옵션은 존 정보를 가져올 Master DNS 서버의 IP 주소를 나타냅니다.

  • allow-transfer { none; }; : Slave DNS 서버에서는 존 전송을 허용하지 않도록 설정되어 있습니다. 따라서 이 서버는 Master DNS 서버로부터 새로운 존 데이터를 수신하지 않습니다.
  • allow-query { any; }; : Slave DNS 서버에서는 모든 DNS 쿼리를 허용하도록 설정되어 있어, 클라이언트로부터의 DNS 쿼리를 처리할 수 있습니다.

3. dig 명령어를 사용하여 DNS 존 전송을 테스트하는 방법

  • Master DNS 서버로부터 example.com 존의 전체 데이터를 요청
dig @master-dns-server example.com AXFR
  • Slave DNS 서버에서도 같은 명령을 실행하여 Master DNS 서버에서 전송받은 데이터를 확인
dig @slave-dns-server example.com AXFR
  • 예시
    • 192.168.1.53은 Master DNS 서버의 IP 주소를 나타내며, example.com은 전송하려는 DNS 존의 이름
dig @192.168.1.53 example.com AXFR

 

728x90
반응형