-
-
Notifications
You must be signed in to change notification settings - Fork 623
Description
When DNSSEC validation is enabled, Technitium DNS Server fails to resolve the domain “belastingdienst.nl” (dutch tax service). The server repeatedly returns SERVFAIL together with EDE 22 (No Reachable Authority) and EDE 23 (Network Error: ConnectionReset).
When DNSSEC validation is disabled, the domain resolves immediately without any issues.
The failure only occurs during recursive DNSSEC validation performed by Technitium.
Direct TCP queries from the host system and from inside the Docker/LXC container to the authoritative nameservers of belastingdienst.nl succeed without any problems.
This strongly suggests that the issue is inside Technitium’s DNSSEC validation path (EDNS negotiation, fallback logic, or handling of large DNSSEC responses), not in the network.
Environment
- Technitium DNS Server version: 14.3
- Deployment:
- Node 10: Docker (raspberry-pi)
- Node 14: Docker (VM proxmox)
- Node 15: LXC (LXC proxmox, primary node)
- Cluster mode enabled
- DNSSEC validation enabled → failure
- DNSSEC validation disabled → works
- All nodes show identical behavior
Observed behavior
With DNSSEC enabled, queries for belastingdienst.nl return:
- SERVFAIL
- EDE 22 (No Reachable Authority)
- EDE 23 (Network Error: ConnectionReset)
- EDE 13 (Cached Error)
- EDE 3 (Stale Answer)
This happens for both A and AAAA queries.
Expected behavior
Technitium should be able to perform full DNSSEC validation for belastingdienst.nl, including:
- DS lookup at the root zone
- DS lookup at the .nl zone
- DNSKEY lookup at belastingdienst.nl
- EDNS negotiation
- TCP fallback for large DNSSEC responses
What works
- Direct TCP queries from the host (outside Technitium)
Running a TCP query directly to the authoritative nameserver (for example 85.159.100.53) returns a correct NOERROR response with the A record for belastingdienst.nl. - Direct TCP queries from inside the Docker container
Running the same query inside the Technitium container also returns a correct NOERROR response. - With DNSSEC disabled in Technitium
Queries to belastingdienst.nl resolve instantly and correctly.
This confirms that: - TCP/53 works
- UDP works
- The authoritative nameservers respond correctly
- The network path is fine
- Only Technitium’s DNSSEC validation path fails
Reproduction steps
- Enable DNSSEC validation in Technitium
- Ensure no forwarders are configured (recursive mode)
- Query “belastingdienst.nl” through Technitium
- Observe SERVFAIL with EDE 22 and EDE 23
- Disable DNSSEC validation
- Query again → domain resolves normally
Analysis
Because:
• direct TCP queries work from host and container
• UDP works
• TCP/53 is not blocked
• MTU issues are unlikely (large DNSSEC responses succeed directly)
• only Technitium’s recursive DNSSEC validation fails
…it appears to be an issue in Technitium’s DNSSEC validation logic, possibly involving:
• EDNS buffer size negotiation
• fallback to TCP
• handling of large DNSSEC responses
• retry logic between root → .nl → belastingdienst.nl
• or interaction with the recursive resolver’s selection logic
Request
Could you investigate whether Technitium’s DNSSEC validation path has an issue when resolving belastingdienst.nl, especially around EDNS handling or TCP fallback during DNSSEC validation?
I can provide logs or packet captures if needed.