Das Problem ist, dass das .local
Domäne sollte nicht in DNS vorhanden sein - sie ist für lokale mDNS reserviert -, aber die DNS-Server von Comodo geben vor, dies zu tun.
Warum Comodo-DNS defekt ist
Comodo DNS ist nicht vollständig sauber. Wenn Sie nach einem nicht vorhandenen Namen suchen, anstatt mit "Diese Domäne gibt es nicht" zu antworten, behaupten die Server von Comodo, dass alle diese Namen auf ihre eigene Website verweisen DNS-Hijacking oder "NXDOMAIN-Hijacking").
Zum Beispiel, wenn Sie versuchen, auf eine Adresse wie zuzugreifen http: //this.goes.nowhere , Comodos Catch-All-Website sagt nur "Der Domainname ist ungültig", zusammen mit dem Comodo-Logo und einigen Textanzeigen.
Es ist wichtig zu verstehen, dass dies der Fall ist nicht das gleiche wie das Beantworten von "Domäne existiert nicht" für die DNS-Suche. Comodos DNS-Server sagen, dass die Domänen tun existieren und zeigen auf Comodo-eigene IP-Adressen. Der Unterschied ist sehr deutlich, wenn Sie dies in Programmen feststellen andere als Webbrowser ; Wenn Sie beispielsweise versuchen, eine Verbindung zu einem anderen Computer herzustellen, verwenden Sie ssh
Aber wenn Sie den Namen falsch eingeben, bemerken Sie möglicherweise nicht einmal, dass Sie eine Verbindung zum Server von Comodo herstellen. Wikipedia wird Sie auflisten noch mehr Dinge, die brechen mit solchen DNS-Anbietern.
... und warum auch OpenDNS kaputt ist
All dies wird übrigens auch von OpenDNS ausgeführt - die OpenDNS-Server tun genau das Gleiche und leiten Sie auf eine OpenDNS-Such-Website weiter, wenn Sie versuchen, auf eine nicht vorhandene Website zuzugreifen (obwohl Sie dies ablehnen).
Der Unterschied besteht nur darin, wie Comodo und OpenDNS mit den Reservierten umgehen .local
TLD.
Was ist Avahi?
OS X und Linux verwenden ein Protokoll mit der Bezeichnung mDNS, mit dem Sie unter demselben Namen auf andere Computer in demselben LAN zugreifen können rockos-laptop.local
ohne dass Sie einen internen DNS-Server einrichten oder IP-Adressen direkt eingeben müssen. (Unter Linux ist "Avahi" der Name des Programms, das mit mDNS spricht.) Standard-mDNS-Setups verwenden die .local
Domain für alle diese Namen, um zu vermeiden, sie mit globalen Namen zu vermischen.
In vielen Unternehmensnetzwerken sind jedoch bereits interne DNS-Server eingerichtet, und die meisten werden verwendet .loc
oder .corp
oder .lan
Für ihre eigenen Zwecke stellte sich heraus, dass einige das verwenden .local
Domäne auch.
Also, wenn Sie versucht haben, zuzugreifen something.local
Das Betriebssystem wusste nicht, wo es zuerst gefragt werden sollte - andere Computer im LAN, die mDNS verwenden, oder die eigenen DNS-Server. Aus diesem Grund, wenn das Betriebssystem das sieht .local
Domäne in DNS vorhanden ist, muss lokale mDNS-Suche deaktiviert werden. Davon spricht die Warnung.
Warum verursacht OpenDNS keine Warnung?
OpenDNS hat zwar auch eine Catch-All-Antwort, schließt jedoch bestimmte reservierte Toplevel-Domänen wie aus .test
. .local
, oder .example
und gibt einen tatsächlichen NXDOMAIN-Fehler für sie zurück.
Comodo DNS behauptet jedoch weiterhin, dass alle Namen darunter stehen .local
verweisen Sie auf die Catch-All-Website. (Und nur um Verwirrung hinzuzufügen, leitet die Catch-All-Website Ihren Browser weiter http://127.0.0.1
Immer wenn die Domäne mit ".local" endet, versucht ein Browser, auf den eigenen Computer zuzugreifen. Diese Umleitung erfolgt auf HTTP-Ebene, so dass Programme, die keine Browser sind, weiterhin versuchen, eine Verbindung zu Comodos Servern herzustellen.)
Zum Beispiel...
$ host superuser.com
superuser.com hat die Adresse 198.252.206.140
$ host this.does.not.exist
this.does.not.exist hat die Adresse 92.242.144.50
$ host nichtxistent.local
nonexistent.local hat die Adresse 92.242.144.50
Ein guter DNS-Server würde sagen:
$ host this.does.not.exist
Host this.does.not.exist nicht gefunden: 3 (NXDOMAIN)
Wie kann ich das beheben?
Verwenden Sie kein Comodo-DNS.
(Ich empfehle, OpenDNS ebenfalls zu vermeiden oder sich zumindest von der "Tippfehler-Korrektur" und anderen derartigen Diensten bei ihnen abzuwenden) Instrumententafel .)
Erwägen Sie die Verwendung eines "sauberen" öffentlichen DNS-Anbieters wie Google Public DNS , oder führen Sie einfach einen DNS-Server aus, indem Sie Unbound installieren und auf die DNS-Einstellungen verweisen 127.0.0.1
.
Die DNS-Server Ihres Internetanbieters funktionieren wahrscheinlich auch einwandfrei.