RCODE

sigla

redes

Significa: Response Code

O código de status de toda resposta DNS, como NOERROR (0), SERVFAIL (2), NXDOMAIN (3) ou REFUSED (5).

O dig o imprime como status na linha HEADER, e o nslookup como o motivo de não achar um nome. É a primeira coisa a ler numa consulta que falhou, porque cada valor aponta um culpado diferente: o próprio nome, o servidor que respondeu ou uma política que recusou a pergunta.

A RFC 1035 definiu seis valores em 1987: 0 sem erro, 1 erro de formato, 2 falha do servidor, 3 erro de nome (NXDOMAIN: o nome não existe), 4 não implementado e 5 recusado, com 6 a 15 reservados num campo de quatro bits. O EDNS acrescenta mais oito bits no registro OPT e forma um código de 12 bits: é ali que vivem BADVERS (16) e BADCOOKIE (23), e o dig imprime o valor combinado.

Cada falha tem causas típicas. A RFC 9520 diz que servidores autoritativos devolvem SERVFAIL quando não têm dados válidos para uma zona, e resolvers em várias situações, entre elas a falha de validação DNSSEC; REFUSED costuma vir de um servidor autoritativo consultado sobre uma zona que não serve, ou de um resolver cuja lista de acesso exclui o cliente. Um resolver precisa guardar a falha em cache por pelo menos um segundo e no máximo cinco minutos.

Duas leituras enganam. NOERROR não quer dizer que chegou resposta: com a seção de resposta vazia é NODATA, que não tem código próprio. E o dig sai com status 0 para qualquer resposta, NXDOMAIN inclusive, então um script precisa ler a linha de status. Os Extended DNS Errors, uma opção do EDNS, explicam um SERVFAIL sem mudar o RCODE.

Também conhecido como: response code, dns response code, dns status, nxdomain, servfail, refused

← Todos os verbetes do glossário