OpenProblem

(Und schon erkennt man das Problem mit Symbolbildern: die abgebildeten Macs sind vom im Folgenden beschriebenen Problem gar nicht betroffen. Wer findet den Fehler?)

Nicht mehr ganz tagesaktuell ist das Problem, das Mac-Usern mit Fritz!-Boxen nach dem Update ihres Macs auf OSX 10.5.6 begegnet: Der Mac fragt bei jedem Aufruf einer WWW-Adresse (vulgo: URL) hektisch gleich mehrfach beim nächstgelegenen DNS-Server nach. Der nächstgelegene DNS-Server ist die Fritz!-Box selber, und die antwortet ebenso hektisch mit den zum URL passenden IP-Adressen – aber nicht unbedingt in der Reihenfolge, in der der Mac seine Anfragen abgefeuert hat. Das Ergebnis: Nachdenken auf beiden Seiten, und in Safari, Mail und anderen die Apple-Rendering-Maschine Webkit nutzenden Applikationen bauen sich Webseiten mit einer komfortablen Verzögerung von 10, 15 Sekunden auf. Soweit zum Thema High Speed Internet.

Der Fehler liegt nach allem, was man so hört, bei Apple ebenso wie bei den Fritz!en von AVM, aber nur letztere haben schon einen Patch herausgegeben, und den nur für die aktuelle Fritz!-Box 7270. Von Apple kommt kein Pieps in der Sache.

Nun gibt es mehrere Möglichkeiten, dem Problem zu begegnen:

  • Fritz!-Box gegen eine vom Typ 7270 austauschen
  • Firefox statt Safari benutzen – der Firefox handhabt DNS-Fragen anders und baut einen eigenen DNS-Cache auf
  • Fritz!-Box von den DNS-Abfragen entbinden

Lösung No. 1 kommt nicht in Frage – schließlich funktioniert meine 7170 einwandfrei. Lösung No. 2 wäre denkbar, aber nun habe ich mich schon daran gewöhnt, wie schnell Safari und speziell die nightly builds von Webkit sind. Bleibt Lösung No. 3: Ich habe allen 10.5.6ern in meinem Haus gesagt, sie sollen DNS-Anfragen künftig weder an die Fritz!-Box noch an die DNS-Server meines Providers richten, sondern an OpenDNS.

Einschub, aber wichtig: OpenDNS hört sich sehr offen an, ist es aber nicht. Es ist ein kommerzieller Dienst, der optimierte DNS-Dienste anbietet und als Gegenleistung vermutlich auswertet, was seine Nutzer so ansurfen. Nicht, dass andere DNS-Betreiber das nicht täten…

HOWTO: In Systemeinstellungen > Netzwerk die benutzte Netzwerkschnittstelle (Ethernet, WiFi) auswählen und die Open-DNS-Server-Adressen 208.67.222.222 und 208.67.220.220 eintragen. Das war’s schon. Nach der Behebung des Problems durch AVM und/oder Apple kann man die Einträge ja wieder löschen und den Default-DNS-Server nutzen.

Wer aber in der Zwischenzeit an OpenDNS Gefallen gefunden hat und es gerne weiter verwenden will, kann auch der Fritz!-Box sagen, sie solle künftig nicht den Provider-DNS-Server abfragen, sondern den von OpenDNS. Vorteil: Man kann z.B. Phishing- oder – wenn Kinder im Haus – Schweinkramseiten filtern lassen und muss nicht jeden Mac einzeln darauf hintrimmen. Nachteil: Die Fritz!-Boxen bieten nicht von vorneherein die Möglichkeit, alternative DNS-Server einzutragen. Ein wenig Hacken für Arme ist schon nötig. Und so geht’s (jedenfalls bei mir – jegliche Haftung ausgeschlossen!):

  1. Telnet-Server der Fritz!-Box aktivieren, da die Konfiguration nur über Telnet funktioniert. Dazu ein an die Fritz!-Box angeschlosssenes Telefon abnehmen und #96*7* wählen; das funktioniert aber nur bei Boxen mit Telefonie-Funktion und neuerer Firmware. Bei allen anderen Boxen sind Downloads und Installationen nötig, die ich nicht ausprobiert habe und deshalb auch nicht weitergebe. Mit #96*8* lässt sich der Telnet-Service später übrigens wieder ausschalten.
  2. Terminal-Fenster öffnen und mit telnet fritz.box (oder der IP-Adresse der Box) mit der Box verbinden. Das Passwort ist das gleiche wie im Web-Interface.
  3. Mit cd /var/flash ins richtige Verzeichnis wechseln.
  4. Mit nvi ar7.cfg die richtige config-Datei öffnen (offensichtlich ist auf der Fritz!-Box nur Vi als Editor installiert – etwas Mut ist also für Ungeübte von Vorteil!)
  5. Mit /overwrite die Zeilen suchen, in denen alternative DNS-Server eingetragen sind. In diesen Zeilen sind für dns1 und dns2 jeweils die Adressen 0.0.0.0 eingegeben.
  6. Mit i in den Insert-Modus gehen, für dns1 208.67.222.222 eingeben, für dns2 208.67.220.220.
  7. Mit der Escape-Taste den Insert-Modus verlassen.
  8. Mit :wq die Änderungen schreiben (w) und Vi verlassen (q). Der Doppelpunkt ist wichtig!
  9. Mit reboot! die Fritz!-Box neu starten – dabei geht die Telnet-Verbindung zwar flöten, aber wir brauchen sie auch nicht mehr. Meine Fritz!-Box hat auf das einfache reboot-Kommando nicht reagiert und verlangte nach dem Ausrufezeichen.

Das war’s. Meine Fritz!-Box nutzt jetzt OpenDNS als Default-DNS-Server; rückgängig machen lässt sich das auf dem gleichen Weg, nur dass an entsprechender Stelle wieder 0.0.0.0 eingetragen wird. Und meine Macs wissen bis zur Erledigung des o.a. Problems auch, an wen sie sich wenden müssen.