Upstream DNS Servers: Router oder Sever vom Provider?

#1

Ich habe eine einfache "Standard-Konfiguration" vom Pi-hole.

Auf meinem Raspberry Pi 3 B+ läuft (derzeit) nur Pi-hole (unter DietPi). Er hängt an einem Switch, welcher an meinem Router ("Pirelli") hängt.

Der Router dient auch als Access Point.

DHCP am Router ist deaktiviert, Pi-hole hat eine statische private IP-Adresse, Clients teilweise mit statischer privaten Adresse (PC, HTPC), teilweise via DHCP (z.B. Smartphones).

Teilweise habe ich Probleme, dass DNS-Auflösungen nicht oder nur sehr langsam funktionieren. Am Pi ist sehr wenig los (CPU-Auslastung sehr gering, genügend RAM frei). Aber darum soll es hier auch gar nicht erst gehen, denn dieses Problem muss ich noch genauer eingrenzen.

Vorerst hätte ich nur eine grundsätzliche Frage zu den Upstream DNS Server, die ich im Pi-hole konfigurieren soll.

Derzeit habe ich die beiden DNS-Server (IPv4) meines Access-Providers (VSDL "PPPoE over PTM", AT/VIE) als Upstream DNS Servers (Custom 1 (IPv4) und Custom 1 (IPv4)). Diese DNS-Server erhält der Router automatisch.

Fremde DSN-Server (Google, OpenDNS, etc.) will ich nicht verwenden. Vielleicht werde ich irgendwann auch Unbound (recursive, caching DNS resolver) verwenden, aber so weit bin ich noch nicht.

Alternativ könnte ich wohl als Upstream DNS Servers nur den Router verwenden, der dann die Requests an die DNS-Server meines Provider weiterleitet. Das hätte z.B. den Vorteil, dass ich immer die aktuellen (vorgesehenen) DNS-Server meines Providers hätte. Eventuell wäre da aber ein Hop mehr im DNS-Traffic, da ja zusätzlich auch der Router im Spiel wäre. Doch der ist ja ohnedies immer im Spiel, da er ja das Gateway ist.

Was ist besser? DNS-Server des Providers direkt eintragen oder einfach den Router als DNS verwenden?

Gäbe es überhaupt spürbare Geschwindigkeitsunterschiede?

Was wären eventuelle Vor- bzw.- Nachteile der einen oder anderen Variante?

P.S.: Mit Unbound würde sich diese Fragestellung wohl nur in die Konfiguration vom Unbound verlagern.

P.S. 2.: IPv6 habe ich nicht.

#2

Nachtrag: Die DNS-Server sind von (meinem PC aus) grundsätzlich erreichbar. Auch lieft und läuft sonst alles sehr stabil und zuverlässig.

C:\Users\User1>ping 195.3.xx.xx

Ping wird ausgeführt für 195.3.xx.xx mit 32 Bytes Daten:
Antwort von 195.3.xx.xx: Bytes=32 Zeit=9ms TTL=250
Antwort von 195.3.xx.xx: Bytes=32 Zeit=8ms TTL=250
Antwort von 195.3.xx.xx: Bytes=32 Zeit=8ms TTL=250
Antwort von 195.3.xx.xx: Bytes=32 Zeit=8ms TTL=250

Ping-Statistik für 195.3.xx.xx:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 8ms, Maximum = 9ms, Mittelwert = 8ms

C:\Users\User1>ping 213.33.xx.xxx

Ping wird ausgeführt für 213.33.xx.xxx mit 32 Bytes Daten:
Antwort von 213.33.xx.xxx: Bytes=32 Zeit=9ms TTL=250
Antwort von 213.33.xx.xxx: Bytes=32 Zeit=9ms TTL=250
Antwort von 213.33.xx.xxx: Bytes=32 Zeit=9ms TTL=250
Antwort von 213.33.xx.xxx: Bytes=32 Zeit=9ms TTL=250

