1.2. BIND를 캐싱 DNS 서버로 구성


기본적으로 BIND DNS 서버는 성공적으로 확인되고 실패한 조회를 캐시합니다. 그런 다음 서비스는 캐시의 동일한 레코드에 요청을 응답합니다. 이렇게 하면 DNS 조회 속도가 크게 향상됩니다.

사전 요구 사항

  • 서버의 IP 주소는 static입니다.

프로세스

  1. bindbind-utils 패키지를 설치합니다.

    # dnf install bind bind-utils
    Copy to Clipboard Toggle word wrap
  2. 변경 루트 환경에서 BIND를 실행하려면 bind-chroot 패키지를 설치합니다.

    # dnf install bind-chroot
    Copy to Clipboard Toggle word wrap

    SELinux가 강제 모드인 호스트에서 BIND를 실행하는 것이 더 안전합니다.

  3. /etc/named.conf 파일을 편집하고 options 문에서 다음과 같이 변경합니다.

    1. listen-onlisten-on-v6 문을 업데이트하여 BIND에서 수신 대기해야 하는 IPv4 및 IPv6 인터페이스를 지정합니다.

      listen-on port 53 { 127.0.0.1; 192.0.2.1; };
      listen-on-v6 port 53 { ::1; 2001:db8:1::1; };
      Copy to Clipboard Toggle word wrap
    2. allow-query 문을 업데이트하여 클라이언트가 이 DNS 서버를 쿼리할 수 있는 IP 주소 및 범위를 구성합니다.

      allow-query { localhost; 192.0.2.0/24; 2001:db8:1::/64; };
      Copy to Clipboard Toggle word wrap
    3. allow-recursion 문을 추가하여 BIND에서 재귀 쿼리를 허용하는 IP 주소 및 범위를 정의합니다.

      allow-recursion { localhost; 192.0.2.0/24; 2001:db8:1::/64; };
      Copy to Clipboard Toggle word wrap
      주의

      서버의 공용 IP 주소에 대한 재귀를 허용하지 마십시오. 그렇지 않으면 서버가 대규모 DNS 조정 공격의 일부가 될 수 있습니다.

    4. 기본적으로 BIND는 루트 서버에서 권한 있는 DNS 서버로 반복적으로 쿼리하여 쿼리를 확인합니다. 또는 공급자와 같은 다른 DNS 서버에 쿼리를 전달하도록 BIND를 구성할 수 있습니다. 이 경우 BIND에서 쿼리를 전달해야 하는 DNS 서버의 IP 주소 목록을 사용하여 forwarders 문을 추가합니다.

      forwarders { 198.51.100.1; 203.0.113.5; };
      Copy to Clipboard Toggle word wrap

      역추적 동작으로 BIND는 전달자 서버가 응답하지 않는 경우 쿼리를 재귀적으로 확인합니다. 이 동작을 비활성화하려면 forward only; 문을 추가합니다.

  4. /etc/named.conf 파일의 구문을 확인합니다.

    # named-checkconf
    Copy to Clipboard Toggle word wrap

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

  5. 들어오는 DNS 트래픽을 허용하도록 firewalld 규칙을 업데이트합니다.

    # firewall-cmd --permanent --add-service=dns
    # firewall-cmd --reload
    Copy to Clipboard Toggle word wrap
  6. BIND를 시작하고 활성화합니다.

    # systemctl enable --now named
    Copy to Clipboard Toggle word wrap

    변경 루트 환경에서 BIND를 실행하려면 systemctl enable --now named-chroot 명령을 사용하여 서비스를 활성화하고 시작합니다.

검증

  1. 새로 설정된 DNS 서버를 사용하여 도메인을 확인합니다.

    # dig @localhost www.example.org
    ...
    www.example.org.    86400    IN    A    198.51.100.34
    
    ;; Query time: 917 msec
    ...
    Copy to Clipboard Toggle word wrap

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

    처음으로 레코드를 쿼리한 후 BIND에서 해당 캐시에 항목을 추가합니다.

  2. 이전 쿼리를 반복합니다.

    # dig @localhost www.example.org
    ...
    www.example.org.    85332    IN    A    198.51.100.34
    
    ;; Query time: 1 msec
    ...
    Copy to Clipboard Toggle word wrap

    캐시된 항목으로 인해 항목이 만료될 때까지 동일한 레코드에 대한 추가 요청이 훨씬 더 빨라집니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat