Montag, 7. September 2009

OpenDNS: Erweiterte Funktionen nutzen

OpenDNS In Zeiten von politisch-motivierter Internetzensur gewinnen freie DNS-Server wie OpenDNS immer mehr an Bedeutung. Was DNS (Domain Name Service) so macht, wofür es gut ist und wie man OpenDNS am heimischen Router einrichten kann, hatte ich bereits in einem früheren Artikel beschrieben.
Heute geht’s um etwas anderes: OpenDNS hat eine Reihe von Funktionen und Konfigurationsoptionen, die es erlauben, den Dienst dem eigenen Geschmack in Grenzen anzupassen.

Was stört mich?

OpenDNS hat standardmäßig eine Funktion eingeschaltet, die auf Tippfehler reagiert. Wenn man im Browser also einen nicht-existenten Domain-Namen eingibt, dann bekommt man keine normale Fehlerseite sondern eine Art Google-Ergebnisliste mit dem OpenDNS-Logo. Das will ich nicht! Smile Zudem beeinflusst dies die Namensauflösung von Intranet-Domains, so dass ich manchmal Probleme mit dem VPN (Fernzugriff) zum Firmennetzwerk habe.
Desweiteren schützt OpenDNS vor offensichtlichen (und nicht offensichtlichen) Phishing-Seiten. Prinzipiell eine gute Idee – aber wenn man gerade in der Webkonfiguration seiner Strato-Domain eingeloggt ist und dann bei einem Klick auf eine Option nur eine Phishing-Warnung sieht, dann ist das … Mist.
Andersherum möchte man vielleicht seine Kinder besser schützen auf ihren Streifzügen durch das Internet, dafür erlaubt OpenDNS das Filtern von Netzinhalten in zahlreichen Kategorien.

Also, wie weiter?

Erstmal habe ich mich bei OpenDNS angemeldet, das kostet nichts und ist schnell erledigt. Nach dem Klick auf den Link in der Bestätigungsemail kann man sich in den persönlichen Bereich von OpenDNS einloggen.
OpenDNS: Netzwerk eintragen Als erstes muss man ein Netzwerk anlegen, das tut man hier. “Netzwerk” ist ein ziemlich oberflächlicher Begriff, denn es kann auch eine einzelne IP-Adresse sein. Wenn man an einem ADSL-Anschluss surft (egal ob über einen Router oder direkt mit dem Internet verbunden), dann hat man in der Regel eine dynamische IP-Adresse. Dynamisch deswegen, weil sie sich bei der nächsten Einwahl (meist erfolgt eine Zwangstrennung aller 24h) erneuert.
Damit OpenDNS aber die Einstellungen für genau euren Rechner (oder das Netzwerk) abrufen kann, muss es wissen, welche IP-Adresse gerade euch gehört. Dieser Mechanismus ist ähnlich dem Dynamisches DNS (oder auch kurz DynDNS), das ich im o.g. Artikel mit thematisierte.
Mein Router (und viele andere auch) unterstützt DynDNS in dem Sinne, dass er nach einem Reconnect (und damit neuer IP-Adresse) automatisch einen DynDNS-Dienst mit den neuen Informationen füttert. Der Router unterstützt mehrere Dienste aber leider kein OpenDNS. OpenDNS bietet für solche Fälle eine Windows- und Mac-Software an, aber ich habe keinen Windows-PC, der rund um die Uhr läuft. Ich habe “nur” meine Linux-basierte NSLU2. Und manuelles Aktualisieren (das geht natürlich immer!) ist für mich KEINE Alternative.
Man sollte noch erwähnen, dass OpenDNS auch einen kostenlosen Dienst namens DNS-O-Matic anbietet, den man wiederum mit passender Software bedienen kann. Das besondere daran ist die Tatsache, dass DNS-O-Matic verschiedene DynDNS-Anbiter unterstützt – man muss also nur einmal ein Update an diesen Dienst schicken und dieser sorgt sich dann um die weitere Verteilung. Theoretisch hätte ich das unten Beschriebene auch alles damit umsetzen können, wäre dann aber komplett auf die Verfügbarkeit meiner NSLU angewiesen: Wenn diese dann ausfällt, gibt’s kein Update – das ist mir zu riskant, ich habe also jetzt zwei Updates, einen direkt vom Router an an die Domain homeip.net und einen von der Slug/NSLU an OpenDNS (nicht so kritisch). Aber zurück zu meiner momentan eingesetzten Lösung:

Was liegt also näher als die Linux-Kiste zum DynDNS-Update bei OpenDNS zu nutzen?

Eine kurze Google-Suche brachte mich auf folgenden Artikel im OpenDNS-Forum.
  1. use wget + php somewhere on the net (ipchicken.com) and parse out the public IP. I have this setup for myself here - use if you like all you want, on a VPS. http://mochabomb.com/publicscripts/ip.php - source at http://mochabomb.com/publicscripts/ip.txt
  2. Diff that against the previous result - if different, run the update.
  3. wrote a perl script to do this: http://mochabomb.com/publicscripts/opendns-updater.txt - if you make better please post it here...
Das sieht doch machbar aus, also das Perl-Skript von Punkt 3 laden, in opendns-updater.pl umbenennen und mittels “chmod o+x opendns-updater.pl” ausführbar machen.
Danach die Datei öffnen, um den OpenDNS-Benutzer und das zugehörige Passwort an folgender Stelle eintragen:
# OpenDNS Account Info
$USERNAME='Hier den Benutzernamen eintragen';
$PASSWD='Hier das Passwort eintragen';
Ich habe dann noch die Pfade meinen Bedürfnissen angepasst, so lasse ich jetzt z.B. nach /var/log/ loggen.
$LOGFILE="/var/log/IPupdater.log";v
open LOG, ">>$LOGFILE";

$OLDIPFILE="/var/tmp/oldIP.txt";
open OLDIP, "<$OLDIPFILE";

$TMPIPFILE="/var/tmp/tmpIP.txt";
Danach ein schneller Test auf der Kommandozeile, ob alles klappt.
//NSLU2/var/tmp# /root/Sync-Skripte/opendns-updater.pl
OpenDNS Update Result:
Old IP was ; was updated to 88.74.215.108
Sehr gut. Geht! Tongue out
Nun das Ganze noch regelmäßig aufrufen, das erledigt ein entsprechender Eintrag in der /etc/crontab:
0,10,20,30,40,50  *  *   *   *  root  /root/Sync-Skripte/opendns-updater.pl > /dev/null
Das Skript wird also alle 10 Minuten aufgerufen und ermittelt die aktuelle (externe, öffentliche) IP-Adresse. Diese wird mit der letzten verglichen, wenn beide sich unterscheiden, wird ein Update am OpenDNS-Server angestoßen.

Was kann man bei OpenDNS einstellen?

OpenDNS: Erweiterte EinstellungenWie man auf dem nebenstehenden Bild erkennen kann, habe ich die meisten der erweiterten Features ausgeschaltet. Kein Phishing-Schutz, keine Content-Check, keine Tippfehlerberichtigung.
Ich liebe das Risiko! Surprised
Solange es überschaubar ist … Tongue out
Die Einstellungen erreicht man über folgenden Link:
Settings
Man kann auch ein eigenes Logo einbinden oder die Texte für die Warnmeldungen anpassen, schaut einfach mal drauf.
Insgesamt liefert OpenDNS sehr viel – und das ohne Kosten für den Anwender. Eine weiterhin empfehlenswerte Alternative zu den deutschen Zensursula-Servern!

blog comments powered by Disqus

Design von Dicas Blogger, angepasst durch Mario Ruprecht