diff options
| author | Mel <einebeere@gmail.com> | 2024-10-27 22:05:25 +0100 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2024-10-27 22:05:25 +0100 |
| commit | 2fc26761a1e93e6212845ebd005eab71da704d6e (patch) | |
| tree | 2e2f5666ba315c9d3ba038e7e0617171268b8262 /modules/dns.nix | |
| parent | 1e0eca0bcbfc338a585842c65c4b48d62d79728d (diff) | |
| download | network-2fc26761a1e93e6212845ebd005eab71da704d6e.tar.zst network-2fc26761a1e93e6212845ebd005eab71da704d6e.zip | |
Add global dns-blocking dnsmasq service
Signed-off-by: Mel <einebeere@gmail.com>
Diffstat (limited to 'modules/dns.nix')
| -rw-r--r-- | modules/dns.nix | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/modules/dns.nix b/modules/dns.nix new file mode 100644 index 0000000..c3512e4 --- /dev/null +++ b/modules/dns.nix @@ -0,0 +1,40 @@ +{ oisd, ... }: + +let + cloudflareServers = [ + "1.1.1.1" "1.0.0.1" + "2606:4700:4700::1111" "2606:4700:4700::1001" + ]; + + quad9Servers = [ + "9.9.9.9" "149.112.112.112" + "2620:fe::fe" "2620:fe::9" + ]; + + upstreamServers = cloudflareServers ++ quad9Servers; +in +{ + services.resolved.enable = false; + + services.dnsmasq = { + enable = true; + + # Ref: https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html + settings = { + interface = [ "enp1s0" "tailscale0" ]; + bind-dynamic = true; + + server = upstreamServers; + cache-size = 4096; + + no-resolv = true; + bogus-priv = true; + domain-needed = true; + localise-queries = true; + + conf-file = "${oisd}/dnsmasq2_big.txt"; + + log-queries = true; + }; + }; +} |
