DNS 0 NOERROR vs 22 BADTRUNC
Both DNS 0 (NOERROR) and 22 (BADTRUNC) belong to the DNS Response Codes (RCODEs) category. 0 indicates that no error condition. The query completed successfully and the response contains the requested data. Meanwhile, 22 means that bad truncation. The TSIG record was truncated in a way that makes it impossible to verify the message signature.
설명
No error condition. The query completed successfully and the response contains the requested data.
이 코드를 보게 되는 경우
This is the normal, successful response to any DNS query — the name was resolved and the answer section contains the requested records.
해결 방법
No fix needed. RCODE 0 means the DNS lookup succeeded as expected.
설명
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.
주요 차이점
DNS 0: No error condition. The query completed successfully and the response contains the requested data.
DNS 22: Bad truncation. The TSIG record was truncated in a way that makes it impossible to verify the message signature.
You encounter 0 when this is the normal, successful response to any DNS query — the name was resolved and the answer section contains the requested records.
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 0 (NOERROR): No fix needed. RCODE 0 means the DNS lookup succeeded as expected. 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.