DNS
DNS Server
- Installation
yast -i bind yast -i yast2-dns-server
- Konfiguration
YAST Modul DNS unter Netzwerkdienste
Zuerst muss eine Liste der DNS Forwarder Adressen eingegeben werden, das sind die vom Provider vorgegebenen DNS Server Adressen.
Hinzufügen einer Master Zone. z.B. suserver.gruber
Firewall Port öffnen, Startoptionen festlegen
Master Zone definieren und Einträge vornehmen
- Konfiguration ergänzt am 05.04.2011
Änderung des Log Verhaltens von bind:
# /etc/named.conf { logging ... category resolver { null; }; };
- Reverse DNS
Auflösung der localhost-Adressen
# /var/lib/named/127.0.0.zone # ... 1.0.0.127.in-addr.arpa. IN PTR localhost. 1.0.0.127.in-addr.arpa. IN PTR server.localhost. 2.0.0.127.in-addr.arpa. IN PTR localhost. 2.0.0.127.in-addr.arpa. IN PTR server.localhost.
Erst nach dem Hinzufügen der Einträge für 127.0.0.2 funktionierte der Zugriff auf das CUPS Webinterface über den Proxy SQUID.
DNS Cache löschen
Wenn eine Verbindung zu einem Host nicht hergestellt werden kann, so liegt das eventuell an einer nicht mehr gültigen IP, die noch im DNS Cache liegt.
- SSH mit der Option -v starten
ssh -v servername.example.com
Somit wird ersichtlich, ob die IP aktuell ist.
- DNS Cache leeren
Dieses Kommando gilt für openSUSE
rcnscd reload
DNS Records
Eine übersichtliche Erklärung der verschiedenen DNS Einträge gibt es hier bei world4you
Dynamisches DNS - DDNS
DDNS Account
Mit einem DDNS Service wird die IP Adresse des eigenen Internet Gateway ( = Router) einem Domainnamen zugeordnet. Ich habe gute Erfahrungen mit dem Anbieter freedns.afraid.org gemacht.
Hier kann man sich registrieren bei freedns.afraid.org. Mit dem Gratis Account sind maximal 5 virtuelle Domains möglich.
Virtuelle Domain anlegen
Nach der Anmeldung kann man durch Klick auf den Menüpunkt Sudomains eine Subdomain anlegen, die auf den eigenen Router zeigt.
- Man kann aus einer großen Zahl von Gratisdomains eine beliebige auswählen.
Die eigene Domain lautet dann z.B. myName.mooo.com
Abgleich der eigenen IP mit dem DDNS Service
Unter Linux sorgt folgendes Kommando dafür, dass die eigene IP zum DDNS Anbieter gelangt
ddns_id="xyxyxyxyxyxyxyxyxyxyxyxyx" /usr/bin/wget -O - http://freedns.afraid.org/dynamic/update.php?$ddns_id > /tmp/freedns_suserver.log 2>&1 &
Die eigene ddns_id ist eine Zeichenfolge, die man auf der Seite von freedns.afraid.org unter dem Menüpunkt Dynamic DNS ganz unten dem Link quick cron example entnehmen kann.
- Diesen Befehl, wie auf der Seite empfohlen, als cronjob definieren.
Troubles
Wenn man sich innerhalb von 6 Monaten nicht auf der Website von freedns.afraid.org einloggt, bekommt man ein Erinnerungsmail. Falls dieses übersehen wird oder im SPAM landet, wird der Account als inaktiv gesetzt. Um das zu vermeiden, habe ich mir nun einen Premium Account ($ 30,00 pro Jahr) geleistet.
Einfaches DDNS ohne Anbieter
Das DDNS Service könnte aus irgendeinem Grund einmal nicht funktionieren oder eingestellt worden sein. Daher habe ich eine eigene einfache Lösung gefunden, um jederzeit die öffentliche IP von diversen Rechnern, die ich betreue, zu bekommen.
PHP Seite erstellen
Am eigenen öffentlichen HTTP Server eine Seite erstellen , die die IP des aufrufenden Rechners in einer Datei speichert
<?php $fileName = __DIR__."/".$_GET["hostname"]."_".$_SERVER["REMOTE_ADDR"]; echo "Update auf ".$_SERVER["SERVER_NAME"]."\n"; echo $_SERVER["REMOTE_ADDR"]; touch ($fileName) or trigger_error($fileName." kann nicht angelegt werden.");
Bash Kommando am Client
Vom Client diese Seite regelmäßig mit folgendem Kommando auf der Konsole aufrufen
wget -qO - https://myserver/get_ip.php?hostname=$(hostname) echo