1.3. BIND DNS 서버에 로깅 구성
bind
패키지에서 제공하는 대로 기본 /etc/named.conf
파일의 구성은 default_debug
채널을 사용하고 /var/named/data/named.run
파일에 메시지를 기록합니다. default_debug
채널은 서버의 디버그 수준이 0이 아닌 경우에만 로그 항목입니다.
다양한 채널 및 카테고리를 사용하여 파일을 분리하기 위해 정의된 심각도가 있는 다양한 이벤트를 작성하도록 BIND를 구성할 수 있습니다.
사전 요구 사항
- BIND가 이미 구성되어 있습니다(예: 캐싱 이름 서버).
-
named
또는named-chroot
서비스가 실행 중입니다.
절차
/etc/named.conf
파일을 편집하고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; }; ... };
이 예제 설정을 사용하면 BIND에서 영역 전송과 관련된 메시지를
/var/named/log/transfer.log
로 기록합니다. BIND에서 최대10
개의 버전의 로그 파일을 생성하고 최대50
MB에 도달하면 순환합니다.카테고리
문구는 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 named
변경 루트 환경에서 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
추가 리소스
-
named.conf(5)
man page