DNS Server, Resolver/Forwarder und andere Geschichten
-
Moin zusammen,
@m0nji said in Hardcoded DNS in Apps und Endgeräten:
Nun habe ich etwas gegooglet und dabei feststellen müssen, dass mittlerweile einige Apps (z.B. Chrome) oder auch einige Endgeräte (Nvidia Shield, Google Home Mini, Chromecast) teilweise Anfragen hart kodiert an die Google DNS Server schicken.
also gut das du es erwähnst, sollte hier nun auch genauer auf meine AdsBLs hinsehen was da so freudig in die weite Welt hinaus schreit.
Gibt es eigentlich eine "Empfehlung" für DNS Server, so etwas wie hier: https://wiki.ipfire.org/dns/public-servers oder hier https://servers.opennic.org ?
Oder ist es jedem hier selbst überlassen den passenden Server für sich zu finden?VG, p54
-
@p54 Empfehlung nicht, denn jeder hat da andere Prioritäten.
Manch einer mag persönlich Google nicht, England nicht, keine Ahnung wen nicht ;) und nutzt dann eben entsprechend andere Server. Der Punkt ist eigentlich dass man das für sein Szenario wählen sollte und natürlich nebenbei auch Server, die ne entsprechende Laufzeit haben, damit man nicht dasteht und DNS nicht geht.Zudem gibts dann ja per default auf der Sense den Resolver, der eh DNS selbst auflöst und die DNSe der Zieldomain selbst befragt. Insofern jedem das Seine :)
-
Hier ist für jeden was dabei. Nutze persönlich die von CCC und German Privacy Foundation e.V.
-
@mike69 OK die Liste ist jetzt aber mal kurz - und hat zudem die kommerziellen DNSe auch mit drin. Mein Problem mit solchen Listen sind die SLAs. Wie gut funktionieren die Kisten und wie ist die Erreichbarkeit.
Da hilft übrigens sowas wie "namebench" um mal wirklich von diversen DNS Servern einen Benchmark zu machen, wie schnell die von eurer Location aus erreichbar sind. Mag ja sein, dass XY sagt, dass ABC schnell ist. Aber das muss bei euch nicht stimmen.
Bei mir sind bspw. die Kisten von Cloudflare (1.1.1.1) ein wenig schneller als Google (8.8.8.8) und die wieder schneller als Quad9 bspw. - von kleineren Servern via OpenNIC und Co. ganz zu schweigen, die manchmal etliche ms langsamer antworten.
Das wiederum spielt aber auch nur eine Geige, wenn man DNS via Forwarding nutzt, nicht via Resolver :) -
Gebe Dir Recht. Da hilft nur probieren. War auch nur als kleine Auswahl gedacht
OpenNIC wäre auch nicht mein erster und zweiter Favorit, ziehe deutsche oder europäische Server vor IMOO -
@mike69 die müssen inzwischen nicht mehr deutsch oder europäisch per se sein ;) Außer es sind natürlich einzelne Kisten. Aber Anycast DNS Services wie Cloudflare und andere liefern die Requests auch geographisch nahe deiner Location an die entsprechende Kiste, ansonsten hätten alle die 8.8.8.8 eingetragen haben ja endlose Laufzeiten :)
Daher auch der Hinweis, das ggf. einfach mal bei euch lokal zu messen :)
-
Danke für die Hintergrundinfos dazu!
Nur leider kommen mir nun nach genauerem Hinsehen neue Fragen zum DNS-Server auf der PFSense auf.
Ich hoffe es ist okay, wenn ich hier diese Fragen los lasse.Unter Einstellungsseite "System -> Settings -> General" findet sich unter den DNS Servern folgende Funktion:
Allow DNS server list to be overridden by DHCP/PPP on WAN die per default aktiv ist, das bedeutet meinen DNS-Server, z.B. CCC mit 194.150.168.168 würde er im Fall, wenn meine Fritzbox andere Infos im DHCP-Setting hat, mit diesen dann eben ersetzen und meine Einstellung ignorieren. Habe ich das richtig verstanden?
Auch der Punkt: Disable DNS Forwarder erschließt sich mir ncoh nciht ganz.
Hiese das, dass mein DNS Resolver nicht mehr laufen würde?Hier mal meine Resolver Settings:
Und die Option "DNS Query Forwarding" ist ja auch im default aktiv.
Was genau ist nun mit dieser Option gemeint? Bedeutet das, der Resolver läuft mit dieser aktivierten Funktion ausschließlich als Forwarder und löst selbst keine DNS Anfragen mehr auf?
Macht es dann irgendeinen anderen Unterschied (etvl. Performancegründe), weshalb ich den Forwarder und nicht den Resolver im Forwarder Modus nutzen sollte?Dies ist hier meine Testfirewall zuhause mit der ich gerade alles etwas durchteste und versuch zu verstehen. Vielleicht könnt ihr mir hier etwas Licht ins dunkele Ende durchreichen.
VG, p54
-
@p54 said in Hardcoded DNS in Apps und Endgeräten:
Allow DNS server list to be overridden by DHCP/PPP on WAN die per default aktiv ist, das bedeutet meinen DNS-Server, z.B. CCC mit 194.150.168.168 würde er im Fall, wenn meine Fritzbox andere Infos im DHCP-Setting hat, mit diesen dann eben ersetzen und meine Einstellung ignorieren. Habe ich das richtig verstanden?
Korrekt, das sagt die Einstellung aus. Wenn nichts anliegt, nutze die vorgegebenen DNS Server (damit nicht gar keine da sind), wenn dir DHCP was anderes pusht, nutze diese.
Auch der Punkt: Disable DNS Forwarder erschließt sich mir ncoh nciht ganz.
Den Punkt musst du in Gänze lesen. Er bezieht sich nur auf die pfSense selbst (/etc/resolv.conf). Es geht also nur um die lokale Namensauflösung der Sense und der Dienste darauf und ob diese die angegebenen DNS Server plus den DNS Resolver nutzen können (wobei m.W. der Resolver zuerst gefragt wird) oder eben nur die angegebenen DNS Server und der Resolver nur bei direkten Anfragen an ihn (von anderen Clients) genutzt wird.
Hiese das, dass mein DNS Resolver nicht mehr laufen würde?
Nein, das hieße ;) , dass der Resolver lokal nicht mit zur DNS Auflösung herangezogen wird. Ob der Dienst läuft und wer ihn benutzt, regelst du ganz normal über den Service, was du per DHCP an Clients rausgibst und was du intern in deinem Netz zulässt und konfigurierst.
Und die Option “DNS Query Forwarding” ist ja auch im default aktiv.
Sicher dass sie das ist? IMHO ist genau diese Option nicht per default aktiv, das würde den Sinn des Resolvers nämlich ad-absurdum führen. Der Resolver soll selbst DNS Einträge auflösen und dazu den Query nicht an Upstream Server weitergeben. Schaltet man Forwarding ein, dann wird der effektive Sinn des Resolvers unterlaufen und man nutzt nur noch einen DNS Forwarder der alles nach draußen schickt. Im Prinzip - wenn du nicht pfBlocker nutzen würdest - könntest du dann den Resolver auch ausmachen und den Forwarder (dnsmasq) anmachen, der den gleichen Zweck erfüllen würde.
Macht es dann irgendeinen anderen Unterschied (etvl. Performancegründe), weshalb ich den Forwarder und nicht den Resolver im Forwarder Modus nutzen sollte?
Völlig abhängig davon was du tun möchtest. Wenn du bspw. Anfragen per DNS-over-TLS auflösen möchtest, dann braucht man den Forwarding Mode und muss das "overTLS" entsprechend konfigurieren. Dann werden alle DNS Calls an Upstream Server verschlüsselt weitergereicht -> dort aber eben aufgelöst und zurückgeliefert. Vorteil: Jemand der zwischen dir und dem Ziel-DNS sitzt kann deine DNS Abfragen nicht mehr abschnorcheln. Nachteil: Du verlässt dich auf den Anbieter (klar), würde man dort schnüffeln wollen, könnte man die wieder ablesen.
Resolving Vorteil: du verlässt dich nicht auf 2-4 DNS Server, sondern machst den Call zum Upstream (.de, .com, whatever) und lässt dir den SOA der Zieldomain geben. Nachteil: Die initiale Nachfrage dauert länger, weil du Upstream->SOA->Request durchgehst, dafür cached dann Unbound den Request so dass alles andere dann blitzschnell und ohne Transferzeit funktioniert. Sprich die Performance ist beim ersten Hit ein wenig langsamer, bei allen weiteren dafür schneller. Ich bin mir gerade nicht sicher ob Unbound im Forwarder Modus auch cached. Das ist denkbar. Nachteil dann beim Resolver: schnüffelt jemand an deinem Anschluß/deinen ISP ab, dann sieht er von deinem Anschluß eben die DNS Requests an Gott und die Welt. Dafür können zig DNS Server ausfallen, und es macht dir nichts aus, solang es nicht die primären Server der Domain sind, die du gerade auflösen willst ;)BTW: es ist heiß, wenn ich in der Hitze des Büros jetzt was verdreht hab, korrigiert mich :)
-
Hoffendlich hat @m0nji nichts dagegen, dass wir seinen Thread missbrauchen. :)
Habe mal namebench durchlaufen lassen, Google ist 199% schneller als die sense. :) Wusste es schon immer.
-
Schade das der Thread jetzt etas für die unbound Konfiguration missbraucht wird.
@JeGr kein Widerspruch
Angeblich wird auch im Forwarding Modus gecached. Werde ich mal mit namebench gegenchecken.@p54
Wenn es dir nur um Performance geht und du recht wenige Clients hast, nutze den DNS Service als Forwarder und trage 2-4 Server unter System -> General ein.
Willst du die Kontrolle darüber behalten, wer deine Anfragen beantwortet und niemanden die Möglichkeit geben deine Anfragen auszuwerten oder sie zu manipulieren, nutze den DNS Service als Resolver.Meiner Meinung nach funktioniert der Resolver Modus noch nicht so ganz wie ich es mir wünschen würde.
Man sollte selbst beim Resolver mittel "Prefetch Support" auch abgelaufene Cache Anfragen deutlich verkürzen können, da sie im Hintergrund von der pfSense erneut aufgerufen werden und damit im Cache gehalten werden. Allerdings funktioniert das in der aktuellen Version nicht sauber. Ebenfalls unschön ist, dass nach einem Router Neustart leider die Cache Tabelle wohl gelöscht wird. Nach einem Neustart und dem Namebench Test, ist meine pfSense wieder mit Abstand der langsamste DNS Server. -
@mike69 mach den Test in 10min noch mal und morgen noch einmal. Du wirst sehen, dass dein Resolver irgendwann der schnellste ist, sobald der Cache gefüllt wird/ist.
-
@m0nji said in Hardcoded DNS in Apps und Endgeräten:
Schade das der Thread jetzt etas für die unbound Konfiguration missbraucht wird.
Dann bin ich mal raus. Danke für den Tip mit den zweiten Durchlauf.
-
@mike69 und als kurzen Tipp noch, testet mal nicht nur gegen 8.8.8.8, sondern nehmt mal spaßeshalber auch 9.9.9.9 und vor allem 1.1.1.1 mit rein. Wenn schon extern und so ;)
-
@mike69 said in Hardcoded DNS in Apps und Endgeräten:
Dann bin ich mal raus. Danke für den Tip mit den zweiten Durchlauf.
Warum denn raus? Ich splitte das Thema einfach auf, sind ja beide durchaus interessant und wichtig :)
-
@jegr said in DNS Server, Resolver/Forwarder und andere Geschichten:
@mike69 und als kurzen Tipp noch, testet mal nicht nur gegen 8.8.8.8, sondern nehmt mal spaßeshalber auch 9.9.9.9 und vor allem 1.1.1.1 mit rein. Wenn schon extern und so ;)
Sorry, muss mich nebenbei um den Garten kümmern. :)
Kann ich tuten tun.
Erstmal schauen, wo ich das ändern kann. -
Hi,
nach ein paar tests mit den namebench siehts soweit gut aus, aber nur wenn ich cloudflare nehmen möchte
@jegr said in DNS Server, Resolver/Forwarder und andere Geschichten:
Warum denn raus? Ich splitte das Thema einfach auf, sind ja beide durchaus interessant und wichtig
Sorry für meine Anfragen im falschen Thema. Aber ja, interessant auf jedenfall und da kann man sich schön spielen damit.
Danke für eure Erklärung zu den anderen Unbound/ DNS Settings, jetzt wirds langsam wieder hell ;) -
Abend zusammen,
ich hätte noch eine Frage zum DNS Logging. In wie weit lässt PFSense das Logging für den DNS Server / Resolver zu?
Ich stell mich nämlich gerade an, mir nur die DNS-Anfragen anzeigen zu lassen.Hab ihr ein paar Tipps dazu wie und wo ich hier am leichtesten suchen muss, auch gern im via terminal mit clog.
Wahrscheinlich hier: /var/log/system.log mit nem grep -E “[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.53” sollte es wohl gehen.Evtl. probiere ich es morgen einfach mal aus was mir da zum Vorschein kommt. Aber auch hier würde ich mich sehr über input von euch freuen. :)
Schönen Abend. p54
-
@p54
Reicht dir das Logging im Webinterface nicht?
Loglevel stellst du im DNS Resolver unter Advanced ein.
-
Hier ein Test im Resolver Modus kurz nach einem Neustart des Routers.
Daran sieht man schön, wenn der Cache voll läuft, ist der Resolver irgendwann der Schnellste.
-
Morgen,
@m0nji said in DNS Server, Resolver/Forwarder und andere Geschichten:
Loglevel stellst du im DNS Resolver unter Advanced ein.
ja da war es auch. Na den Punkt hatte ich nicht gleich gesehen. Danke!
VG, p54