검색

1.6. BIND DNS 서버 간 영역 전송 구성

download PDF

영역 전송을 통해 영역 사본이 있는 모든 DNS 서버가 최신 데이터를 사용하도록 합니다.

사전 요구 사항

  • 향후 기본 서버에서 영역 전송을 설정할 영역이 이미 구성되어 있습니다.
  • 향후 보조 서버에서 BIND가 이미 구성되어 있습니다(예: 캐싱 이름 서버).
  • 두 서버 모두에서 named 또는 named-chroot 서비스가 실행 중입니다.

절차

  1. 기존 기본 서버에서 다음을 수행합니다.

    1. 공유 키를 생성하고 /etc/named.conf 파일에 추가합니다.

      # tsig-keygen example-transfer-key | tee -a /etc/named.conf
      key "example-transfer-key" {
              algorithm hmac-sha256;
              secret "q7ANbnyliDMuvWgnKOxMLi313JGcTZB5ydMW5CyUGXQ=";
      };

      이 명령은 tsig-keygen 명령의 출력을 표시하고 /etc/named.conf 에 자동으로 추가합니다.

      나중에 보조 서버에서도 명령의 출력이 필요합니다.

    2. /etc/named.conf 파일에서 영역 정의를 편집합니다.

      1. allow-transfer 문에서 서버에서 영역을 전송하기 위해 example-transfer-key 문에 지정된 키를 제공해야 함을 정의합니다.

        zone "example.com" {
            ...
            allow-transfer { key example-transfer-key; };
        };

        또는 allow-transfer 문에서 BIND ACL(액세스 제어 목록) nicknames를 사용합니다.

      2. 기본적으로 영역을 업데이트한 후 BIND는 이 영역에 이름 서버(NS) 레코드가 있는 모든 이름 서버에 알립니다. 보조 서버의 NS 레코드를 영역에 추가할 계획이 없는 경우 BIND에서 이 서버에 알리는 것을 구성할 수 있습니다. 이를 위해 이 보조 서버의 IP 주소에 also-notify 문을 영역에 추가합니다.

        zone "example.com" {
            ...
            also-notify { 192.0.2.2; 2001:db8:1::2; };
        };
    3. /etc/named.conf 파일의 구문을 확인합니다.

      # named-checkconf

      명령이 출력을 표시하지 않으면 구문이 올바른지.

    4. BIND를 다시 로드합니다.

      # systemctl reload named

      변경 루트 환경에서 BIND를 실행하는 경우 systemctl reload named-chroot 명령을 사용하여 서비스를 다시 로드합니다.

  2. 향후 보조 서버에서 다음을 수행합니다.

    1. /etc/named.conf 파일을 다음과 같이 편집합니다.

      1. 기본 서버에서와 동일한 키 정의를 추가합니다.

        key "example-transfer-key" {
                algorithm hmac-sha256;
                secret "q7ANbnyliDMuvWgnKOxMLi313JGcTZB5ydMW5CyUGXQ=";
        };
      2. /etc/named.conf 파일에 영역 정의를 추가합니다.

        zone "example.com" {
            type slave;
            file "slaves/example.com.zone";
            allow-query { any; };
            allow-transfer { none; };
            masters {
              192.0.2.1 key example-transfer-key;
              2001:db8:1::1 key example-transfer-key;
            };
        };

        이러한 설정 상태:

        • 이 서버는 example.com 영역의 보조 서버(slave)입니다.
        • /var/named/slaves/example.com.zone 파일은 영역 파일입니다. 이 예에서와 같이 상대 경로를 설정하면 이 경로는 options 문의 디렉터리에 설정한 디렉터리를 기준으로 합니다. 이 서버가 기본 서버와 보조인 영역 파일을 분리하려면 예를 들어 /var/named/slaves/ 디렉터리에 저장할 수 있습니다.
        • 모든 호스트는 이 영역을 쿼리할 수 있습니다. 또는 IP 범위 또는 ACL 닉네임을 지정하여 액세스를 제한합니다.
        • 호스트는 이 서버에서 영역을 전송할 수 없습니다.
        • 이 영역의 기본 서버 IP 주소는 192.0.2.12001:db8:1::2 입니다. 또는 ACL 닉네임을 지정할 수 있습니다. 이 보조 서버는 example-transfer-key 라는 키를 사용하여 주 서버에 인증합니다.
    2. /etc/named.conf 파일의 구문을 확인합니다.

      # named-checkconf
    3. BIND를 다시 로드합니다.

      # systemctl reload named

      변경 루트 환경에서 BIND를 실행하는 경우 systemctl reload named-chroot 명령을 사용하여 서비스를 다시 로드합니다.

  3. 선택 사항: 기본 서버에서 영역 파일을 수정하고 새 보조 서버의 NS 레코드를 추가합니다.

검증

보조 서버에서 다음을 수행합니다.

  1. named 서비스의 systemd 저널 항목을 표시합니다.

    # journalctl -u named
    ...
    Jul 06 15:08:51 ns2.example.com named[2024]: zone example.com/IN: Transfer started.
    Jul 06 15:08:51 ns2.example.com named[2024]: transfer of 'example.com/IN' from 192.0.2.1#53: connected using 192.0.2.2#45803
    Jul 06 15:08:51 ns2.example.com named[2024]: zone example.com/IN: transferred serial 2022070101
    Jul 06 15:08:51 ns2.example.com named[2024]: transfer of 'example.com/IN' from 192.0.2.1#53: Transfer status: success
    Jul 06 15:08:51 ns2.example.com named[2024]: transfer of 'example.com/IN' from 192.0.2.1#53: Transfer completed: 1 messages, 29 records, 2002 bytes, 0.003 secs (667333 bytes/sec)

    변경 루트 환경에서 BIND를 실행하는 경우 journalctl -u named-chroot 명령을 사용하여 저널 항목을 표시합니다.

  2. BIND에서 영역 파일을 생성했는지 확인합니다.

    # ls -l /var/named/slaves/
    total 4
    -rw-r--r--. 1 named named 2736 Jul  6 15:08 example.com.zone

    기본적으로 보조 서버는 영역 파일을 바이너리 원시 형식으로 저장합니다.

  3. 보조 서버에서 전송된 영역의 레코드를 쿼리합니다.

    # dig +short @192.0.2.2 AAAA www.example.com
    2001:db8:1::30

    이 예제에서는 이 프로세스에서 설정한 보조 서버가 IP 주소 192.0.2.2 에서 수신 대기한다고 가정합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.