-
Notifications
You must be signed in to change notification settings - Fork 63
Description
Operating System
DietPi
Architecture
64-bit
Platform
Linux
Project
Unbound, DNScrypt
Browser
Firefox, Chrome, Other
Issue
Other (explain in description)
Issue Description
I believe I'm having the same issue as #59, but I didn't want to necro.
Both Unbound and DNScrypt-proxy are running on the same Pi. Unbound is running on port 5335
, DNScrypt-proxy on 6053
. If I dig google.com @127.0.0.1 -p 6053
Google resolves to an IP.
If I attempt to dig google.com @127.0.0.1 -p 5335
with the config below, I don't get an answer. I just trimmed it to what I believe is relevant. Only DNScrypt's forward-addr
s are uncommented.
server:
tls-cert-bundle: /etc/ssl/certs/ca-certificates.crt
forward-zone:
name: "."
forward-tls-upstream: yes
# DNScrypt proxy
forward-addr: 127.0.0.1@6053
forward-addr: ::1@6053
Checking the logs with verbosity
at 1, I get a lot of:
DietPi unbound[1944]: [1944:0] error: ssl handshake failed crypto error:00000000:lib(0)::reason(0)
DietPi unbound[1944]: [1944:0] notice: ssl handshake failed 127.0.0.1 port 6053
DietPi unbound[1944]: [1944:0] error: ssl handshake failed crypto error:00000000:lib(0)::reason(0)
DietPi unbound[1944]: [1944:0] notice: ssl handshake failed ::1 port 6053
If I set forward-tls-upstream
to no
, dig google.com @127.0.0.1 -p 5335
now resolves.
So what I suspect is that when forward-tls-upstream
is yes
, Unbound is correctly attempting to DoT to DNScrypt-proxy, but DNScrypt-proxy only works with regular DNS requests, giving us the ssl handshake failed crypto
. I don't believe there is way to make it so Unbound does not attempt this for a single forward-addr
, only at a forward-zone
level and I think you can only have one "."
forward-zone. Unbound correctly resolves domains when configured with the other forward-addr
s (I can't speak for Stubby).
I am not intimately familiar with these technologies so I admit I could be entirely wrong about this. If I'm not, then Unbound and DNScrypt config section needs to be updated. Also if DNScrypt would then not be accessed only by Unbound, then probably best to enable DNScrypt's caching. Or maybe keep caching disabled and also disable Unbound and have Adguard Home/Pi-Hole handle caching.
If Unbound can make DoH requests then maybe you can setup DNScrypt to accept DoH requests and then still have DNScrypt handle the related. I believe you can make Unbound accept DoH requests, but I don't know if it can make DoH requests itself.
Thanks!