DNS

DNS 8 NXRRSET vs 16 BADVERS/BADSIG

Both DNS 8 (NXRRSET) and 16 (BADVERS/BADSIG) belong to the DNS Response Codes (RCODEs) category. 8 indicates that rR Set that should exist does not. A required resource record set is missing from the zone. Meanwhile, 16 means that bad OPT Version or TSIG Signature Failure. Either the EDNS version in the OPT record is not supported, or the TSIG signature on the message failed verification.

Description

RR Set that should exist does not. A required resource record set is missing from the zone.

When You See It

A DNS UPDATE prerequisite expected a certain RRset to exist (e.g., an MX record), but the zone does not contain it.

How to Fix

Create the missing RRset in the zone before retrying the update, or change the prerequisite to not require its existence.

Description

Bad OPT Version or TSIG Signature Failure. Either the EDNS version in the OPT record is not supported, or the TSIG signature on the message failed verification.

When You See It

As BADVERS: your client sent an EDNS version higher than the server supports. As BADSIG: the TSIG MAC on the message did not match, indicating a shared-secret mismatch or message tampering.

How to Fix

For BADVERS, downgrade the EDNS version (most servers support version 0 only). For BADSIG, regenerate and re-synchronize the TSIG shared secret on both endpoints.

Key Differences

1.

DNS 8: RR Set that should exist does not. A required resource record set is missing from the zone.

2.

DNS 16: Bad OPT Version or TSIG Signature Failure. Either the EDNS version in the OPT record is not supported, or the TSIG signature on the message failed verification.

3.

You encounter 8 when a DNS UPDATE prerequisite expected a certain RRset to exist (e.g., an MX record), but the zone does not contain it.

4.

You encounter 16 when as BADVERS: your client sent an EDNS version higher than the server supports. As BADSIG: the TSIG MAC on the message did not match, indicating a shared-secret mismatch or message tampering.

When to Use Which

For 8 (NXRRSET): Create the missing RRset in the zone before retrying the update, or change the prerequisite to not require its existence. For 16 (BADVERS/BADSIG): For BADVERS, downgrade the EDNS version (most servers support version 0 only). For BADSIG, regenerate and re-synchronize the TSIG shared secret on both endpoints.

Learn More