Bind - CNAME funktioniert nicht - CNAME and other data

Atreju93

Lieutenant
Registriert
Nov. 2010
Beiträge
594
Hallo zusammen

Evtl hat jemand von euch eine Idee.

Ich administriere zwei kleine DNS server auf Basis von bind9, seit jahren funktionieren die einwandfrei. Ich komme aus der Windows Server welt und habe linux nur Basiswissen, einen Bind mit ca 50 domains inklusive zonetransfer zu einem zweiten funktioniert einwandfrei.

Auf dem Master läuft RedHat.

Mein Problem jetzt ist, dass ich für ein Projekt einen cname erstellen muss, welcher auf eine externe adresse verweist, sobald ich jedoch einen CNAME Eintrag mache, scheint Bind die Datei nicht mehr zu laden, der Zonentransfer funktioniert nicht mehr, weitere änderungen an der Zonendatei werden ignoriert.

Bei den /var/log/messages erscheint dann immer "loading master file xxx/xxx.xx.zone: CNAME and other data

folgendes Beispiel (etwas anonymisiert) funktioniert einwandfrei:

Code:
$TTL    300
@               IN SOA ns1.xxxxx.xx    admin.xxxxx.xx (
                                        2016121607      ; serial (YYYYMMDDxx)
                                        20M             ; refresh
                                        15M             ; retry
                                        1D              ; expiry
                                        1H )            ; minimum

                IN NS           ns1.xxxxx.xx.          ; Nameserver definieren


                IN A            xxx.xx.xx.xxx
www             IN A            xxx.xx.xx.xxx
test              IN A            xxx.xx.xx.xxx
                                IN AAAA                 xxxx:xxx:x:xxxx::xxx
www                             IN AAAA                 xxxx:xxx:x:xxxx::xxx

wenn ich den Code zu folgendem ändere, funktioniert es mit der oben genannten Fehlermeldung nicht mehr.

Code:
$TTL    300
@               IN SOA ns1.xxxxx.xx    admin.xxxxx.xx (
                                        2016121607      ; serial (YYYYMMDDxx)
                                        20M             ; refresh
                                        15M             ; retry
                                        1D              ; expiry
                                        1H )            ; minimum

                IN NS           ns1.xxxxx.xx.          ; Nameserver definieren


                IN A            xxx.xx.xx.xxx
www             IN A            xxx.xx.xx.xxx
abc             IN A            xxx.xx.xx.xxx
test            IN CNAME        www.google.ch.
                                IN AAAA                 xxxx:xxx:x:xxxx::xxx
www                             IN AAAA                 xxxx:xxx:x:xxxx::xxx

Leider komme ich nicht darauf, was ich falsch mache :( Weiss jemand von Euch hier mehr?

Gruss
Atreju
 
Ist dein Beispiel vollstaendig? Die Fehlermeldung besagt eigentlich das du fuer "test" mehrere Eintraege definiert hast, bei CNAME geht das aber nicht. Hast du "test" mehrfach definiert?

P.S. Wieso postest du eine Linux/bind Frage unter der Kategorie Windows Server.
 
Tut mir leid, bei der Thread Wahl habe ich mich verklickt - kann gerne zu Linux verschoben werden!
Habe mich zu sehr von "professionelle Netzwerke" ablenken lassen.

Ich habe den kompletten Inhalt der Zonendatei für diese Domain angegeben, welche Informationen wären noch relevant?

In dieser Zone kommt test nur einmal vor, ohne jetzt alle 50 Zonendateien durchzuschauen würde ich sagen, dass "test" auch in keiner anderen Zone definiert ist.

Ich muss den CNAME in mehreren Zonendateien ergänzen, es scheint in keiner zu funktionieren.
Der richtige CNAME lautet dann natürlich nicht test und www.google.ch aber zum testen habe ich es genau so in die Zonendatei geschrieben.

z.b. in der Zone für .de .ch .com usw.
 
Zuletzt bearbeitet:
Dies habe ich bereits getan, dabei kommt folgende Meldung - ich habe sie natürlich etwas anonymisiert.

Code:
[root@xxxxxxxx xxxxx]# named-checkzone xxxxx.pt /var/named/xxxxxx/var/named/xxxxx/xxxxx.pt.zone
dns_master_load: /var/named/xxxxxx/var/named/xxxxx/xxxxx.pt.zone:16: test.xxxxx.pt: CNAME and other data
zone xxxxx.pt/IN: loading master file /var/named/xxxxxx/var/named/xxxxx/xxxxx.pt.zone: CNAME and other data
 
https://docs.oracle.com/cd/E19455-01/806-1075/msgs-1694/index.html

"Also, this error might occur without explicitly setting the left side of a record. The DNS system defaults the left side to the last given left side."

Weil dein AAAA keine "left side" hat macht er "test" zur "left side" von AAAA was aber verboten ist weil CNAMES einzigartig sein muessen.

test IN CNAME www.google.ch.
IN AAAA xxxx:xxx:x:xxxx::xxx

EDIT:

IN A xxx.xx.xx.xxx

holt sich also die "left side" von

@ IN SOA ns1.xxxxx.xx admin.xxxxx.xx (

Du musst also entweder die Reihenfolge aendern oder schreiben:

@ IN AAAA xxxx:xxx:x:xxxx::xxx

EDIT2:

Achja, somit war deine config vorher vermutlich auch fehlerhaft, weil:

test IN A xxx.xx.xx.xxx
IN AAAA xxxx:xxx:x:xxxx::xxx

wurde zu

test IN A xxx.xx.xx.xxx
test IN AAAA xxxx:xxx:x:xxxx::xxx

Was ja vermutlich nicht in deinem Sinne war. Den dann hatte deine Domain gar keinen AAA record sondern nur die Subdomains test und www
Ergänzung ()

Loesung 1:
Code:
$TTL    300
@               IN SOA ns1.xxxxx.xx    admin.xxxxx.xx (
                                        2016121607      ; serial (YYYYMMDDxx)
                                        20M             ; refresh
                                        15M             ; retry
                                        1D              ; expiry
                                        1H )            ; minimum
 
                IN NS           ns1.xxxxx.xx.          ; Nameserver definieren
 
 
                IN A            xxx.xx.xx.xxx
www             IN A            xxx.xx.xx.xxx
abc             IN A            xxx.xx.xx.xxx
test            IN CNAME        www.google.ch.
@                                IN AAAA                 xxxx:xxx:x:xxxx::xxx
www                             IN AAAA                 xxxx:xxx:x:xxxx::xxx

Loesung 2:
Code:
$TTL    300
@               IN SOA ns1.xxxxx.xx    admin.xxxxx.xx (
                                        2016121607      ; serial (YYYYMMDDxx)
                                        20M             ; refresh
                                        15M             ; retry
                                        1D              ; expiry
                                        1H )            ; minimum
 
                IN NS           ns1.xxxxx.xx.          ; Nameserver definieren
 
 
                IN A            xxx.xx.xx.xxx
                IN AAAA                 xxxx:xxx:x:xxxx::xxx
www             IN A            xxx.xx.xx.xxx
abc             IN A            xxx.xx.xx.xxx
test            IN CNAME        www.google.ch.
www                             IN AAAA                 xxxx:xxx:x:xxxx::xxx
 
Zuletzt bearbeitet:
Logisch genau das wars... es wäre so einfach :freak::freak:

Das war die Lösung, beides funktioniert, die Reihenfolge ändern oder das @ einfüge. Nun scheint es tadellos zu funktionieren.


Besten, besten Dank! Wie so ein Zeichen ganze Stunden verschlingen kann...:evillol:
 
Zurück
Oben