Ping-Statistik für 213.33.xx.xxx:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 9ms, Maximum = 9ms, Mittelwert = 9ms

C:\Users\User1>ipconfig

Windows-IP-Konfiguration


Ethernet-Adapter Ethernet 2:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

Ethernet-Adapter Ethernet:

   Verbindungsspezifisches DNS-Suffix:
   IPv4-Adresse  . . . . . . . . . . : 10.0.0.1
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 10.0.0.138

Drahtlos-LAN-Adapter WLAN:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

Drahtlos-LAN-Adapter LAN-Verbindung* 1:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

Drahtlos-LAN-Adapter LAN-Verbindung* 2:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

(Die IP-Adresse habe ich teilanonymisiert.)

#3

Wer übernimmt das DHCP? Pi-Hole?
Liegen die fest vergebenden IPs außerhalb vom DHCP-Bereich?

Warum nicht? Gegen Google mag es Gründe geben, aber es gibt im Pi-Hole doch genug Alternativen.

Weg 1: Client => Pi-Hole => DNS-Server v. Provider
Weg 2: Client => Pi-Hole => Router => DNS-Server v. Provider
Weg 1 ist klar der Gewinner, da schlicht und einfach ein Punkt weggefallen ist.

Davon ab: Ich persönlich würde nie den DNS vom Provider eintragen. Das hat viele Gründe, z.B. das bequeme Abschnorcheln der DNS-Aufrufe, die Möglichkeit der Zensur durch den Provider, Umleiten von Aufrufen, usw.

Wenn man im Pi-Hole eine gute Auswahl von DNS-Anbietern nimmt, sowie 1-2 weitere DNS-Anbieter einträgt, verhindert man eine Zensur eines DNS-Anbieters und es wird das eigene DNS-Profil zerstückelt. Jeder Anbieter hat immer nur einen Teil der Aufrufe.

#4

