[ISP3] DNS Konfiguration

Dieses Thema im Forum "Installation und Konfiguration" wurde erstellt von Quest, 25. Feb. 2009.

  1. Quest

    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:
    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.
    
     
  2. Till

    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.
     
  3. Quest

    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.
     
  4. Quest

    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.
    
     
  5. Till

    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.
     
  6. Quest

    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?
     
  7. Till

    Till Administrator

    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.

    Nicht solange Du ihn nicht startest.

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

    Quest Member

    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.
     
  9. Quest

    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.
     
  10. planet_fox

    planet_fox Super-Moderator

    Hi Quest

    kannst du mal deine Konfig von Hetzner posten ?
     
  11. Quest

    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.
     
  12. Till

    Till Administrator

    Versuch doch testweise erstmal nur die Ip eines slave anzugeben und dann starte mal mydns neu.
     
  13. Quest

    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:
    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: 2. März 2009
  14. Quest

    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?
     
  15. Quest

    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.
    
     
  16. Till

    Till Administrator

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

    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.
     
  18. Till

    Till Administrator

  19. Quest

    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.
     
  20. Till

    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.
     

Diese Seite empfehlen