Pi-hole DNS und Synology DHCP funktioniert nicht

Hallo zusammen,
ich hoffe ihr könnt helfen. Ich habe folgende Konstellation:

  1. FB7490 als Router (als DNS-Server PI-Hole) -> funktioniert
  2. PI-Hole als DNS-Server und als DHCP -> funktioniert

Nun möchte ich den DHCP-Server der Synology (DS415+) nutzen. Egal welche Einstellungen ich am PI-Hole verwende.

  • Never forward non-FQDNs (aus)
  • Never forward reverse lookups for private IP ranges (aus)
  • Use DNSSEC (an)
  • Use Conditional Forwarding (an)
    local network 192.168.0.0/16
    IP address of your DHCP server (router) - IP-Adresse der Syno
    Local domain name (optional) (Domainname, der in der Syno eingetragen ist)

Es ich erreiche kein Gerät mehr über die Namensauflösung. Was mache ich falsch?

Ein Test mit der FB als DNS-Server war hingegen erfolgreich. Warum die Synology als DHCP? Weil ich auf diverse VLANs umstellen möchte und der DHCP-Server der Synology dies sehr einfach ermöglicht.

Viele Grüße
Jürgen

This may be a good question for a Synology forum.

is done.

I try on both sides

Was geben folgende Kommandos zurück, ausgeführt auf einem Client:

nslookup pi.hole
nslookup <hostname>

Dabei ist natürlich <hostname> durch einen Hostnamen aus Deinem Netzwerk zu ersetzen.

Hallo,

ich erhalte folgende Ergebnisse (DHCP in pi-hole aktiviert):

nslookup pi.hole
liefert aktuell
Server: unknown
Adress: IPV6-Adresse von "pi-hole"

Name: pi-hole.lan
Adresses: IPV6-Adresse
IPV4-Adresse

nslookup PC-1.hole
liefert aktuell
Server: unknown
Adress: IPV6-Adresse von "pi-hole"

Name: PC-1.lan
Adresses: IPV6-Adresse
IPV4-Adresse

Warum wird hier Server "unknown" geliefert?
Viele Grüße
Jürgen

PS.: ping pi.hole liefert eine Zeitüberschreitung, während ping ein Ergebnis liefert.

ping ist für die Analyse von DNS-Problemen nicht geeignet.

Die nslookups sollten natürlich den Problemfall verdeutlichen.
Dass es mit Pi-hole als DHCP-Server keine Probleme mit der Auflösung lokaler Namen gibt, hattest Du bereits erwähnt.

Wo läuft denn Pi-hole bei Dir?

Also ich habe den Raspberrypi mit pi-hole neu aufgesetzt und den DHCP-Server auf die Syno verlagert.

Unter Tools/Netzwerk finde ich auch die Einträge. Allerdings ohne "Zusatz". Bei der FB hatte ich immer die Endung fritz.box.
Wenn ich nun von einem zweiten pi z.B. nslookup philips-hue eingebe, erhalte ich folgende Info:
Server: 192.168.70.60 IP-Adresse von pi-hole (2. pi)
Adress: 192.168.70.60#53

** server can't find philips-hue: NXDOMAIN

Wenn ich jedoch das Gerät über einen DNS-Record bekannt gebe, erfolgt die Namensauflösung.
Warum macht er das nicht von alleine?

Viele Grüße
Jürgen

Eventuell hat Deine .60 ihr DHCP-Lease noch nicht erneuert.

Es könnte aber auch am Synology-DHCP-Server liegen.
Nicht alle DHCP-Server registrieren die von einem Cient während der DHCP-Aushandlungen angemeldeten Namen in ihrem DNS (ISC DHCP ist so ein Beispiel).

Du könntest das vielleicht mit einem Blick in die Synology-Doku oder mit einer gezielten Rückwärtsuche durch die Synology prüfen:

nslookup 192.168.70.60 192.168.70.x

wobei 192.168.70.x durch die korrekte IP Deiner Synology zu ersetzen ist.
Um hier keine falschen Ergebnisse zu bekommen, muss das anzufragende Gerät mit der .60 allerdings auch die IP-Adresse über ein DHCP-Lease von der Synology bezogen haben.

Geräte erneuern ihr DHCP-Lease selbständig rechtzeitig vor Ablauf der Gültigkeit vor. Bei einer FB beträgt diese z.B. standardmässig 10 Tage.
Eine vorzeitige Erneuerung lässt sich nur auf dem Gerät erzwingen, z.B. indem man einen Kaltstart durchführt oder die Netzwerkverbindung unterbricht und neu herstellt.

Hier erhalte ich folgendes Ergebnis:

nslookup 192.168.70.61 192.168.70.40
61.70.168.192.in-addr.arpa name = raspberrypi3b.

192.168.70.61 = 2. pi
192.168.70.40 = Syno
Vorher habe ich den DNS-Eintrag des 2. Pi gelöscht.

Die Geräte habe ich immer neu gestartet, damit sie in der Syno auch in der DHCP-Liste als Client erscheinen.

Wenn ich das am 2. pi (.61) mit der Adresse vom pi mit pi-hole durchführe (.60), erhalte ich ein ähnliches Ergebnis:
nslookup 192.168.70.61 192.168.70.60
61.70.168.192.in-addr.arpa name = raspberrypi3b.

Das würde bedeuten, dass die Namensauflösung jetzt funktioniert.

Welche Namen machen denn Probleme?

Leider nein.

nslookup philips-hue liefert weiterhin

** server can't find philips-hue: NXDOMAIN 
nslookup 192.168.70.15 192.168.70.40
15.70.168.192.in-addr.arpa      name = Philips-hue.

Damit kann ich den Namen des Gerätes nicht nutzen.
Viele Grüße
Jürgen

Was verteilt denn der Synology-DHCP-Server als lokale Domäne (search suffix)?

Für einen Windows-DHCP-Client der Synology lässt sich das unter ipconfig /all | find /i "suffix" herausfinden, für einen Raspbian-Client mit cat /etc/resolv.conf.

Und wir können uns die dnsmasq-Konfiguration für Deinen Pi-hole einmal ansehen:

grep -nRv '^#\|^$' /etc/dnsmasq.*

Die vollständige Ausgabe unter der Zielkonstellation wäre hilfreich (Pi-hole DHCP aus, Synology DHCP ein). Ggf. vorhandene MAC-Adressen kannst Du gerne unkenntlich machen.

pi@raspberrypi3b:~ $ cat /etc/resolv.conf
# Generated by resolvconf
domain DS415-JH
nameserver 192.168.70.60
nameserver 9.9.9.9

und

pi@pi-hole:~ $ grep -nRv '^#\|^$' /etc/dnsmasq.*
/etc/dnsmasq.conf:1:conf-dir=/etc/dnsmasq.d
/etc/dnsmasq.conf.old:1:conf-dir=/etc/dnsmasq.d
/etc/dnsmasq.d/01-pihole.conf:21:addn-hosts=/etc/pihole/local.list
/etc/dnsmasq.d/01-pihole.conf:22:addn-hosts=/etc/pihole/custom.list
/etc/dnsmasq.d/01-pihole.conf:25:localise-queries
/etc/dnsmasq.d/01-pihole.conf:28:no-resolv
/etc/dnsmasq.d/01-pihole.conf:32:cache-size=10000
/etc/dnsmasq.d/01-pihole.conf:34:log-queries
/etc/dnsmasq.d/01-pihole.conf:35:log-facility=/var/log/pihole.log
/etc/dnsmasq.d/01-pihole.conf:37:local-ttl=2
/etc/dnsmasq.d/01-pihole.conf:39:log-async
/etc/dnsmasq.d/01-pihole.conf:65:server=9.9.9.9
/etc/dnsmasq.d/01-pihole.conf:66:server=149.112.112.112
/etc/dnsmasq.d/01-pihole.conf:67:server=2620:fe::fe
/etc/dnsmasq.d/01-pihole.conf:68:server=2620:fe::9
/etc/dnsmasq.d/01-pihole.conf:69:dnssec
/etc/dnsmasq.d/01-pihole.conf:70:trust-anchor=.,20326,8,2,E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D
/etc/dnsmasq.d/01-pihole.conf:72:interface=eth0
/etc/dnsmasq.d/01-pihole.conf:73:rev-server=192.168.70.0/24,192.168.70.40
/etc/dnsmasq.d/01-pihole.conf:74:server=/DS415-JH/192.168.70.40
/etc/dnsmasq.d/01-pihole.conf:75:server=/use-application-dns.net/

(Du kannst Ausgaben von Kommandos als Text einfügen und über die Menü-Option </> Preformatted text formatieren. In Deinem Post oben habe ich das mal nachgeholt. :wink: )

Die lokale Domäne des Synology-DHCP-Servers findet sich korrekt in Pi-holes Einstellungen für CF wieder, und auch sonst finden sich kene Auffälligkeiten.

Wie antwortet denn die Synology, wenn Du sie direkt befragst:

nslookup philips-hue 192.168.70.40
nslookup philips-hue.ds415-jh 192.168.70.40

