DNS Debug Logging
Olá a todos,
Ultimamente tenho trabalhado em diversos problemas relacionados com DNS e em alguns deles o debug logging tradicional do serviço de DNS não foi suficiente para perceber o que se estava a passar. Neste tipo de situações, existe um log adicional que pode ser activado durante a fase de troubleshooting: o Extended DNS debug log.
Para activar o Extended DNS debug log devem acrescentar ou alterar as seguintes chaves de registo no servidor de DNS, tomando nota das alterações para mais facilmente serem revertidas assim que o teste/recolha de dados esteja completo.
Localização da chave:
HKLM\SYSTEM\CurrentControlSet\Services\DNS\Parameters
Name: OperationsLogLevel
Type: DWORD
Value: ffffffff (8 x f´s)
Name: OperationsLogLevel2
Type: DWORD
Value: ffffffff (8 x f´s)
Name: LogFileMaxSize
Type: DWORD
Value: EE6B2800
Default Value: 1DCD6500
Deverá reiniciar o serviço do DNS server após alterar estas chaves.
No seguinte artigo podem encontrar mais informação sobre os eventos registados após aplicar as chaves de registo OperationsLogLevel e OperationsLogLevel2:
3.1.1.1.1 DNS Server Integer Properties
https://msdn.microsoft.com/en-us/library/cc422472(PROT.10).aspx
Em relação ao LogFileMAxSize poderá sempre activar um máximo de 4GB.
Depois de activar o Extended debug logging a informação é guardada no seguinte ficheiro:
"%SystemRoot%\system32\dns\backup\dns.log"
O conteúdo deste log é semelhante ao seguinte:
"\r\nMessage logging key (for packets - other items use a subset of these fields):\r\n"
"\tField # Information Values\r\n"
"\t------- ----------- ------\r\n"
"\t 1 Date\r\n"
"\t 2 Time\r\n"
"\t 3 Thread ID\r\n"
"\t 4 Context\r\n"
"\t 5 Internal packet identifier\r\n"
"\t 6 UDP/TCP indicator\r\n"
"\t 7 Send/Receive indicator\r\n"
"\t 8 Remote IP\r\n"
"\t 9 Xid (hex)\r\n"
"\t 10 Query/Response R = Response\r\n"
"\t blank = Query\r\n"
"\t 11 Opcode Q = Standard Query\r\n"
"\t N = Notify\r\n"
"\t U = Update\r\n"
"\t ? = Unknown\r\n"
"\t 12 [ Flags (hex)\r\n"
"\t 13 Flags (char codes) A = Authoritative Answer\r\n"
"\t T = Truncated Response\r\n"
"\t D = Recursion Desired\r\n"
"\t R = Recursion Available\r\n"
"\t 14 ResponseCode ]\r\n"
"\t 15 Question Type\r\n"
"\t 16 Question Name\r\n\r\n"
Informação de Disco/Logging:
"The disk is dangerously full.\nNo more logs will be written until disk space is freed."
"ERROR: disk full while logging, %d bytes free\n",
"GetDiskFreeSpaceExW failed %d\n",
"ERROR %d writing %d bytes to log file\n",
"DNS Server log file creation at %s\r\n",
"ERROR %d backing up log file %S to %S\n",
"ERROR %d opening log file %S\n",
"Initialized logging: level = %p, handle = %d\n",
"Error %d setting log file to %S\n",
Informação de Frames enviadas/Recebidas:
"PACKET" "TCP" "UDP" "Snd" : "Rcv"
Eventos relacionados com Cache:
"Cache locking prevented a name error response from being cached.\r\n" ));
"Cache locking prevented a record from being cached.\r\n" ));
"Domain name: %s\r\n",
"Record already in cache: cached name error\r\n" );
"Record already in cache: type %u",
"Total cache time (seconds): %u\r\n"
"Cache time already passed (seconds): %u\r\n",
"Detail about record locked in cache:\n",
Na maioria das situações este log será mais útil se for recolhido em conjunto com uma captura de rede e com o DNS Debug Log tradicional, que poderá ser activado da seguinte forma:
https://technet.microsoft.com/en-us/library/cc776361(WS.10).aspx
Sérgio