DNS

Aus Mediawiki Ferdinand Gruber
Zur Navigation springen Zur Suche springen

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