-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
DNS encryption #875
DNS encryption #875
Conversation
jackivanov
commented
Apr 17, 2018
•
edited
Loading
edited
- dnscrypt-proxy service for supported *BSDs and Ubuntu.
- AppArmor policies and cgroups limits
- CloudFlare DNS over HTTPS enabled by default for all installations
- Fixes DNS over HTTPS #871
1318f23
to
05be6da
Compare
@@ -7,13 +7,13 @@ | |||
owner: root | |||
group: root | |||
mode: 0600 | |||
when: apparmor_enabled is defined and apparmor_enabled == true | |||
when: apparmor_enabled|default(flase)|bool == true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
false
, same comment below
roles/vpn/tasks/ubuntu.yml
Outdated
@@ -12,7 +12,7 @@ | |||
|
|||
- name: Ubuntu | Enforcing ipsec with apparmor | |||
shell: aa-enforce "{{ item }}" | |||
when: apparmor_enabled is defined and apparmor_enabled == true | |||
when: apparmor_enabled|default(flase)|bool == true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
false
Let's put this in the default configuration, rather than behind the ad blocking role. I assume that many users may want to change between Google and Cloudflare for DNS-over-HTTPS. Is the setting for that exposed in config.cfg? |
You know what, let's switch the default to Cloudflare DNS. Cloudflare deletes a larger amount of data from their logs than Google does: Compare: |
Do you mean without the Y/n prompt? The ad blocking role does not affect to the dns_over_https one. They can be enabled separately or both in the same time. If they are enabled both, dnsmasq will be blocking ads and forwarding requests to Dingo. |
Yes, skip the y/n prompt. Let’s make this the default for everyone. |
24ff5c5
to
d7dde06
Compare
What does Unbound do? Do we need it or can we just use Dingo? |
@dguido Unbound is for CloudFlare. Dingo doesn't support CloudFlare. We can't use Unbound for Google, because GoogleDNS don't provide TLS support, but HTTPS api only. |
If Clouflare only would be an option, cloudflared (argo-tunnel) for DNS-over-HTTPS would be easy to integrate with dnsmasq. https://developers.cloudflare.com/1.1.1.1/dns-over-https/cloudflared-proxy/ |
@beachfork Any benefits compared to Unbound? I don't see a binary for *BSDs |
Oh you're right, there's no *BSDs support for now. As far as I know there is DNS-over-TLS and DNS-over-HTTPS (DoH), cloudflared is for DoH. The Unbound method will get you DNS-over-TLS. |
Right. I'd prefer DNS-over-TLS. At least it's RFCed. And it should be faster in theory |
From benchmarks over the internet DNS-over-TLS seems to be faster! So you're right, Unbound is the universal route. |
eef4322
to
1aaa07f
Compare
Performance should be similar between HTTPS and TLS for our setup. The AlgoVPN server is doing the lookup, and it will do it from a VPS datacenter over a fast, wired connection. I think it's fine to support only DNS-over-HTTPS. There is a draft RFC. It requires HTTP2 with strict cipher suites, so it's pretty good. https://www.ietf.org/id/draft-ietf-doh-dns-over-https-07.txt Let's ditch the Unbound client. I am concerned that it adds too much complexity and it's another random pile of C that we have to stay concerned about. I'm much happier with a simple Go binary with Dingo. |
Damn it. I just noticed that Dingo may have trouble with Cloudflare DNS. Let's use dnscrypt-proxy instead: https://github.com/jedisct1/dnscrypt-proxy |
773256d
to
afe35dd
Compare
afe35dd
to
c92ede5
Compare
This comment has been minimized.
This comment has been minimized.
Stubby uses getdns, which is written in C. I’d like to avoid that, especially for a protocol like DNS with complex parsing required. Dnscrypt-proxy and DNS over HTTPS is what we’re doing! Final answer. |
f3dd1ed
to
b55fb4f
Compare
Niceeee. Let me know when this is ready for review! I'll deploy it and test it. |
@dguido It's ready. You can test it |
b55fb4f
to
dd9d7be
Compare