Replies: 1 comment 1 reply
-
dnsdist listed DoQ as listening. But, so far scracthing my head over this :
result being server down. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I see in #13933 (comment):
Let me register my interest in having support for outgoing DoQ :-)
More specifically, I'd like to describe a use case that I don't think can currently be supported.
I am interested in the possibility of using dnsdist as a frontend for Knot DNS, over the Internet, and passing the source addresses of UDP/TCP clients to the backend Knot DNS server via the PROXYv2 header.
According to the dnsdist documentation, there are four supported protocols for reaching the backend ("downstream") server according to https://dnsdist.org/guides/downstreams.html#securing-the-path-to-the-backend:
Low security UDP should not be used over the Internet:
According to https://dnsdist.org/advanced/passing-source-address.html, PROXYv2 is per-connection (not per-message) for DNS-over-TCP and DNS-over-TLS, so those backend protocols cannot be used for multiplexing queries from frontend UDP/TCP clients with many different source addresses.
That apparently leaves DNS-over-HTTPS as a backend protocol which may support PROXYv2 (I could not find documentation that says dnsdist doesn't support DoH + PROXYv2). However, Knot DNS does not have support for DNS-over-HTTPS in the server.
Knot DNS does have support for DNS-over-QUIC, but dnsdist does not (on the backend side). Moreover, even if dnsdist supported DoQ to backends, Knot DNS only supports PROXYv2 on UDP queries:
https://github.com/CZ-NIC/knot/blob/55ce3c48434cb44fdb4447cbe8ffdf765e4b06f5/src/knot/server/handler.c#L32-L41
If dnsdist had support for DoQ to backends, that would leave the question of how to combine DoQ + PROXYv2. The behavior with UDP could be emulated (just prepend the PROXYv2 header to the front of the query message), but maybe the better option would be to register a new TLS ALPN ID like
doq+proxy
or something like that and use the ALPN ID to cleanly distinguish between wire format DNS and wire format DNS with a PROXYv2 header prepended.Beta Was this translation helpful? Give feedback.
All reactions