[x] This is not a support question, I have read about opensource and will send support questions to the IRC channel, Github Discussions or the mailing list.
It appears pdns 4.8.4 and 4.9.1 are not able to process TSIG update when request includes client subnet header, providing no error message, but closing connection abruptly. In my current setup, dnsdist 1.9.5 is fronting pdns 4.9.1.
Please note non TSIG request with client subnet header are properly processed.
When dnsdist uses UDP to connect to pdns, dnsdist is reporting the following error:
Jul 20 12:26:18 pdns.internal dnsdist[96450]: Got query for pants-off.xyz|SOA from [xxxx:xxxx:xxxx:xxxx:d847:7e51:510e:61fa]:33405, relayed to [::1]:29053
Jul 20 12:26:19 pdns.internal dnsdist[96450]: Had a downstream timeout from [::1]:29053 () for query for pants-off.xyz|SOA from [xxxx:xxxx:xxxx:xxxx:d847:7e51:510e:61fa]:33405
Although pdns does not report any log or error, even with loglevel=7.
TCP use case
When dnsdist uses UDP to connect to pdns (or forced with tcpOnly=true), dnsdist is reporting the following error:
Jul 20 12:28:21 pdns.internal dnsdist[96491]: Got query for pants-off.xyz|SOA from [xxxx:xxxx:xxxx:xxxx:d847:7e51:510e:61fa]:9306 (DoUDP, 155 bytes), relayed to [::1]:29053
Jul 20 12:28:21 pdns.internal dnsdist[96491]: Got an exception while handling (reading from backend) TCP query from [xxxx:xxxx:xxxx:xxxx:d847:7e51:510e:61fa]:9306: EOF while reading message
Again here, pdns does not report any log or error, even with loglevel=7.
Environment
Operating system: Gentoo
Software version: dnsdist 1.9.5, pdns 4.9.1.
Software source: Operating system repository
Steps to reproduce
See above for configuration detail
Expected behaviour
I would expect:
pdns to report why the request are being rejected
pdns to process the request
Actual behaviour
nsupdate -y ... times out on the client side.
Other information
Setting edns-subnet-processing=true in pdns configuration does not affect the behaviour.
Setting useClientSubnet=false in dnsdist allow requests to be processed successfully.
I have also made an analyziz comparing network level bytes from the client side and what is being received by pdns after dnsdist, there are not notable changes: DNS transaction ID and added client subnet header:
Hey, thanks for the extensive ticket! However, we don't consider this a bug. ECS really modifies the packet, and thus breaks TSIG signatures. I'm converting this to a Discussion and we'll take it from there.
Short description
It appears pdns 4.8.4 and 4.9.1 are not able to process TSIG update when request includes client subnet header, providing no error message, but closing connection abruptly. In my current setup, dnsdist 1.9.5 is fronting pdns 4.9.1.
Please note non TSIG request with client subnet header are properly processed.
UDP use case
When dnsdist uses UDP to connect to pdns, dnsdist is reporting the following error:
Although pdns does not report any log or error, even with loglevel=7.
TCP use case
When dnsdist uses UDP to connect to pdns (or forced with
tcpOnly=true
), dnsdist is reporting the following error:Again here, pdns does not report any log or error, even with loglevel=7.
Environment
Steps to reproduce
See above for configuration detail
Expected behaviour
I would expect:
Actual behaviour
nsupdate -y ...
times out on the client side.Other information
edns-subnet-processing=true
in pdns configuration does not affect the behaviour.useClientSubnet=false
in dnsdist allow requests to be processed successfully.I have also made an analyziz comparing network level bytes from the client side and what is being received by pdns after dnsdist, there are not notable changes: DNS transaction ID and added client subnet header:
DNS payload in hex format sent by the client:
DNS payload in hex format received by the pdns: