linux:pihole

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
linux:pihole [2019/01/14 22:22] – créée: custom DNS entries phswlinux:pihole [2024/12/29 18:45] (Version actuelle) – add link phsw
Ligne 1: Ligne 1:
 ====== PiHole ====== ====== PiHole ======
  
-==== Ajouter des entrées de DNS personnalisées ====+Tester combien de trackers sont bloqués : https://d3ward.github.io/toolz/adblock
  
-[[https://github.com/pi-hole/pi-hole/issues/975#issuecomment-275999979|Source]] 
  
-Sur le serveur qui héberge PiHole, créer un fichier ''/etc/dnsmasq.d/05-custom.conf'', y ajouter ''address=/<host>/<ip>'' pour chaque nom d'hôte à résoudre, et redémarrer le service DNS: ''pihole restartdns''. 
  
 +==== Mettre à jour PiHole ====
 +
 +<code bash>
 +pihole -up
 +</code>
 +
 +Pas besoin d'être root.
 +
 +
 +
 +
 +==== Faire du DNS-over-HTTPS ====
 +
 +=== Avec son serveur DNS-over-HTTPS ===
 +
 +  * [[https://www.bortzmeyer.org/doh-mon-resolveur.html]]
 +  * [[https://www.shaftinc.fr/chiffrement-dns-pratique.html]]
 +
 +
 +=== Cloudflared ===
 +
 +Sources:
 +  * [[https://medium.com/@swedishmike/getting-pi-hole-up-and-running-complete-with-dns-over-https-ce94f790b9e5]]
 +  * [[https://docs.pi-hole.net/guides/dns-over-https/]]
 +
 +<code bash>
 +wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64
 +mv cloudflared-linux-arm64 /usr/local/bin/cloudflared
 +chmod +x /usr/local/bin/cloudflared
 +useradd -s /usr/sbin/nologin -r -M cloudflared
 +</code>
 +
 +Créer le fichier ''/etc/cloudflared'' pour configurer cloudflared :
 +<code conf /etc/cloudflared>
 +# Commandline args for cloudflared, using Cloudflare DNS
 +CLOUDFLARED_OPTS=--port 5053 --upstream https://1.1.1.1/dns-query --upstream https://1.0.0.1/dns-query
 +</code>
 +
 +Donner les droits sur ce fichier à l'utilisateur cloudflared :
 +<code bash>
 +chown cloudflared:cloudflared /usr/local/bin/cloudflared
 +chown cloudflared:cloudflared /etc/cloudflared
 +</code>
 +
 +Créer un service pour démarrer Cloudflared :
 +<code service /etc/systemd/system/cloudflared.service>
 +[Unit]
 +Description=cloudflare DNS over HTTPS
 +After=syslog.target network-online.target
 +
 +[Service]
 +Type=simple
 +User=cloudflared
 +EnvironmentFile=/etc/cloudflared
 +ExecStart=/usr/local/bin/cloudflared proxy-dns $CLOUDFLARED_OPTS
 +Restart=on-failure
 +RestartSec=10
 +KillMode=process
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +
 +Activer ce service :
 +<code bash>
 +systemctl enable cloudflared
 +systemctl start cloudflared
 +systemctl status cloudflared
 +</code>
 +
 +Tester :
 +<code bash>
 +dig @127.0.0.1 -p 5053 ph-sw.fr
 +</code>
 +
 +Dans la configuration de PiHole, indiquer comme résolveur DNS Custom 1: ''127.0.0.1#5053''.
 +
 +Il est possible de vérifier que DNS over HTTPS est bien utilisé en allant sur ce site: https://1.1.1.1/help.
 +
 +
 +
 +==== Faire du DNS-over-TLS ====
 +
 +  * https://dns.aquilenet.fr/
 +  * [[https://calomel.org/unbound_dns.html|Unbound DNS Tutorial]]
 +  * [[https://atelier.aquilenet.fr/projects/dns-ouvert/wiki|DNS récursif Ouvert DoH DoT & haute disponibilité]]
 +
 +Principe : c'est PiHole qui reçoit les requêtes DNS, il les fait suivre en clair à un serveur Unbound local, qui lui les fait suivre en DoT à un autre serveur.
 +
 +<code bash>
 +apt install unbound
 +</code>
 +
 +Configuration dans ''/etc/unbound/unbound.conf'' :
 +<code>
 +include-toplevel: "/etc/unbound/unbound.conf.d/*.conf"
 +
 +server:
 +    port: 5053
 +    prefer-ip4: no
 +    do-ip4: yes
 +    do-ip6: no
 +    access-control: 127.0.0.0/8 allow
 +    access-control: 192.168.1.0/24 allow
 +    hide-identity: yes
 +    hide-version: yes
 +    prefetch: yes
 +    tls-cert-bundle: "/etc/ssl/certs/ca-certificates.crt"
 +
 +forward-zone:
 +    name: "."
 +    forward-tls-upstream: yes
 +    forward-addr: 45.67.81.23@853#dns.aquilenet.fr
 +    # forward-addr: 1.1.1.1@853#one.one.one.one
 +</code>
 +
 +Tester :
 +<code bash>
 +dig google.fr @127.0.0.1 -p 5053
 +</code>
 +
 +Configurer PiHole pour utiliser Unbound comme serveur DNS ''127.0.0.1#5053''.
 +
 +Pour vérifier que les requêtes DNS partent bien en DoT :
 +<code bash>
 +apt install tcpdump
 +tcpdump "tcp port 853"
 +</code>
 +et lancer :
 +<code bash>
 +dig perdu.com @192.168.1.53
 +</code>
 +
 +
 +
 +==== Déplacer une installation PiHole ====
 +
 +
 +  - Installer une version neuve de PiHole
 +  - Utiliser la fonctionnalité //Teleporter// pour exporter la configuration de l'ancienne installation et l'importer dans la nouvelle. Tous les paramètres (serveur DNS utilisé, par exemple) ne sont pas mis à jour.
 +  - Il est aussi possible de récupérer l'historique des requêtes (pour les statistiques, par exemple) en copiant ''/etc/pihole/pihole-FTL.db''.
 +
 +
 +
 +==== Synchroniser des instances PiHole ====
 +
 +  * [[https://github.com/mattwebbio/orbital-sync|Orbital Sync]]
  • linux/pihole.1547500968.txt.gz
  • Dernière modification : 2021/04/04 17:01
  • (modification externe)