DNS 10 NOTZONE vs 22 BADTRUNC
Both DNS 10 (NOTZONE) and 22 (BADTRUNC) belong to the DNS Response Codes (RCODEs) category. 10 indicates that name not contained in zone. A name used in the Prerequisite or Update section is not within the zone denoted by the Zone section. Meanwhile, 22 means that bad truncation. The TSIG record was truncated in a way that makes it impossible to verify the message signature.
Description
Name not contained in zone. A name used in the Prerequisite or Update section is not within the zone denoted by the Zone section.
When You See It
Your dynamic update tried to modify a record that falls outside the zone specified in the update message (e.g., updating foo.example.org in the example.com zone).
How to Fix
Ensure all names in the update are within the target zone. Check for typos in the zone name or the records being updated.
Description
Bad truncation. The TSIG record was truncated in a way that makes it impossible to verify the message signature.
When You See It
A large DNS response was truncated (TC bit set) but the TSIG MAC was computed over the full message, making the truncated version unverifiable.
How to Fix
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.
Key Differences
DNS 10: Name not contained in zone. A name used in the Prerequisite or Update section is not within the zone denoted by the Zone section.
DNS 22: Bad truncation. The TSIG record was truncated in a way that makes it impossible to verify the message signature.
You encounter 10 when your dynamic update tried to modify a record that falls outside the zone specified in the update message (e.g., updating foo.example.org in the example.com zone).
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.
When to Use Which
For 10 (NOTZONE): Ensure all names in the update are within the target zone. Check for typos in the zone name or the records being updated. 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.