PiHole wird umgangen

Hallo,

betreibe PiHole auf meinen Raspberry. LAN Konfiguration:

Telekom Smart 3 Router -> Asus RT-AC88U -> Raspi mit PiHole

Die Clients sind alle am Asus per LAN oder WLAN angemeldet. Eingerichtet wurde nach Doku „ Pi-hole as All-Around DNS Solution“

Es funktioniert alles wunderbar! Jedoch gibt es zig Geräte im Netz, welche den DNS Server einfach umgehen wollen oder auch können. Es gibt den Fall, dass einfach der Asus Router angesprochen wird, der leitet nun auf den Raspi um und alles ist wieder in Ordnung. Zu erkennen ist, dass die Router IP sehr oft in PiHole Liste auftaucht, auch für Anfragen, welche eigentlich von einem anderen Client kommen.

Jetzt gibt es aber auch denn Fall, dass alles umgangen wird und der eigene (wohl hardcoded) DNS Server angesprochen wird. Vor allem Apple ist hier ganz vorne dabei. Es gibt zig Anfragen an gateway.fe.apple-dns.net, welche so auch durchgelassen werden.

Nach längerer Suche im Netz ist das Problem bekannt. Lösung soll sein, die iptables des Routers anzupassen. Dies ist bei Asus auch möglich.

https://community.ubnt.com/t5/UniFi-Wireless/Redirect-all-DNS-to-OpenDNS/td-p/1038683

Das interessante ist:

Mop up ANY other DNS servers

iptables -t nat -A PREROUTING -i br0 -p udp -m udp --dport 53 -j DNAT --to-destination 208.67.220.220
iptables -t nat -A PREROUTING -i br0 -p tcp -m tcp --dport 53 -j DNAT --to-destination 208.67.220.220

Also alle Anfragen am Port 53 werden in diesem Fall immer an OpenDNS weitergeleitet. Würde ich dies übernehmen, wäre aber der PiHole umgangen.

Wie kann kann ich dies auf meinen PiHole umstellen? Einfach die IP 208.67.220.220 durch die IP meines PiHole umstellen funktioniert nicht. Dann werden gar keine Adressen mehr aufgelöst. Liegt wohl daran, dass der PiHole mit dieser Regelung mit dem Port 53 selbst gar nicht mehr aus dem Homenetz rauskommt.

Meine bescheidene Kenntnisse der iptables reichen hierfür wohl nicht mehr aus. Wer kann helfen?

Das Grundsatzproblem mit dem umgehen des DNS Servers sollte doch eigentlich fast jeder haben?

Vielen Dank!

Hallo,

ein Grund kann sein, dass im Router ein anderer Namensserver definiert wurde.

Wenn als Namensserver im Router das PiHole-System angegeben wird, muss im PiHole-System der ursprüngliche Namensserver angegeben werden, über den die externen Host-Namen aufgelöst werden. Diese Konfiguration habe ich am Laufen.

Wenn der DHCP-Server nicht in PiHole aktiviert ist, taucht als Client nur ein Eintrag vom Router auf, und nicht mehr die einzelnen Clients im (W)LAN-Netz.

Vielleicht hilft diese Info weiter.

1 Like

Um das PiHole durchzulassen einfach nach dem setzen der von dir beschrieben Rules noch

iptables -t nat -A PREROUTING -i br0 -p udp --dport 53 -m mac --mac-source [MAC VOM PIHOLE] - j ACCEPT

iptables -t nat -A PREROUTING -i br0 -p tcp --dport 53 -m mac --mac-source [MAC VOM PIHOLE] - j ACCEPT

ausführen.

Das ist die korrekte Lösung, es muss nur sichergestellt werden, dass diese Regel dann am Ende auch vor den Umleitungsregeln kommt. iptables arbeitet von oben nach unten ab. Die erste zutreffende Zeile wird genommen und umgesetzt.

Ansonsten noch die übliche Frage: Wie sieht das Ergebnis von http://www.test-ipv6.com/ aus?
Bedenke, dass iptables ausschließlich IPv4 abdeckt und bei vorhandener IPv6 Konnektivität noch entsprechende ip6tables eingepflegt werden müssen.

Ich habe mal ganz blauäugig gateway.fe.apple-dns.net in die Blacklist des PiHole aufgenommen. Scheint auf den ersten Blick zu funktionieren...

Man muss nur aufpassen nich den großen Hammer rauszuholen mit

||apple-dns.net^ 

Find My - Funktion braucht Zugriff auf

fmfmobile.fe2.apple-dns.net
fmipmobile.fe2.apple-dns.net 
gateway.fe2.apple-dns.net

schlage daher eher

#Apple
doh.dns.apple.com
doh.dns.apple.com.v.aaplimg.com
mask.icloud.com
mask-h2.icloud.com
mask-api.fe.apple-dns.net

vor.