Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
unbound [2020/12/09 22:52]
warmachine created
unbound [2020/12/09 23:07] (current)
warmachine
Line 1: Line 1:
-exit assreference: [[https://docs.pi-hole.net/guides/unbound/]]+for reference: [[https://docs.pi-hole.net/guides/unbound/]]
  
-unbound essentially turns your local pi-hole dns erver into a recursive dns server.  see this for refrence: [[https://social.dnsmadeeasy.com/blog/authoritative-vs-recursive-dns-servers-whats-the-difference/#:~:text=Authoritative name servers store DNS,for storing the domain's records]]. what this means is your dns request come directly from your pi-hole, not through your ISP. this is good for several reasons, primary privacy and speed (although it can be slightly slower at first). instead of your pi-hole forwarding its request upstream to open dns or cloudflare, it is getting its info directly from the root servers. this also minimizes the chance of something like a dns malware attack, that while rare, does happen to ISP's sometimes.+unbound essentially turns your local pi-hole dns erver into a recursive dns server.  see this for refrence: [[https://social.dnsmadeeasy.com/blog/authoritative-vs-recursive-dns-servers-whats-the-difference/#:~:text=Authoritative name servers store DNS,for storing the domain's records]]. \\
  
-see pi-hole section of this wiki first and setup your pi-hole dns server if you have not already+what this means is your dns request come directly from your pi-hole, not through your ISP. this is good for several reasons, primary privacy and speed (although it can be slightly slower at first). instead of your pi-hole forwarding its request upstream to open dns or cloudflare, it is getting its info directly from the root servers. this also minimizes the chance of something like a dns malware attack, that while rare, does happen to ISP's sometimes.\\
  
-ssh to your pi-hole host, then+see pi-hole section of this wiki first and setup your pi-hole dns server if you have not already\\ 
 + 
 +ssh to your pi-hole host, then\\
  
 <code>sudo apt install unbound -y</code> <code>sudo apt install unbound -y</code>
Line 14: Line 16:
  
 <code>nano /etc/unbound/unbound.conf.d/pi-hole.conf</code> <code>nano /etc/unbound/unbound.conf.d/pi-hole.conf</code>
 +
 +paste the following:
 +
 +<code>server:
 +    # If no logfile is specified, syslog is used
 +    # logfile: "/var/log/unbound/unbound.log"
 +    verbosity: 0
 +
 +    interface: 127.0.0.1
 +    port: 5335
 +    do-ip4: yes
 +    do-udp: yes
 +    do-tcp: yes
 +
 +    # May be set to yes if you have IPv6 connectivity
 +    do-ip6: no
 +
 +    # You want to leave this to no unless you have *native* IPv6. With 6to4 and
 +    # Terredo tunnels your web browser should favor IPv4 for the same reasons
 +    prefer-ip6: no
 +
 +    # Use this only when you downloaded the list of primary root servers!
 +    # If you use the default dns-root-data package, unbound will find it automatically
 +    #root-hints: "/var/lib/unbound/root.hints"
 +
 +    # Trust glue only if it is within the server's authority
 +    harden-glue: yes
 +
 +    # Require DNSSEC data for trust-anchored zones, if such data is absent, the zone becomes BOGUS
 +    harden-dnssec-stripped: yes
 +
 +    # Don't use Capitalization randomization as it known to cause DNSSEC issues sometimes
 +    # see https://discourse.pi-hole.net/t/unbound-stubby-or-dnscrypt-proxy/9378 for further details
 +    use-caps-for-id: no
 +
 +    # Reduce EDNS reassembly buffer size.
 +    # Suggested by the unbound man page to reduce fragmentation reassembly problems
 +    edns-buffer-size: 1472
 +
 +    # Perform prefetching of close to expired message cache entries
 +    # This only applies to domains that have been frequently queried
 +    prefetch: yes
 +
 +    # One thread should be sufficient, can be increased on beefy machines. In reality for most users running on small networks or on a single machine, it should be unnecessary to seek performance enhancement by increasing num-threads above 1.
 +    num-threads: 1
 +
 +    # Ensure kernel buffer is large enough to not lose messages in traffic spikes
 +    so-rcvbuf: 1m
 +
 +    # Ensure privacy of local IP ranges
 +    private-address: 192.168.0.0/16
 +    private-address: 169.254.0.0/16
 +    private-address: 172.16.0.0/12
 +    private-address: 10.0.0.0/8
 +    private-address: fd00::/8
 +    private-address: fe80::/10</code>
  
 uncomment the root config line: uncomment the root config line:
-<code>#root-hints: "/var/lib/unbound/root.hints"<code>+<code>#root-hints: "/var/lib/unbound/root.hints"</code>
  
 exit and save (control x, y)  exit and save (control x, y) 
  
-<code>sudo service unbound restart<code>+<code>sudo service unbound restart</code>
  
 testing: testing:
Line 30: Line 88:
 <code>dig sigfail.verteiltesysteme.net @127.0.0.1 -p 5335 <code>dig sigfail.verteiltesysteme.net @127.0.0.1 -p 5335
 dig sigok.verteiltesysteme.net @127.0.0.1 -p 5335</code> dig sigok.verteiltesysteme.net @127.0.0.1 -p 5335</code>
- +\\ 
-The first command should give a status report of SERVFAIL and no IP address. The second should give NOERROR plus an IP address. +The first command should give a status report of SERVFAIL and no IP address. The second should give NOERROR plus an IP address.\\ 
- +\\ 
-finally, configure Pi-hole to use your recursive DNS server by specifying 127.0.0.1#5335 as the Custom DNS (IPv4): +finally, configure Pi-hole to use your recursive DNS server by specifying 127.0.0.1#5335 as the Custom DNS (IPv4):\\ 
- +\\ 
--login to webui as admin +-login to webui as admin\\ 
--settings -> dns +-settings -> dns\\ 
--uncheck previous upstream dns providers +-uncheck previous upstream dns providers\\ 
--check custom, add 127.0.0.1#5335 under ipv4 +-check custom, add 127.0.0.1#5335 under ipv4\\ 
--make sure to check dnssec +-make sure to check dnssec\\ 
--uncheck the 2 options above it if using local dns records +-uncheck the 2 options above it if using local dns records\\ 
- +\\ 
-click save at the bottom +click save at the bottom\\ 
- +\\ 
-remember that part about updating root hints via cron?+remember that part about updating root hints via cron?\\
  
 <code>nano /etc/cron.monthly/unbound</code> <code>nano /etc/cron.monthly/unbound</code>
Last modified: le 2020/12/09 22:52