Table of Contents
PiHole
Serveur DNS et DHCP dans le réseau filaire et WiFi. Bouffe les DNS lookup des fournisseurs de publicité
Assez stable et il y a un restart chaque matin à 05:45 cronjob
upgrade
pihole -up
Config pour le réseau local
https://discourse.pi-hole.net/t/howto-using-pi-hole-as-lan-dns-server/533
Pour un docker sur unraid: /mnt/cache/cache_only/appdata/pihole/dnsmask.d/09-lan.conf
Pour le raspberry pi: /etc/dnsmask.d/09-lan.conf
addn-hosts=/etc/pihole/lan.list
Pour un docker sur unraid: /mnt/cache/cache_only/appdata/pihole/lan.list Pour le raspberry pi: /etc/pihole/lan.list
192.168.1.111 patatemagique.biz 192.168.1.111 gallery.patatemagique.biz 192.168.1.111 unifi.patatemagique.biz 192.168.1.111 blog.patatemagique.biz 192.168.1.111 nextcloud.patatemagique.biz 192.168.1.111 heimdall.patatemagique.biz 192.168.1.111 tower.patatemagique.biz 192.168.1.111 grocy.patatemagique.biz 192.168.1.111 bw.patatemagique.biz 192.168.1.111 dokuwiki.patatemagique.biz 192.168.1.111 budget.patatemagique.biz 192.168.1.111 qbt.patatemagique.biz
DNS over HTTPS (Raspberry Pi)
Installing cloudflared
wget https://bin.equinox.io/c/VdrWdbjqyF/cloudflared-stable-linux-arm.tgz tar -xvzf cloudflared-stable-linux-arm.tgz sudo cp ./cloudflared /usr/local/bin sudo chmod +x /usr/local/bin/cloudflared cloudflared -v
Configuring cloudflared to run on startup
Create a cloudflared user to run the daemon
sudo useradd -s /usr/sbin/nologin -r -M cloudflared
Create a configuration file for cloudflared
Copying the following in to /etc/default/cloudflared. This file contains the command-line options that get passed to cloudflared on startup:
# Commandline args for cloudflared CLOUDFLARED_OPTS=--port 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query
Update the permissions for the configuration file and cloudflared binary to allow access for the cloudflared user:
sudo chown cloudflared:cloudflared /etc/default/cloudflared sudo chown cloudflared:cloudflared /usr/local/bin/cloudflared
Then create the systemd script by copying the following in to /etc/systemd/system/cloudflared.service. This will control the running of the service and allow it to run on startup:
[Unit] Description=cloudflared DNS over HTTPS proxy After=syslog.target network-online.target [Service] Type=simple User=cloudflared EnvironmentFile=/etc/default/cloudflared ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.target
Enable the systemd service to run on startup, then start the service and check its status:
sudo systemctl enable cloudflared sudo systemctl start cloudflared sudo systemctl status cloudflared
Test
Now test that it is working! Run the following dig command, a response should be returned similar to the one below:
dig @127.0.0.1 -p 5053 google.com
; <<>> DiG 9.10.3-P4-Ubuntu <<>> @127.0.0.1 -p 5053 google.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65181 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1536 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 299 IN A 243.65.127.221 ;; Query time: 3 msec ;; SERVER: 127.0.0.1#5053(127.0.0.1) ;; MSG SIZE rcvd: 65
Configuring Pi-hole
Finally, configure Pi-hole to use the local cloudflared service as the upstream DNS server:
Custom 1 (IPv4): 127.0.0.1#5053
