DNS check Knowledge Base

TCP availability check

Prerequisites:

None.

Package:

Availability.

Executed on:

All nameserver IP addresses.

Check interval:

Every 5 minutes.

Impact on Availability:

Medium-Low.

Impact on Integrity:

None.

Purpose

All DNS servers are required to be able to respond to queries over TCP.

RFC 5966 states that all general-purpose DNS implementations MUST support both UDP and TCP transport. DNS resolver servers typically use TCP when expecting a large response packet that runs the risk of being truncated or fragmented.

The inability to respond to DNS queries over TCP will affect the overall functionality of DNS.

Inability to respond to DNS queries over TCP will impair the overall DNS functionality.

Event severities and messages

INFO

TCP connection successful.
The DNS server has the zone loaded and responds to queries over TCP.

ERROR

Query attempt timed out.
The server timed out while trying to connect. This error can be caused by two possible scenarios:

  • the DNS server is not configured to allow TCP connections, or
  • network equipment like a firewall or IPS drops incoming TCP connections to the DNS server.

Unexpected response from server: {response code}
The DNS has responded with an error code. The error code will most likely contain information about the reason for the error.

UNKNOWN

Unable to perform check due to input data failure.
If this message appears, it is usually because one of the queries leading up to the final query has received an empty or garbled query response. Please report this via the normal support channel.

Corrupt or malformed response from nameserver.
The check received a query response with unreadable data fields. Please report this through the normal support channel.

The name server can’t be reached on its UDP port, so running this check is pointless.
The name server is pretty much effectively down. Most DNS queries use UDP as transport and won’t fall back to TCP if the UPD port is unreachable.

Solutions, tips & tricks

Make sure the DNS servers and adjacent firewalls are configured to allow for TCP queries.

Ensure that the DNS servers and adjacent firewalls are configured to allow TCP queries. Pay particular attention to whether certain network security devices can be configured to handle (drop/reject/allow) different DNS query types, classes and query options. Ensure that non-recursive DNS queries are allowed for the IN class.