Hello,
at AS50242 we run two recursive resolvers for our ISP customers. Both
resolvers are listening for doh2 with ECDSA SSL certs from
Letsencrypt.
ns1r.levonet.sk
ns2r.levonet.sk
kdig +https is working correctly, however I'm unable to use these DoH
resolvers with Google Chrome (99.0.4844.74) browser on MacOS (12.2.1).
In settings I entered "https://ns2r.levonet.sk" as custom DoH resolver
and I got error: Please verify that this is a valid provider or try
again.
I have enabled Knot debugging for doh and tls and log is flooded with
messages about "incomplete, refusing".
Does anybody have an idea what's wrong? Has Chrome some specific
requirements for DoH servers?
Thanks
Blažej
Mar 15 19:47:44 ns2r kresd[1317767]: [doh ] [0x215d1e0] h2 session
created for 2a02:6ca3:800:0:60c4:dcd1:0000:0000#57880
Mar 15 19:47:44 ns2r kresd[1317767]: [tls ] TLS handshake with
2a02:6ca3:800:0:60c4:dcd1:0000:0000#57880 has completed
Mar 15 19:47:44 ns2r kresd[1317775]: [doh ] [0x168d620] h2 session
created for 2a02:6ca3:800:0:60c4:dcd1:0000:0000#57881
Mar 15 19:47:44 ns2r kresd[1317775]: [tls ] TLS handshake with
2a02:6ca3:800:0:60c4:dcd1:0000:0000#57881 has completed
Mar 15 19:47:45 ns2r kresd[1317771]: [doh ] [0x1016940] h2 session
created for 2a02:6ca3:800:0:60c4:dcd1:0000:0000#57882
Mar 15 19:47:45 ns2r kresd[1317771]: [tls ] TLS handshake with
2a02:6ca3:800:0:60c4:dcd1:0000:0000#57882 has completed
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (begin_headers_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 7
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (begin_headers_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:45 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 15
incomplete, refusing (header_callback)
Mar 15 19:47:46 ns2r kresd[1317767]: [doh ] [0x215d1e0] stream 23
incomplete, refusing (begin_headers_callback)
Show replies by date
Hello.
In settings I entered
"https://ns2r.levonet.sk" as custom DoH resolver
Chromium needs you to add /dns-query, but that doesn't make your URL
work (Linux, chromium 98+99). I can't see why. We have kresd 5.4.4
with doh2 on
https://odvr.nic.cz/dns-query and that seems to work well.
(your cert looks OK)
--Vladimir
Hello,
recursion is allowed only from our IP ranges, so you can not test our resolvers.
Adding /dns-query did the trick, Chrome is loading pages correctly now. Thanks!
But messages "incomplete, refusing" still appear in log. Should I ignore them?
Blažej
st 16. 3. 2022 o 12:06 Vladimír Čunát <vladimir.cunat(a)nic.cz> napísal(a):
Hello.
In settings I entered
"https://ns2r.levonet.sk" as custom DoH resolver
Chromium needs you to add /dns-query, but that doesn't make your URL
work (Linux, chromium 98+99). I can't see why. We have kresd 5.4.4
with doh2 on
https://odvr.nic.cz/dns-query and that seems to work well.
(your cert looks OK)
--Vladimir
--
On 16/03/2022 12.28, Blažej Krajňák wrote:
But messages "incomplete, refusing" still
appear in log. Should I ignore them?
Hi,
these are caused by the fact that we don't support HTTP/2 stream
multiplexing [#619]. We haven't seen any practical implications of that
decision - AFAIK our DoH implementation works fine with all the major
clients (mainly browsers).
The messages may be caused by some traffic that might not even be
related to DoH traffic (e.g. some HTTP scanning / monitoring).
There isn't much to be done about these messages. Either you can ignore
them or contribute the missing HTTP/2 multiplexing implementation.
I'd stick with the first, unless there are proven real-world issues :)
[#619] -
https://gitlab.nic.cz/knot/knot-resolver/-/issues/619
--
Tomas Krizek
PGP: 4A8B A48C 2AED 933B D495 C509 A1FB A5F7 EF8C 4869