dnsmasq

DOH – DNS over HTTPS

Written by  on April 22, 2018

Nach der Anleitung für Pi-hole
Erst wird der cloudflared benötigt

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
# Kontrolle ob das binary so funktioniert
cloudflared -v
cloudflared version 2018.4.6 (built 2018-04-11-1516 UTC)

Einen Benutzer hinzufügen

sudo useradd -s /usr/sbin/nologin -r -M cloudflared

Optionen erstellen sudo vi /etc/default/cloudflared

# Commandline args for cloudflared
CLOUDFLARED_OPTS=--port 5053 --upstream https://1.1.1.1/dns-query

Berechtigungen anpassen

sudo chown cloudflared:cloudflared /etc/default/cloudflared
sudo chown cloudflared:cloudflared /usr/local/bin/cloudflared

Systemd Service erstellen
sudo vi /lib/systemd/system/cloudflared.service

[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

Testing

dig @127.0.0.1 -p 5053 google.com

dnsmasq config anpassen
/etc/dnsmasq.d/50-cloudflared.conf

server=127.0.0.1#5053

Disable „server=“ entries under /etc/dnsmasq.d/

# Disable Pi-hole updates ind /etc/pihole/setupVars.conf
#PIHOLE_DNS1=8.8.8.8

Testen ob alles funktioniert unter en.conn.internet.nl/connection

Pi-hole, dnsmasq und privacy

Written by  on April 14, 2018

Idee: Um es Datensammlern schwerer zu machen, die eigenen DNS Anfragen auf möglichst viele DNS Server verteilen. Das kann man in Pi-hole ganz leicht konfigurieren. Pi-hole verwendet im Hintergrund dnsmasq zur Namensauflösung. Laut Manpage sollte eine Anfrage nur zu einem Server gehen, außer es wird die Option –all-servers verwendet:

–all-servers
By default, when dnsmasq has more than one upstream server available, it will send queries to just one server. Setting this flag forces dnsmasq to send all queries to all available servers. The reply from the server which answers first will be returned to the original requester.

dnsmasq Manpage

Die Option ist nicht gesetzt. Auch eine Nachfrage an Pi-hole bestätigt das. Aber trotzdem verhält sich dnsmasq nicht wie erwartet und schickt trotzdem die Anfragen an alle eingetragenen Nameserver.

Test mit tcpdump und mehreren Nameservern eingetragen:

05:20:25.118102 IP 10.0.0.99.50586 > 10.0.0.110.53: 58302+ A? ctldl.windowsupdate.com. (41)
05:20:25.118817 IP 10.0.0.110.6516 > 1.0.0.1.53: 6292+ A? ctldl.windowsupdate.com. (41)
05:20:25.119191 IP 10.0.0.110.6516 > 1.1.1.1.53: 6292+ A? ctldl.windowsupdate.com. (41)
05:20:25.130168 IP 1.0.0.1.53 > 10.0.0.110.6516: 6292 5/0/0 CNAME ctldl.windowsupdate.nsatc.net., CNAME ctldl.windowsupdate.com.edgesuite.net., CNAME a1621.g.akamai.net., A 104.83.4.152, A 104.83.4.170 (193)
05:20:25.130799 IP 1.1.1.1.53 > 10.0.0.110.6516: 6292 5/0/0 CNAME ctldl.windowsupdate.nsatc.net., CNAME ctldl.windowsupdate.com.edgesuite.net., CNAME a1621.g.akamai.net., A 104.83.4.152, A 104.83.4.170 (193)

Das heißt, für maximale Privacy sollte man eher den ersten und zweiten Nameserver des gleichen Anbieters nehmen und den Anbieter eventuell ab und zu wechseln.

Pihole: Interne DNS Zone

Written by  on Februar 24, 2018

Pihole verwendet dnsmasq. Dadurch kann auch ganz einfach eine interne DNS Zone aufgebaut werden.
Dazu sind am Pi diese Schritte notwendig:
/etc/dnsmasq.d/02-mydns.conf

addn-hosts=/etc/hosts.mydomain

/etc/hosts.mydomain

10.0.0.1	router.int.example.com
10.0.0.2	one.int.example.com
10.0.0.3	pi.int.example.com
10.0.0.4	two.int.example.com
# service dnsmasq restart

Update – seit Pihole 4 den restart auslösen mit

# service pihole-FTL restart