Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Work with default(google) but not with others #11

Closed
sebaxakerhtc opened this issue Jun 30, 2022 · 8 comments
Closed

Work with default(google) but not with others #11

sebaxakerhtc opened this issue Jun 30, 2022 · 8 comments
Assignees

Comments

@sebaxakerhtc
Copy link

sebaxakerhtc commented Jun 30, 2022

Hi there, nice project!
I found this today and i think is awesome project!
But, i try to use it and i can't get it working with custom DoH
This works fine:
sudo dnss -enable_dns_to_https
This works fine too (by IP, but that's wrong):
sudo dnss -enable_dns_to_https -https_upstream "https://1.1.1.1/dns-query"
But this is not:
sudo dnss -enable_dns_to_https -https_upstream "https://cloudflare-dns.com/dns-query"
And this is not work:

sudo dnss -enable_dns_to_https \
-fallback_upstream 1.1.1.1:53 \
-fallback_domains cloudflare-dns.com \
-https_upstream "https://cloudflare-dns.com/dns-query"

Of cource it doesn't work with Quad9 and my own DoH

Another good idea to add helpful info to readme:
To get it working you should disable and stop original resolver which use port 53
This happens if not

sudo systemctl disable systemd-resolved.service
sudo systemctl stop systemd-resolved
sudo systemctl restart dnss

I hope you can help.
Cheers!

@albertito
Copy link
Owner

Thanks for reporting this!

There are integration tests in tests/external.sh which validate that dnss works with some of the public providers, including all the ones you mentioned (cloudflare via ip, cloudflare via domain, quad9). They're run on each commit and weekly from gitlab-ci, and I just run them again from my workstation, and they are all passing.

So I wonder what's causing the failures for you.

Can you run dnss with -v=3, which enables debug logging, and paste the output here so we can debug this further?

Thank you!

@albertito albertito self-assigned this Jun 30, 2022
@sebaxakerhtc
Copy link
Author

sebaxakerhtc commented Jul 1, 2022

Thanks for reporting this!

There are integration tests in tests/external.sh which validate that dnss works with some of the public providers, including all the ones you mentioned (cloudflare via ip, cloudflare via domain, quad9). They're run on each commit and weekly from gitlab-ci, and I just run them again from my workstation, and they are all passing.

So I wonder what's causing the failures for you.

Can you run dnss with -v=3, which enables debug logging, and paste the output here so we can debug this further?

Thank you!

-v (1,2,3) do not show additional info.
Command:
sudo dnss -enable_dns_to_https -https_upstream "https://cloudflare-dns.com/dns-query" -force_mode DoH -v 3
Output when i try to open any website:

_ server.go:166      DNS listening on :53
_ server.go:134      resolver query error: POST failed: Post https://cloudflare-dns.com/dns-query: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
_ server.go:134      resolver query error: POST failed: Post https://cloudflare-dns.com/dns-query: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
_ server.go:134      resolver query error: POST failed: Post https://cloudflare-dns.com/dns-query: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
_ server.go:134      resolver query error: POST failed: Post https://cloudflare-dns.com/dns-query: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

@sebaxakerhtc
Copy link
Author

It work with only one additional option
-fallback_domains string
My mistake was on "dot" at the end of domain name
I should use dns.quad9.net. instead of dns.quad9.net

yes

@sebaxakerhtc
Copy link
Author

sebaxakerhtc commented Jul 1, 2022

@albertito
can you explain how to use 2 ip addresses in

-fallback_upstream string

Can i use it like

   -fallback_upstream 1.1.1.1:53 \
   -fallback_upstream 1.0.0.1:53

? Will it work normally?
I'm a paranoic who want to use only my selfhosted DoT, DoH and DNS.
I don't want to use any default(google) requests. Even to request where is my DoH located.
Thank you!

@albertito
Copy link
Owner

What version of dnss are you using? -fallback_domains is deprecated and hasn't been doing anything for a while. Maybe you're running an older version?

As for your latter question: only one -fallback_upstream value is allowed. If more than one is present, the last one will be used.

If you want to completely self-host, which is totally supported by dnss, you just need to set -fallback_upstream and -https_upstream to the servers of your choosing. dnss shouldn't contact anything else.

And you can also use dnss as the DoH server. You have to set -enable_https_to_dns and then the DNS server to use, and TLS certs (or -insecure_http_server if you're running it behind your own proxy).

I hope this helps! Thanks!

@sebaxakerhtc
Copy link
Author

sebaxakerhtc commented Jul 2, 2022

What version of dnss are you using?

From apt | Ubuntu 22.04

seba@RTX4000:~$ apt search dnss
Sorting... Done
Full Text Search... Done

dnss/jammy 0.0~git20200927.0.6aad832e-2build1 amd64
  Proxy for using DNS over HTTPS

As for your latter question: only one -fallback_upstream value is allowed. If more than one is present, the last one will be used.

That's sad. Can you add support for second IP? For redundancy.
If one of servers is down - it still will work
Even windows have this settings LoL
windows

@albertito
Copy link
Owner

Ah! That would explain the issue you're seeing. The problem was fixed in commit 5567591 in 2021-03.

I will work with Debian folks to get that package updated. I suggest you build a newer version built from the master branch, then that option shouldn't be needed.

And yeah, adding an option for multiple fallbacks sound reasonable, I will add it to the TODO list. Thanks!

@sebaxakerhtc
Copy link
Author

The problem was fixed in commit 5567591 in 2021-03.

Builded successfully master with GO.
Now I see "deprecated"

I will add it to the TODO list. Thanks!

It will be great!
Thank you so much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants