검색

1.8. dnstap을 사용하여 DNS 쿼리 기록

download PDF

네트워크 관리자는 DNS(Domain Name System) 세부 정보를 기록하여 DNS 트래픽 패턴을 분석하고 DNS 서버 성능을 모니터링하고 DNS 문제를 해결할 수 있습니다. 고급 방법으로 들어오는 이름 쿼리의 세부 정보를 모니터링하고 기록하려면 named 서비스에서 보낸 메시지를 기록하는 dnstap 인터페이스를 사용합니다. DNS 쿼리를 캡처하고 기록하여 웹사이트 또는 IP 주소에 대한 정보를 수집할 수 있습니다.

사전 요구 사항

  • bind-9.16.15-3 패키지 또는 이후 버전이 설치됩니다.
주의

BIND 버전이 이미 설치되어 실행 중인 경우 새 버전의 BIND 를 추가하면 기존 버전이 덮어씁니다.

절차

  1. options 블록에서 /etc/named.conf 파일을 편집하여 dnstap 및 대상 파일을 활성화합니다.

    options
    {
    # ...
    dnstap { all; }; # Configure filter
    dnstap-output file "/var/named/data/dnstap.bin"; versions 2;
    # ...
    };
    # end of options
  2. 로깅할 DNS 트래픽 유형을 지정하려면 /etc/named.conf 파일의 dnstap 블록에 dnstap 필터를 추가합니다. 다음 필터를 사용할 수 있습니다.

    • auth - 권한 있는 영역 응답 또는 응답.
    • 클라이언트 - 내부 클라이언트 쿼리 또는 응답.
    • Forwarder - 쿼리 또는 응답에서 전달합니다.
    • 해결자 - 반복적 해결 쿼리 또는 응답.
    • 업데이트 - 동적 영역 업데이트 요청.
    • All - 위 옵션 중 모두 입니다.
    • 쿼리 또는 응답 - 쿼리 또는 응답 키워드를 지정하지 않으면 dnstap 이 둘 다 기록합니다.
    참고

    dnstap 필터에는 dnstap {} 블록의 dnstap {} 블록의 dnstap {(모든 | auth | client | forwardr | update ) [(쿼리 | 응답 ) ] ; …​ }; dnstap {} 블록으로 구분되는 정의가 포함되어 있습니다.

  3. 기록된 패킷에서 dnstap 유틸리티의 동작을 사용자 지정하려면 다음과 같이 추가 매개변수를 제공하여 dnstap-output 옵션을 수정합니다.

    • size (제한되지 않음 | <size>) - 크기가 지정된 제한에 도달하면 dnstap 파일을 자동으로 롤백할 수 있습니다.
    • 버전 (제한되지 않음 | <integer>) - 유지할 자동 롤오버된 파일 수를 지정합니다.
    • 접미사 (increment | timestamp ) - 롤아웃된 파일의 이름 지정 규칙을 선택합니다. 기본적으로 증가는 .0 으로 시작합니다. 또는 timestamp 값을 설정하여 UNIX 타임스탬프 를 사용할 수 있습니다.

      다음 예제에서는 자동 응답 만 요청, 클라이언트 쿼리, 동적 업데이트 의 쿼리 및 응답 모두:

      Example:
      
      dnstap {auth response; client query; update;};
  4. 변경 사항을 적용하려면 named 서비스를 다시 시작하십시오.

    # systemctl restart named.service
  5. 활성 로그에 대한 주기적인 롤아웃 구성

    다음 예에서 cron 스케줄러는 사용자가 편집한 스크립트의 콘텐츠를 하루에 한 번 실행합니다. 값이 3roll 옵션은 dnstap 에서 최대 3개의 백업 로그 파일을 생성할 수 있음을 지정합니다. value 3dnstap-output 변수의 version 매개 변수를 재정의하고 백업 로그 파일 수를 3으로 제한합니다. 또한 바이너리 로그 파일이 다른 디렉터리로 이동하여 이름이 변경되고 3개의 백업 로그 파일이 이미 존재하는 경우에도 .2 접미사에 도달하지 않습니다. 크기 제한에 따라 바이너리 로그를 자동으로 롤링하는 경우 이 단계를 건너뛸 수 있습니다.

    Example:
    
    sudoedit /etc/cron.daily/dnstap
    
    #!/bin/sh
    rndc dnstap -roll 3
    mv /var/named/data/dnstap.bin.1 /var/log/named/dnstap/dnstap-$(date -I).bin
    
    # use dnstap-read to analyze saved logs
    sudo chmod a+x /etc/cron.daily/dnstap
  6. dnstap-read 유틸리티를 사용하여 사람이 읽을 수 있는 형식으로 로그를 처리하고 분석합니다.

    다음 예에서 dnstap-read 유틸리티는 YAML 파일 형식으로 출력을 출력합니다.

    Example:
    
    dnstap-read -y [file-name]
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.