[ISP3] DNS Konfiguration

Quest

Member
Hallo zusammen

Die DNS Features von ISP3 habe ich bisher noch gar nicht wirklich genutzt. Hab einfach immer alles in mein Zonefile bei Hetzner eingetragen.
Jetzt wollte ich mal testweise eine Domain über myDNS auf meinem Server steuern und hab den Robot von Hetzner angewiesen sich als Slave das Zonefile von meinem Server zu holen.
Die IP-Adressen der Hetzner-DNS habe ich für den Zone-Transfer eingetragen.
Nach Einrichtung der Zone und der Einträge kommt leider bei einem nslookup auf die Domain:
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Zeitüberschreitung bei Anforderung an ns1.first-ns.de

Vermutlich fehlen mir da noch ein paar Einträge in meinem Zonefile oder ich hab einfach sonst irgendwas falsch eingetragen.
Werft doch bitte mal einen kurzen Blick auf den Export von mydns ob ihr etwas erkennen könnt:
Code:
# mydnsexport diversnetwork.de.
$TTL 86400
; Zone: diversnetwork.de. (#3)
; Created by "mydnsexport diversnetwork.de."
; Wed Feb 25 19:13:47 2009
$ORIGIN diversnetwork.de.

@       IN SOA  ns1.divepage.net.       mail.meinedoma.in. (
        2009022534        ; Serial
        28800             ; Refresh
        7200              ; Retry
        604800            ; Expire
        86400           ) ; Minimum

*                       86400   IN A            88.198.121.94
diversnetwork.de.       86400   IN A            88.198.121.94
diversnetwork.de.       86400   IN MX           5 mail.diversnetwork.de.
diversnetwork.de.       86400   IN NS           ns1.divepage.net.
diversnetwork.de.       86400   IN NS           ns1.first-ns.de.
 

Till

Administrator
Das sieht soweit ok aus. Um den DNS Server zu Testen kannst Du den Folgenden Befehl auf dem Server ausführen:

dig @localhost diversnetwork.de

Um einen vollständigen DNS Record als Beispiel anzulegen nimmt man am besten den DNS Wizard.
 

Quest

Member
dig hab ich auf meinem server gar nicht drauf.
meines Wissens kommt das doch mit dem Paket dnsutils?
Dieses erfordert laut Apt aber bind9-host
Kommt sich das mit dem myDNS in die Quere?

Ich hab aber mal von meinem Rechner aus mit nslookup meinen Server als DNS eingestellt (server ns1.divepage.net) und dann noch mal versucht aufzulösen.
Dann funktioniert das.
Nur von externen DNS scheint das nicht zu funktionieren.
In welcher Log kann ich denn nachschauen ob und wenn ja wann sich andere Server erfolgreich eine Zone transferiert haben?

Den Wizard würd ich ja gern verwenden, aber da müsste ich ja auch erst mal Templates für erstellen.
 

Quest

Member
Noch eine Idee, könnte am mydns-config was nicht stimmen wodurch er keine Zonetransfer an Slave Server zulässt?
Hier meine Config:

Code:
db-host = localhost             # SQL server hostname
db-user = ispconfig             # SQL server username
db-password = xxx         # SQL server password
database = dbispconfig          # MyDNS database name


                                # GENERAL OPTIONS

user = nobody                   # Run with the permissions of this user
group = nogroup                 # Run with the permissions of this group
listen = *                      # Listen on these addresses ('*' for all)
no-listen =                     # Do not listen on these addresses


                                # CACHE OPTIONS

zone-cache-size = 2048  # Maximum number of elements stored in the zone cache
zone-cache-expire = 60  # Number of seconds after which cached zones expires
reply-cache-size = 2048 # Maximum number of elements stored in the reply cache
reply-cache-expire = 30 # Number of seconds after which cached replies expire


                                # ESOTERICA

log = LOG_DAEMON        # Facility to use for program output (LOG_*/stdout/stderr)
pidfile = /var/run/mydns.pid    # Path to PID file
timeout = 120   # Number of seconds after which queries time out
multicpu = 1    # Number of CPUs installed on your system
recursive =                     # Location of recursive resolver
allow-axfr = yes # Should AXFR be enabled?
allow-tcp = yes  # Should TCP be enabled?
allow-update = no       # Should DNS UPDATE be enabled?
ignore-minimum = no     # Ignore minimum TTL for zone?
soa-table = dns_soa     # Name of table containing SOA records
rr-table = dns_rr       # Name of table containing RR data
soa-where = server_id = 1               # Extra WHERE clause for SOA queries
rr-where =  server_id = 1               # Extra WHERE clause for RR queries
use-soa-active = yes # To fix bug 295 where active or inactive status is ignored.
use-rr-active = yes# To fix bug 295 where active or inactive status is ignored.
 

Till

Administrator
Es dauert bis zu 48 Stunden bis sich externe nameserver umstellen. wenn der Server bei localhost das richtige zurück gibt, dann ist er auch korrekt konfiguriert.
 

Quest

Member
Führt der myDNS eigentlich bei einer Änderung durch ISPConfig ein Notify an die eingetragenen Nameserver der Zone durch? Damit ließe sich die Zeit doch verkürzen, oder?

2 weitere Fragen von weiter oben bleiben noch:
Kommt sich myDNS mit dem Paket dnsutils (erfordert bind9-host) in die Quere?
Über ein anderes Paket komm ich scheinbar nicht an dig ran.
Wie wird denn so ein DNS Template bei ISP3 aufgebaut?
 

Till

Administrator
Führt der myDNS eigentlich bei einer Änderung durch ISPConfig ein Notify an die eingetragenen Nameserver der Zone durch? Damit ließe sich die Zeit doch verkürzen, oder?

Nein. Du kannst aber mydns neu starten, um ein notify auszuführen. Es kann aber trotzdem bis zu 48 Stunden dauern, da dns Einträge von den diversen Zugangsanbietern gecached werden.

Kommt sich myDNS mit dem Paket dnsutils (erfordert bind9-host) in die Quere?

Nicht solange Du ihn nicht startest.

Wie wird denn so ein DNS Template bei ISP3 aufgebaut?

Schau Dir mal das mitgelieferte Beispiel an. Es enthält alles, was möglich ist.
 

Quest

Member
Schau Dir mal das mitgelieferte Beispiel an. Es enthält alles, was möglich ist.

Ich bin seit der 3.0.0.5 dabei und hab immer brav SVN-Updates gemacht, aber bei mir ist kein Beispiel drin. Ist da möglicherweise ein Insert bei einem Update schief gelaufen?

Was die DNS Konfiguration angeht:
Hetzner bietet mir ja an die 3 Standard-NS von Hetzner als Secondaries zu nutzen, die sich dann immer von meinem MyDNS die Zonefiles holen.
Für die Denic bleibt der Eintrag ja vermutlich dann bei den 3 Hetzner NS.
Nur scheint das mit dem Zonetransfer nicht so zu klappen wie gewünscht.
Wenn ich mit nslookup die Domain aufzulösen versuche bekomme ich einen DNS Timeout. Versuche ich eine andere Domain auf meinem Server aufzulösen für die der Primary DNS noch einer der Hetzner DNS ist, dann klappt das wunderbar.
 

Quest

Member
... scheinbar bin ich ja der einzige, der Probleme mit myDNS in Kombination mit Secondary-NS-Einträgen von Hetzner hat, aber es funktioniert immer noch nicht.
An der Zone von diversnetwork.de habe ich seit Freitag früh nix mehr geändert, müsste also längst auf die Secondary Server transferiert sein.
Die IP-Adressen der Secondaries hab ich auch in das Transfer-Feld eingetragen. Ebenfalls stehen sie als NS-Records im Zonefile und sollten ja bei Neustart von myDNS - was ich übers Wochenende verteilt ein paar mal gemacht habe - ein Notify bekommen.

Versuche ich Einträge in meiner Zone diversnetwork.de. über meinen myDNS ns1.divepage.net aufzulösen klappt das wunderbar. Versuche ich über einen Hetzner-DNS oder einfach nur über den DNS den mir Arcor bei der Verbindung zuweist aufzulösen bekomme ich nach wie vor nur einen Timeout.
 

Quest

Member
Die ist für diese Zone recht simpel:
Option "Nur Secondary Eintrag"
IP des Nameservers 78.46.85.41 (Haupt-IP meines Rootservers)

Bei dieser Option sollten laut Hetzner Support alle 3 NS von Hetzner als Slave fungieren und von der angegebenen IP als Master das Zonefile für die Zone transferieren.
Die IPs dieser 3 NS habe ich in ISP im entsprechenden Feld eingegeben.
 

Quest

Member
Habe ich gemacht. Danach habe ich 15 Minuten gewartet damit der slave genug Zeit hat um auf einen Notify zu reagieren und habe anschließend mit nslookup versucht auf dem lokalen myDNS und auf dem eingetragenen NS aufzulösen, hier das Ergebnis:
(Testweise hab ich auch noch meine Stammdomain über den Hetzner DNS auflösen lassen, nur um sicherzugehen, dass Zonen, die bei Hetzner selbst liegen auch aufgelöst werden.)

Code:
> server localhost
Default server: localhost
Address: 127.0.0.1#53
> diversnetwork.de
Server:         localhost
Address:        127.0.0.1#53

Name:   diversnetwork.de
Address: 88.198.121.94
> server 213.239.242.238
Default server: 213.239.242.238
Address: 213.239.242.238#53
> diversnetwork.de
;; connection timed out; no servers could be reached
> divepage.net
Server:         213.239.242.238
Address:        213.239.242.238#53

Name:   divepage.net
Address: 78.46.85.41
>


[EDIT]
Hab gerade eine Antwort auf eine Anfrage bei Hetzner bekommen:
wir haben den Prozess zum Zonentransfer mehrmals erfolglos von ns1.first-ns.de
(213.239.242.238) aus manuell angestoßen. Der Zonentransfer ist immer
fehlgeschlagen, weil offenbar keine Daten zurückgeliefert wurden.
Ist für Sie in Ihren Logs des Nameservers ns1.divepage.net dazu irgendetwas
ersichtlich?

A: Wo logt myDNS? ich kann nirgends ein Logfile finden. und in der /var/log/messages steht nicht wirklich was über myDNS
B: Woran kann es liegen, dass der externe DNS keine Daten von myDNS zurück bekommt? die genannte IP ist als einzige freigegebene eingetragen und Port 53 ist offen.
 
Zuletzt bearbeitet:

Quest

Member
Hab jetzt mal nach den Angaben der myDNS doku einen manuellen Pfad für das Logfile eingetragen.
Funktioniert wunderbar, die Start- und Stopmeldungen gehen ein.
Aber sonst auch leider nix verwertbares...

Die Frage mit dem Log wär damit hinfällig.
Bleibt aber trotzdem noch das Problem, dass die Secondaries sich die Zone nicht transferieren können.
Lässt sich der Zonetransfer vielleicht irgendwie lokal simulieren? z.B. indem ich den transfer für die 127.0.0.1 freigebe und mich dann per telnet mit dem lokalen Port 53 verbinde?
Welche Befehle müsste ich da für den Transfer dann eingeben?
 

Quest

Member
Hab eine Möglichkeit gefunden mit dig den Zonetransfer zu simulieren.
Die Ausgabe der lokalen Simulation macht mich leider auch nicht schlauer:
Code:
# dig @127.0.0.1 diversnetwork.de -t AXFR

; <<>> DiG 9.3.4-P1.1 <<>> @127.0.0.1 diversnetwork.de -t AXFR
; (1 server found)
;; global options:  printcmd
; Transfer failed.
 

Till

Administrator
Hast Du denn für die lokale IP bzw. sicherheitshalber auch 127.0.0.1 den zonentransfer erlaubt?
 

Quest

Member
Ja, hab ich.
Habs 3 mal probiert.
Nur die Loopback
Nur die Primäre
Und beide
Immer das selbe Ergebnis
myDNS scheint keine XFER Requests anzunehmen / richtig zu bearbeiten. Nehm ich den Typparameter weg liefert dig die erwartete Ausgabe.
 

Quest

Member
Das scheint ja ISP für mich bei der Installation schon gemacht zu haben. Oder es ist per Default in der configdatei und auf yes.
Siehe meine Configdatei auf der ersten Seite dieses Threads.
 

Till

Administrator
Habe das gerade mal auf meinem debian lenny test server ausprobiert und da funktioniert es mit der von ISPConfig erzeugten Konfiguration.

Code:
dig @127.0.0.1 till.int -t AXFR

; <<>> DiG 9.5.1-P1 <<>> @127.0.0.1 till.int -t AXFR
; (1 server found)
;; global options:  printcmd
till.int.               86400   IN      SOA     ns1.till.int. t.brehm.ensign.de. 2009030202 28800 7200 604800 86400
mail.till.int.          86400   IN      A       192.168.0.100
till.int.               86400   IN      A       192.168.0.100
till.int.               86400   IN      MX      10 mail.till.int.
till.int.               86400   IN      NS      ns1.till.int.
till.int.               86400   IN      NS      ns2.till.int.
www.till.int.           86400   IN      A       192.168.0.100
till.int.               86400   IN      SOA     ns1.till.int. t.brehm.ensign.de. 2009030202 28800 7200 604800 86400
;; Query time: 12 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Mar  2 15:08:54 2009
;; XFR size: 8 records (messages 8, bytes 442)

Den Fehler den Du erhältst bekomme ich dann, wenn ich nicht im Feld "Allow zone transfers to these IPs (comma separated list)" der Domain die IP "127.0.0.1" eintrage, da ich ja die Abfrage von localhost aus durchführe.
 

Werbung

Top