From e755b94ebc66ca0905a50f5a110a0635403cc29a Mon Sep 17 00:00:00 2001 From: Malin Freeborn Date: Thu, 23 Jun 2022 00:20:42 +0200 Subject: [PATCH] pihole setup for recursive dns --- distros/arch/scripts/pihole.sh | 73 +++++++++++++++++++++++++++++++--- 1 file changed, 68 insertions(+), 5 deletions(-) diff --git a/distros/arch/scripts/pihole.sh b/distros/arch/scripts/pihole.sh index 01b107e..ddb3570 100644 --- a/distros/arch/scripts/pihole.sh +++ b/distros/arch/scripts/pihole.sh @@ -1,16 +1,79 @@ #!/bin/bash -# This has been changed since testing. +set -e yay -S pi-hole-ftl pi-hole-server # Configuration in /etc/pihole/pihole-FTL.db # You can change DBINTERVAL to 60 or more to limit writes to disk -sudo systemctl disable systemd-resolved -sudo systemctl stop systemd-resolved -sudo systemctl start pihole-FTL -pihole -g || echo '' ; echo 'Your pihole is gubbed' ; exit 1 +sudo systemctl disable --now systemd-resolved +sudo systemctl enable --now pihole-FTL +pihole -g pihole -c +if [ "$1" == "unbound" ]; then + +sudo pacman -S unbound + +sudo cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.old + +echo "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 +" | sudo tee /etc/unbound.conf + + echo "Make this the only pihole DNS: PIHOLE_DNS_1=127.0.0.1 in /etc/pihole/setupVars.conf" + +fi