4.8. DNS 레코드를 재정의하도록 BIND에서 응답 정책 영역 구성


관리자는 DNS 차단 및 필터링을 사용하여 DNS 응답을 다시 작성하여 특정 도메인 또는 호스트에 대한 액세스를 차단할 수 있습니다. BIND에서 응답 정책 영역(RPZ)은 이 기능을 제공합니다. NXDOMAIN 오류 발생 또는 쿼리에 응답하지 않는 등 차단된 항목에 대해 다른 작업을 구성할 수 있습니다.

환경에 여러 DNS 서버가 있는 경우 이 절차를 사용하여 기본 서버에서 RPZ를 구성하고 나중에 보조 서버에서 RPZ를 사용하도록 영역 전송을 구성합니다.

사전 요구 사항

  • BIND는 예를 들어 캐싱 이름 서버로 이미 구성되어 있습니다.
  • named 또는 named-chroot 서비스가 실행 중입니다.

프로세스

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

    1. options 문에 response-policy 정의를 추가합니다.

      options {
          ...
      
          response-policy {
              zone "rpz.local";
          };
      
          ...
      }

      response-policyzone 문에서 RPZ의 사용자 지정 이름을 설정할 수 있습니다. 그러나 다음 단계의 영역 정의에 동일한 이름을 사용해야 합니다.

    2. 이전 단계에서 설정한 RPZ의 영역 정의를 추가합니다.

      zone "rpz.local" {
          type master;
          file "rpz.local";
          allow-query { localhost; 192.0.2.0/24; 2001:db8:1::/64; };
          allow-transfer { none; };
      };

      이러한 설정 상태:

      • 이 서버는 rpz.local 이라는 RPZ의 기본 서버(유형 master)입니다.
      • /var/named/rpz.local 파일은 영역 파일입니다. 이 예에서와 같이 상대 경로를 설정하는 경우 이 경로는 options 문에서 디렉터리에 설정한 디렉터리 와 상대적입니다.
      • allow-query 에 정의된 모든 호스트는 이 RPZ를 쿼리할 수 있습니다. 또는 IP 범위 또는 BIND ACL(액세스 제어 목록) 닉네임을 지정하여 액세스를 제한합니다.
      • 호스트가 영역을 전송할 수 없습니다. 보조 서버를 설정하고 보조 서버의 IP 주소에 대해서만 영역 전송을 허용합니다.
  2. /etc/named.conf 파일의 구문을 확인합니다.

    # named-checkconf

    명령이 출력을 표시하지 않으면 구문이 올바르게 됩니다.

  3. 예를 들어 다음 콘텐츠를 사용하여 /var/named/rpz.local 파일을 만듭니다.

    $TTL 10m
    @ IN SOA ns1.example.com. hostmaster.example.com. (
                              2022070601 ; serial number
                              1h         ; refresh period
                              1m         ; retry period
                              3d         ; expire time
                              1m )       ; minimum TTL
    
                     IN NS    ns1.example.com.
    
    example.org      IN CNAME .
    *.example.org    IN CNAME .
    example.net      IN CNAME rpz-drop.
    *.example.net    IN CNAME rpz-drop.

    이 영역 파일:

    • 리소스 레코드의 기본 TTL(Time-to-live) 값을 10분으로 설정합니다. 시간 접미사가 없는 경우 h for hour, BIND는 값을 초로 해석합니다.
    • 영역에 대한 세부 정보와 함께 필요한 권한 시작(SOA) 리소스 레코드가 포함되어 있습니다.
    • ns1.example.com 을 이 영역에 대해 권한 있는 DNS 서버로 설정합니다. 기능을 위해 영역에는 하나 이상의 이름 서버(NS) 레코드가 필요합니다. 그러나 RFC 1912를 준수하기 위해서는 적어도 두 개의 이름 서버가 필요합니다.
    • example.org 및 이 도메인의 호스트에 대한 NXDOMAIN 오류를 반환합니다.
    • 이 도메인의 example.net 및 호스트에 대한 쿼리를 삭제합니다.

    전체 작업 및 예제 목록은 IETF 초안을 참조하십시오. RPZ(DNS 대응 정책 영역).

  4. /var/named/rpz.local 파일의 구문을 확인합니다.

    # named-checkzone rpz.local /var/named/rpz.local
    zone rpz.local/IN: loaded serial 2022070601
    OK
  5. BIND를 다시 로드합니다.

    # systemctl reload named

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

검증

  1. RPZ에 구성된 example.org 의 호스트를 해결하여 NXDOMAIN 오류를 반환합니다.

    # dig @localhost www.example.org
    ...
    ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 30286
    ...

    이 예제에서는 BIND가 동일한 호스트에서 실행되고 localhost 인터페이스의 쿼리에 응답한다고 가정합니다.

  2. RPZ에 구성된 example.net 도메인의 호스트를 확인하여 쿼리를 삭제하십시오.

    # dig @localhost www.example.net
    ...
    ;; connection timed out; no servers could be reached
    ...
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동