Ja, DHCP-Server ist nur der Pi-hole (Adress-Bereich ###.201 bis 251).
Am Router ist der DHCP-Server deaktiviert (war im Adress-Bereich von ###.51 bis 100).
Die fixen Adressen vergebe ich nur im Bereich von ###.01 bis 50.
Somit keine Überlappungen, nur ein DHCP-Server. Das sollte alles passen-


Könnte man auch machen, aber, wie schon angedeutet, mag ich einige Anbieter sicher nicht verwenden, besonders Google. Vor diesem Teufel will ich ja so weit wie möglich geschützt sein und versuche ihm so weit wie möglich aus dem Weg zu gehen.
Diverse andere Anbieter kenne ich auch gar nicht so gut. Die mögen zwar (momentan) nichts Böses vor haben, aber am Ende muss die Rechnung doch irgendwer bezahlen. Es muss irgendein Geschäftsmodell hinter anderen DNS-Anbietern geben. Ich mag mich ehrlich gesagt auch gar nicht immer darum kümmern, wer gerade noch als seriös gilt, und wer nicht.


Das war natürlich auch meine Überlegung, daher habe ich auch ursprünglich nicht den Router sondern direkt DNS-Server (meines Providers) verwendet.
Die Rechnung stimmt aber nur bedingt, denn auf dem Weg ins Internet muss ohnedies alles, also auch DNS-Anfragen, über den Router gehen und die Anzahl der Hops bleibt daher gleich. Lediglich die eigentliche DNS-Verarbeitung am Router (was hier ohnedies vermutlich nur ein einfaches Durchschleusen sein wird) würde nicht gemacht werden, sondern eben das Paket nur weitergeleitet werden. Vielleicht macht der Router aber doch etwas (z.B. eigener Cache) und dann könnte das sogar Vorteile (hinsichtlich der Geschwindigkeit) bringen.
Aber ich denke, aus Geschwindigkeitssicht sollte das keine große Auswirkung haben, denn der Weg ist kurz und der Traffic läuft ohnedies immer über den Router.

Aber egal, das habe ich zwischenzeitlich geändert. Nun ist der Upstream DNS Server am Pi-hole mein Router.
Warum habe ich das gemacht? Wie schon erwähnt, habe ich teilweise Probleme mit DNS-Auflösungen, die ich bisher nur bei DHCP-Geräten (meinem Smartphone) beobachten konnte.
Nach der Umstellung auf den Router als Upstream DNS Server am Pi-hole schien es so, dass die Probleme (am Smartphone) verschwunden waren. Meine Vermutung ging in die Richtung, dass die DNS-Server vielleicht die DNS-Anfragen direkt vom Router bevorzugt verarbeiten. Wie immer das gehen mag, und vielleicht ist das aber auch nur Blödsinn.
Auf meinem Haupt-PC lieft und läuft immer alles perfekt - egal welche DNS-Server verwendet wird. Das würde natürlich gegen meine Theorie der Bevorzugung sprechen.

Aber auch das dürfte schon wieder egal sein, denn nun habe/hatte ich auf meinem HTPC (diesmal unter Win10), statische private IP, hinter anderem Switch an anderem Ethernet-Port am Router (wieder) erhebliche Probleme. Mal ging es, dann wieder nicht (oder im Browser nur nach einem Refresh). Und richtig schnell war und ist das auch nicht.
Aber vermutlich habe ich ohnedies ein anderes Problem, das ich noch nicht erkenne. Vielleicht bin ich gerade etwas blind.


Ja, das ist auch alles richtig.
Aber, wie schon gesagt, traue ich nicht jedem öffentlichen und freien DNS-Server. Auch wenn die Aufrufe über mehrere DNS-Server/Provider verteilt werden, kann da spioniert, zensuriert oder umgeleitete werden. Vielleicht nur teilweise und nicht vollständig, aber die Gefahr besteht, mag sie auch geringer sein (wobei ich das gar nicht so pauschal annehmen würde).
Die Infrastruktur meines Providers, so auch die DNS-Server, scheint sehr stabil zu. Sie ist vielleicht nicht die schnellste, aber sie läuft. Probleme mit den DNS-Servern konnte ich überhaupt noch nie feststellen. Insgesamt hatte ich, wenn ich mich recht erinnere, eine kurzfristige Störung in den letzten ein, zwei Jahre, die aber nach wenigen Minuten wieder weg war (wo ich auch gar nicht genau sagen kann, was da war und wer genau schuld war). Also auch dieser Sicht muss ich meinen Provider durchaus loben (auch wenn wir insgesamt nicht die besten Freunde sind, aber das ist eine andere Geschichte).
Ich lebe mit den DNS-Servern meines Providers nun schon etliche Jahre. Ich habe zwar auch schon einige Male kurzzeitig fremde Server verwendet, dabei aber keinen merklichen Geschwindigkeitsvorteil festgestellt. Im Hinterkopf war viel mehr die Frage, warum andere das scheinbar gratis anbieten. Ich glaube nicht so sehr an das Samaritertum von IT-Giganten und anderen Institutionen. Zweifel bleiben da immer.
Daher: Never change a running system.
Ein wichtiger Grund ist auch, dass ich für die Server des Providers ja eigentlich bezahle (weil es auch zur Leistung gehört). Er hat zumindest ein Geschäftsmodell, das ich nachvollziehen kann. Im Zweifelsfall vertraue ich da lieber meinem lokalen Provider, den ich bezahle, als fremden Organisationen, die ich vielleicht überhaupt nicht kenne. Vielleicht ist es besser auch nur einen seriösen Anbieter zu verwenden, als mehrere andere, wo mir vieles unklar ist.
Aber ja, es ist schon richtig, dass die potentielle Gefahr bei einem Provider schon groß ist, vor allem wenn es um Umfassende Spionage und Zensur geht.
Und auch wenn man fremde DNS-Server verwendet, läuft der eigentliche Traffic (also auch der DNS-Verkehr) ja über das Netz des jeweiligen Betreibers. Wenn das nicht verschlüsselt ist, könnte er ohnedies alles mitlesen. Doch auch bei verschlüsselten Verbindungen ließe sich einiges an Information gewinnen, auch wenn es dadurch natürlich deutlich schwieriger wird.

Insgesamt ist das aber ohnedies eine eigene Geschichte, die jeder handhaben kann, wie er mag.

Vielleicht noch abschließend dazu ein Vermerk auf mobilen Traffic, wo die meisten auch nur direkt im Netz des jeweiligen Mobilfunk-Netzbetreibers sind, ohne VPN und ohne eigene DNS-Server. Dann dürfte man auch hier nicht die DNS-Server des jeweiligen Betreibers verwenden, was zwar auch möglich ist, aber immer auch mit Aufwand verbunden ist und/oder Einschränkungen unterliegt.

Als nächsten Schritt plane ich ohnedies Unbound einzusetzen, um mich von fremden DNS-Servern überhaupt weiter zu entfernen.
Aber so lange mein aktuelles System noch nicht ganz rund läuft, möchte ich keine anderen grundlegenden Änderungen unternehmen (auch wenn sie im konkreten Fall vielleicht sogar meine Probleme lösen könnten).

#5

Nein, ernsthaft :smiley: :
Die Installation und Einrichtung von Unbound ist denkbar einfach, schnell gemacht und auf deinem Pi3B+ fällt das in Sachen Leistung gar nicht auf (ich hab alles auf einem Pi1B; läuft mit über 1,3M Domains in der Blocklist und Unbound ohne Probleme).

Nimm den offiziellen Guide: Pi-hole as All-Around DNS Solution

Der Datenschutz ist hierdurch enorm hoch (Beispiel anhand “sub.domain.com”):

Z.B. durch QName Minimization

  • Unbound fragt die Root-Server nur nach dem Nameserver (NS) für die Zone der TLD und übermittelt so auch nur “.com” und nicht “sub.domain.com
  • Den Nameserver der Zone “.com” fragt Unbound dann nach dem NS für “domain.com
  • Den Nameserver der Zone “domain.com” fragt Unbound dann nach der IP für “sub.domain.com

(ginge auch mit noch mehr Subdomains)

Zusätzlich werden diese Anfragen in Unbound zwischengespeichert, wodurch bei weiteren Anfragen in der selben Zone (z.B. “domain.com”) nicht die Root-Server erneut gefragt werden müssen.

In der nächsten Unbound-Version kann man sich sogar die komplette Root-Zone lokal vorhalten, damit entfällt die erste Anfrage im obigen Beispiel. Führt neben höherem Datenschutz auch zu einem Geschwindigkeitsvorteil.

Durch DNSSEC überprüfen Pi-hole und Unbound ob eine Antwort auf deine DNS-Anfrage manipuliert worden ist, und verwerfen sie im Zweifel.

Insgesamt brauchst du dich nicht auf große Datenkraken oder kleine unbekannte DNS-Anbieter verlassen… mach’s dir einfach selbst! :+1:

Noch eine Info zu deinem Internetprovider:
Er sieht zumindest die IPs zu denen du verbunden werden willst. Schließlich routet er dich dort hin. Im Zweifel kann man auch von einer IP wieder auf eine Domain kommen. (Siehe Reverse DNS)

UND: soweit ich weiß wird beim Aushandeln einer verschlüsselten Verbindung mit einer Website (HTTPS) die DOMAIN im Klartext beim Zertifikatsaustausch übermittelt. :roll_eyes:
Deinem Provider musst du also ein Stück weit vertrauen.

Am wichtigsten ist, dass nicht alle deine Anfragen an eine Stelle gehen (wie Google, Cisco und Co.!), und dass du dank DNSSEC keine manipulierten Antworten bekommst.