EDIT: Dabei wiederum darauf achten, dass philips-hue das DHCP-Lease durch die Synology bezogen hat.

Server:  DS415-JH
Address:  192.168.70.40

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.

Ich habe die HUE-Bridge schon mehrfach stromlos gemacht. Ich sehe auch auf der Syno, dass dort die lease-time immer wieder von "oben" startet.
Auf der anderen Seite liefert eine Abfrage auf die FB ein richtiges Ergebnis

pi@raspberrypi3b:~ $ nslookup Philips-hue 192.168.70.1
Server:         192.168.70.1
Address:        192.168.70.1#53

Name:   Philips-hue
Address: 192.168.70.15
Name:   Philips-hue
Address: 2001:a61:<redacted>:8860

Kann das Problem hiermit zusammenhängen?
DNS-Rebind der Fritzbox

Allerdings ist (bisher) der Eintrag DS415-JH ohne Auswirkung. FB wurde neu gestartet.

Unwahrscheinlich, da der DNS-Rebind-Schutz der FB in der Regel greift, wenn die FB selbst von ihren Upstream-DNS-Servern lokale private IP-Adressen als DNS-Antwort erhält.
Die Ausnahme sollte dann jeweils für den Namen definiert werden, für den private IP-Adressen erlaubt sein sollen.

Die FB ist allerdings nach der jetzigen Beschreibung überhaupt nicht in die DNS-Auflösung involviert. Bei direkt an sie gerichteten DNS-Anfragen antwortet sie zudem korrekt (dass sie das auch kann, wenn sie nicht mehr DHCP-Server ist, liegt daran, dass sie sich zu einer MAC den Hostnamen merkt, und zu einem Hostnamen die IP-Adressen).

Kann die Synology denn nur philips-hue nicht auflösen, oder trifft das auf alle loaklen Namen zu?

Ein Timeout deutet eher darauf hin, dass die Synology die DNS-Anfrage nicht selbst beantworten kann und an ihren Upstream-DNS weiterleitet, also an Pi-hole, und Pi-hole schickt diese wiederum an die Synology, usw.usf. bis zum Timeout.
Das müsste sich auch in Pi-holes Query Log nachvollziehen lassen.

Da dieselbe Anfrage an Pi-hole allerdings NXDOMAIN liefert, muss die DNS-Anfrage in diesem Fall einen anderen Weg nehmen. Bei Weiterleitung an die Synology würde ich sonst dieselbe Timeout-Reaktion erwarten.
Pi-hole würde NXDOMAIN selbst antworten, wenn Never forward non-FQDNs eingeschaltet wäre. Das ist bei Dir aber definitiv nicht der Fall, da die entsprechende Option domain-needed in Deiner Konfiguration nicht auftaucht.

Führt denn die Anfrage für den FQDN (philips-hue.ds415-jh) an die Synology ebenfalls zum Timeout? Spasseshalber kannst Du das ausserdem mal mit philips-hue.fritz.box versuchen.

Zusammenfassend deutet dies eher auf ein Problem mit der DNS-Auflösung lokaler Namen durch die Synology hin.

Du kannst versuchen, das über die Synology-Foren weiter zu analysieren.

Oder Du kannst das Problem auf Pi-hole-Seite durch Anlegen passender lokaler DNS-Einträge beheben, jeweils für Hostname und FQDN. Diese Definition wäre ein einmaliger Aufwand pro Gerät.
Dazu müsstest Du im Synology-DHCP allerdings dafür sorgen, dass Geräte immer dieselbe fixe IP-Adresse erhalten.

Hallo Bucking_Horn,

erst einmal vielen Dank für Deine Unterstützung.

ja die Auflösung schlägt für alle Geräte fehl. Im Querry-Log ist erkennbar, dass die Anfragen ins Internet gehen.
Ich habe jetzt wieder Never forward non-FQDNs eingeschaltet, damit diese Anfragen nicht mehr ins Internet gehen.

Wenn ich das Problem mit der Sysno nicht gelöst bekomme, werde ich mich wohl mit der DHCP-Einrichtung auf dem Pi mit Pi-Hole auseinandersetzen müssen.
Da ich ja VLANs einrichten möchte, ist dies ja nicht über die Oberfäche möglich.

Muss ich dann auf dem pi auch noch die VLAN-Unterstützung "aktivieren"? Bisher läuft dies alles über einen CISCO-Switch.

Viele Grüße
Jürgen

Und hier ist schon die Info aus dem Synology-Forum

Die Syno wird nur Hostnamen liefern, wenn die dort auch im DNS eingetragen sind, ansonsten funktioniert die interne Auflösung der Hostnamen anders (NetBIOS).