• DNS 서비스 중 볼 수 있는 log들을 확인하고 참고하기 위한 노트 (Update: Apr 27, 2021)

환경 구성

  • OS: CentOS 7
  • Service: DNS, Bind 9

로그 확인 1

Jan 25 01:31:41 DNSSVR1 named[4431]: error (unexpected RCODE SERVFAIL) resolving 'www.example.co.kr/A/IN': 192.168.195.5#53
Jan 25 01:31:45 DNSSVR1 named[4431]: error (unexpected RCODE SERVFAIL) resolving 'admin.example.co.kr/A/IN': 192.168.195.5#53

Jan 25 02:35:38 DNSSVR1 named[4431]: error (connection refused) resolving 'img1.example.com/A/IN': 192.168.154.117#53
Jan 25 02:39:37 DNSSVR1 named[4431]: error (connection refused) resolving 'img2.example.com/A/IN': 192.168.154.117#53

Resolution
참조1) Why named logs ‘error (unexpected RCODE REFUSED) resolving’ in messages file?
참조2) Lame server 관련된 DNS 에러메시지 처리하기
; 예기치 않은 RCODE SERVFAIL / REFUSED / FORMERR 오류는 다른 서버 또는 네트워크에서 간헐적으로 발생하는 문제입니다. (때때로 패킷이 삭제되거나 서버의 질의 쿼리가 다른 서버의 클라이언트 제한을 초과하는 등) named 자체의 문제를 나타내지 않으며 named.conf 파일에서 아래 옵션으로 메시지를 억제할 수 있습니다.

logging {
(...생략...)
category lame-servers { null; };
(...생략...)
};

로그 확인 2

Jan 25 03:08:47 DNSSVR1 named[4431]: error (FORMERR) resolving 'web.example.io/AAAA/IN': 192.168.149.62#53
Jan 25 03:08:53 DNSSVR1 named[4431]: error (FORMERR) resolving 'web.example.io/AAAA/IN': 192.168.149.62#53

Jan 21 11:16:15 DNSSVR1 named[6009]: error (network unreachable) resolving 'ns1.example.co.uk/AAAA/IN': 0000:fd80:000::1#53
Jan 21 11:16:24 DNSSVR1 named[6009]: error (network unreachable) resolving 'ns2.example.net/A/IN': 0000:1ec:000::4#53

Resolution
참조1) Why /var/log/messages are full of “named[xxxx]: error (FORMERR) resolving ‘******/AAAA/IN’: xx.xx.xx.xx#53” error logs?
참조2) bind IPv6 설정 제거
; 이 메시지는 IPv6 사용으로 인해 발생합니다.

$ tail -1 /etc/sysconfig/named
OPTIONS=-4

# service named restart
# -4 설정은 IPv4환경으로 동작, -6 설정은 IPv6 동작

로그 확인 3

Jan 25 05:25:51 DNSSVR1 named[4431]: client 192.168.103.246#30100 (sl): query (cache) 'sl/ANY/IN' denied
Jan 25 05:25:51 DNSSVR1 named[4431]: client 192.168.219.45#80 (sl): query (cache) 'sl/ANY/IN' denied

Resolution
참조1) 네임서버(bind 9)에서 로그 설정(logging)
참조2) named query cache denied
; 네임서버에 zone 파일 자체가 없는데 아래와 같은 denied 로그가 쌓입니다. 불필요하다면 /etc/named.conf 파일에 category security null 옵션을 추가합니다.

logging {
(...생략...)
category security { null; };
(...생략...)
};

도움되는 글