4.4. BIND DNS 서버에서 로깅 구성
bind 패키지에서 제공하는 기본 /etc/named.conf 파일의 구성은 default_debug 채널을 사용하고 메시지를 /var/named/data/named.run 파일에 기록합니다. default_debug 채널은 서버의 디버그 수준이 0이 아닌 경우에만 항목을 기록합니다.
서로 다른 채널 및 카테고리를 사용하여 파일을 분리하기 위해 정의된 심각도가 있는 다양한 이벤트를 작성하도록 BIND를 구성할 수 있습니다.
사전 요구 사항
- 예를 들어 BIND는 캐싱 이름 서버로 이미 구성되어 있습니다.
-
named또는named-chroot서비스가 실행 중입니다.
절차
/etc/named.conf파일을 편집하고 다음과 같이category및channelphrases를logging구문에 추가합니다. 예를 들면 다음과 같습니다.logging { ... category notify { zone_transfer_log; }; category xfer-in { zone_transfer_log; }; category xfer-out { zone_transfer_log; }; channel zone_transfer_log { file "/var/named/log/transfer.log" versions 10 size 50m; print-time yes; print-category yes; print-severity yes; severity info; }; ... };이 예제 구성을 사용하여 영역 전송과 관련된 메시지를
/var/named/log/transfer.log로 기록합니다. BIND에서는 로그 파일의 최대10개의 버전을 생성하고 최대50MB의 크기에 도달하면 순환합니다.categoryphrase는 카테고리 메시지를 전송하는 채널 BIND를 정의합니다.채널문구는 버전 수, 최대 파일 크기, 심각도 수준 BIND가 채널에 기록해야 하는 등 로그 메시지의 대상을 정의합니다. 이벤트의 타임 스탬프, 카테고리 및 심각도 로깅 활성화와 같은 추가 설정은 선택 사항이지만 디버깅 목적에 유용합니다.로그 디렉터리가 없는 경우 생성하고 이 디렉터리의
named사용자에게 쓰기 권한을 부여합니다.# mkdir /var/named/log/ # chown named:named /var/named/log/ # chmod 700 /var/named/log//etc/named.conf파일의 구문을 확인합니다.# named-checkconf명령이 출력을 표시하지 않으면 구문이 올바르게 표시됩니다.
BIND를 다시 시작합니다.
# systemctl restart namedchange-root 환경에서 BIND를 실행하는 경우
systemctl restart named-chroot명령을 사용하여 서비스를 다시 시작합니다.
검증
로그 파일의 내용을 표시합니다.
# cat /var/named/log/transfer.log ... 06-Jul-2022 15:08:51.261 xfer-out: info: client @0x7fecbc0b0700 192.0.2.2#36121/key example-transfer-key (example.com): transfer of 'example.com/IN': AXFR started: TSIG example-transfer-key (serial 2022070603) 06-Jul-2022 15:08:51.261 xfer-out: info: client @0x7fecbc0b0700 192.0.2.2#36121/key example-transfer-key (example.com): transfer of 'example.com/IN': AXFR ended