UUGRN:Dienste/DNS

Aus UUGRN

Auf der Vereinsinfrastruktur gibt es derzeit das in diesem Artikel beschriebene DNS-Konzept.

Grundsätzlich unterscheidet sich das Konzept in die Aufgaben DNS-Resolver und DNS-Zonefiles.

DNS Resolver

Auf dem Jailserver top.uugrn.org läuft ein named(8), der als DNS-Forwarder fungiert. Alle Jails auf top.uugrn.org verwenden daher in

/etc/resolv.conf(5)
domain uugrn.org
nameserver 195.49.138.97

Sollten extern andere Resolver benötigt werden, so braucht dieses lediglich zentral in der named.conf angepasst werden, die erforderlichen Änderungen im Falle eines Umzuges bleiben überschaubar.

DNS Zonen

Jedes Mitglied, das über ein eigenes Jail verfügt, aber auch der Verein selbst, kann im eigenen Jail nach eigenem belieben DNS Zonen pflegen. Aus Gründen der Erreichbarkeit und um bei evtl. erforderlichen Änderungen von IP-Adressen keine unübersichtlichen Abhängigkeiten zu bekommen, sollen diese Jail-DNS-Server nicht extern zum Auflösen von Hostnamen der Zone verwendet werden. Dieses erledigt ein DNS-Provider als DNS-Hidden-Primary: Innerhalb der Zone ist das Jail als "master" bekannt, der DNS-Provider konfiguriert 2 oder mehr Slave-Server, die sich dort die Zonen ziehen.

Extern (beim Registrar) werden dann nur diese beiden Slave-Server als Resolver für die Domain bekannt gegeben, d.h. alle externen Zugriffe auf die Zone erfolgen nur und ausschließlich auf die Slaves, nie auf den hidden Primary, da dieser nicht bekannt ist.

Derzeit bietet Jürgen Unger (jpru.de) uns diesen Service mit an, wobei private Domains direkt über jpru.de geregelt werden müssen.

Sinnvollerweise, aber nicht notwendigerweise wird auch der named auf top.uugrn.org als Slave-Server für diese Zonen eingerichtet, weil er der primäre Resolver für alle Jails ist und somit "interne" Domains auch direkt selbst beantworten kann. Dieser Slave (hier 195.49.138.97) muss allerdings getriggert werden, damit er sich aktuelle Zonefiles abholt ({also-notify ... };).


Grundsätzliches

  • Domainfragen, Bestellung und Abfrechnung erfolgt direkt zwischen dem UUGRN-Mitglied und jpru.de.
  • Domaineigentümer ist immer das Mitglied, auch nach Beendigung der Mitgliedschaft bleibt die Domain erhalten, sollte dann aber per KK-Antrag weggezogen werden.
  • Soll ein anderer Domainprovider verwendet werden, kann dies eingerichtet werden. Bitte nachfragen.
  • Die UUGRN-Administratoren unterstützen die Mitglieder dabei, das eigene Jail DNS-tauglich zu machen, helfen beim Setup etc.
  • Mitglieder mit eigenem Jail können ihre Zonen jederzeit eigenständig verändern und anpassen. Nach reload des named sollten die Slaves entsprechend die Zone neu ziehen.


example.com

Aus einem Mitgliedsjail heraus können eigene / private Domains als hidden primary gehostet werden. Mitglieder, die eigene / private Domains bei UUGRN hosten wollen, aber (noch) kein eigenes Jail haben, können dies über das Vereins-Jail eintragen lassen.


Das Beispiel enthält folgende IP-Adressen:

IP Hostname Verwendung
195.49.138.123 example.uugrn.org Mitgliedsjail, Name+IP entsprechend anpassen
195.49.138.97 top.uugrn.org Ist DNS-Resolver und kennt außerdem auch alle Zonen als Slave
193.109.237.1 ns1.jpru.de Hostet alle Zonen als Slave, wird beim Registrar als authorativer DNS eingetragen
195.49.136.1 ns2.jpru.de Hostet alle Zonen als Slave, wird beim Registrar als authorativer DNS eingetragen

Für example.com sieht es so aus:

/var/named/etc/namedb/named.conf (komplett)
options {
        directory       "/etc/namedb";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats"; 

        listen-on       { 195.49.138.123; };

        forward only;
        forwarders {
                195.49.138.97;
        };
};

zone "." {
        type hint;
        file "named.root";
};

zone "0.0.127.IN-ADDR.ARPA" {
        type master;
        file "master/localhost.rev";
};

// example.com
zone "example.com" {
        type master;
        file "master/hosts.example.com";
        notify yes;
        also-notify {
            195.49.138.97;
        };
};
/var/named/etc/namedb/master/hosts.example.com (komplette Datei)
$ttl 38400
@       IN      SOA     ns1.jpru.de. hostmaster.jpru.de. (
                        2024112401      ; serial
                        10000   ; refresh (2 hours 46 minutes 40 seconds)
                        1800    ; retry
                        604800  ; expire (1 week)
                        86400 ) ; minimum (1 day)
                IN      NS      ns1.jpru.de.
                IN      NS      ns2.jpru.de.
                IN      MX      10 up.uugrn.org.
$ORIGIN example.com.
www             IN      CNAME   example.uugrn.org.
test42          IN      CNAME   example.uugrn.org.

siehe auch