DNS

DNS 3 NXDOMAIN vs 22 BADTRUNC

Both DNS 3 (NXDOMAIN) and 22 (BADTRUNC) belong to the DNS Response Codes (RCODEs) category. 3 indicates that non-Existent Domain. The queried domain name does not exist in the DNS namespace. Meanwhile, 22 means that bad truncation. The TSIG record was truncated in a way that makes it impossible to verify the message signature.

描述

Non-Existent Domain. The queried domain name does not exist in the DNS namespace.

何时出现

The domain has no DNS records at all — either it was never registered, has expired, or you have a typo in the hostname.

如何修复

Double-check the domain spelling. If you own the domain, verify your registrar settings and ensure the nameservers are correctly delegated.

描述

Bad truncation. The TSIG record was truncated in a way that makes it impossible to verify the message signature.

何时出现

A large DNS response was truncated (TC bit set) but the TSIG MAC was computed over the full message, making the truncated version unverifiable.

如何修复

Retry the query over TCP to avoid truncation. If using UDP, ensure your EDNS buffer size is large enough to receive the full signed response.

主要区别

1.

DNS 3: Non-Existent Domain. The queried domain name does not exist in the DNS namespace.

2.

DNS 22: Bad truncation. The TSIG record was truncated in a way that makes it impossible to verify the message signature.

3.

You encounter 3 when the domain has no DNS records at all — either it was never registered, has expired, or you have a typo in the hostname.

4.

You encounter 22 when a large DNS response was truncated (TC bit set) but the TSIG MAC was computed over the full message, making the truncated version unverifiable.

何时使用哪个

For 3 (NXDOMAIN): Double-check the domain spelling. If you own the domain, verify your registrar settings and ensure the nameservers are correctly delegated. For 22 (BADTRUNC): Retry the query over TCP to avoid truncation. If using UDP, ensure your EDNS buffer size is large enough to receive the full signed response.

了解更多