[dnsdist] dnsdist and PROXYv2 testing - accepting TCP connections when an upstream server is available
Oto Šťáva
oto.stava at nic.cz
Mon Jan 31 15:50:11 UTC 2022
Hello,
firstly, I want to thank everyone involved for making dnsdist available,
it has helped me greatly these past few weeks with implementing and
testing support for the PROXYv2 protocol in Knot Resolver [1] here at
CZ.NIC.
I would like to incorporate dnsdist into our CI testing suite to test
PROXYv2 automatically. We use our DNS testing harness Deckard [2] for
this type of tests. I want to run dnsdist inside Deckard to send queries
through it to a Knot Resolver instance that would be running there
alongside it.
Deckard detects a server's "readiness" by trying to establish a TCP
connection: when the server accepts the connection, Deckard deems it
ready and when all servers are ready, the testing begins. However, I
have run into a problem - dnsdist seems to accept TCP connections even
when it has not successfully made a heartbeat with any upstream servers,
and discards any queries over that connection until an upstream server
is available to it.
I have been looking through the dnsdist docs and what I am looking for
is probably currently not available, but I would like to ask first
before deciding on what to do next: Is there a way to make dnsdist
refuse all TCP connections while there are no upstream servers
available? If not, do you have any suggestions on how to properly detect
dnsdist's readiness?
[1] https://gitlab.nic.cz/knot/knot-resolver/-/merge_requests/1238
[2] https://gitlab.nic.cz/knot/deckard/blob/master/README.rst
Best regards
Oto Šťáva @ CZ.NIC
More information about the dnsdist
mailing list