Bug 23945 - bind9 Fehlermeldung unexpected rcode (SERVFAIL) bei zusätzlich angelegter Zone
bind9 Fehlermeldung unexpected rcode (SERVFAIL) bei zusätzlich angelegter Zone
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: DNS
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.0 - RC
Assigned To: Stefan Gohmann
Philipp Hahn
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-10-05 14:59 CEST by Arvid Requate
Modified: 2011-12-13 15:47 CET (History)
2 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
udm dns/{Forward,Reverse}_zone resync (12.82 KB, patch)
2011-11-22 20:39 CET, Philipp Hahn
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Requate univentionstaff 2011-10-05 14:59:42 CEST
Mit der UCS 3.0-MS2 DVD ond mit -latest hat bind9 Probleme eine zusätzlich angelegte Forward-Zones zu laden. In /var/log/syslog stehen folgende Fehlermeldungen:

Oct  5 15:36:42 master named[7356]: zone arw2k3r2i1.qa/IN: refresh: unexpected rcode (SERVFAIL) from master 127.0.0.1#7777 (source 0.0.0.0#0)
Oct  5 15:36:42 master named[7356]: zone testzone1.qa/IN: refresh: unexpected rcode (SERVFAIL) from master 127.0.0.1#7777 (source 0.0.0.0#0)

Mit den Credentials, die in /etc/bind/univention.conf.d/arw2k3r2i1.qa hinterlegt sind, kann ich per ldapsearch das Zonen-Objekt finden /und auch einen host record darunter).
Comment 1 Stefan Gohmann univentionstaff 2011-10-05 16:16:14 CEST
Wie sieht deine Zonen-Definition im LDAP aus:

univention-ldapsearch zoneName=<NAME>
Comment 2 Stefan Gohmann univentionstaff 2011-10-05 16:23:31 CEST
Ich hatte als Nameserver im SOA Eintrag eine IP stehen und hatte diese nicht mit einem Punkt abgeschlossen.
Comment 3 Arvid Requate univentionstaff 2011-10-05 17:17:44 CEST
Ja, das war der Auslöser, mit --set nameserver="$interfaces_eth0_address." funktioniert alles wie gewohnt. Ohne den Punkt bekommt man die SERVFAIL Meldung im Syslog.
Comment 4 Stefan Gohmann univentionstaff 2011-10-05 17:26:00 CEST
(In reply to comment #3)
> Ja, das war der Auslöser, mit --set nameserver="$interfaces_eth0_address."
> funktioniert alles wie gewohnt. Ohne den Punkt bekommt man die SERVFAIL Meldung
> im Syslog.

Die Syntax-Prüfung im UDM sollte eine IP ohne einen Punkt ablehnen.
Comment 5 Stefan Gohmann univentionstaff 2011-10-12 16:34:17 CEST
Es wurde schon ein Punkt hinzugefügt, allerdings nicht, wenn der Wert eine IP Adresse war. Das wurde jetzt behoben.
Comment 6 Philipp Hahn univentionstaff 2011-11-22 20:36:29 CET
OK: Beim Anlegen einer neue DNS-Forward-Zone wird nun automatisch

FAIL: Allerdings ist der Bug in der Reverse-Zone immer noch vorhanden. IMHO sollten die _ldap_modlist()-Implementierungen von modules/univention/admin/handlers/dns/{forward,reverse}_zone.py angeglichen werden; In reverse_zone.py fehlt inzwischen die ganze Sonderbehandlung, die nur in foward_zone.py hinzugefügt wurden.
Patch-Vorschlag folgt

OK: ChangeLog vorhanden und leicht korrigiert:
\item Append a dot to {a → the} nameserver entry in a SOA forward record even if the value is an {ip → IP} address. Otherwise the invalid value will break {the → } DNS replication (\ucsBug{23945}).
Comment 7 Philipp Hahn univentionstaff 2011-11-22 20:39:12 CET
Created attachment 3861 [details]
udm dns/{Forward,Reverse}_zone resync
Comment 8 Philipp Hahn univentionstaff 2011-11-22 20:45:52 CET
(In reply to comment #7)
> Created an attachment (id=3861) [details]
> udm dns/{Forward,Reverse}_zone resync

Wird über Bug #19557 weiter verfolgt.
Comment 9 Philipp Hahn univentionstaff 2011-11-22 20:46:47 CET
OK: Der Bug in der Forward-Zone tritt nicht mehr auf. Alles andere später.
Comment 10 Philipp Hahn univentionstaff 2011-11-25 15:35:44 CET
Die Fehlermeldung habe ich heute erneut auf einem frisch installierten Master+Backup+4 Memberservern gesehen:

# ls -al /mnt/.univention_install 
-r--r--r-- 1 root root 25 24. Nov 14:11 /mnt/.univention_install

# tail -n 2 /var/log/daemon.log
Nov 25 15:02:39 lynx1 named[16500]: LDAP sdb zone 'phahn.dev': ldap_result returned -1
Nov 25 15:02:39 lynx1 named[16503]: zone phahn.dev/IN: refresh: unexpected rcode (NXDOMAIN) from master 127.0.0.1#7777 (source 0.0.0.0#0)

# dig @localhost -p 7777 phahn.dev.

; <<>> DiG 9.8.0-P4 <<>> @localhost -p 7777 phahn.dev.
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 17977
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;phahn.dev.                     IN      A

;; AUTHORITY SECTION:
phahn.dev.              1       IN      SOA     lynx1.phahn.dev. root.phahn.dev. 14 2 7 6 1

;; Query time: 10 msec
;; SERVER: ::1#7777(::1)
;; WHEN: Fri Nov 25 15:24:08 2011
;; MSG SIZE  rcvd: 74

# dig @localhost -p 53 phahn.dev.

; <<>> DiG 9.8.0-P4 <<>> @localhost phahn.dev.
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31626
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;phahn.dev.                     IN      A

;; Query time: 0 msec
;; SERVER: ::1#53(::1)
;; WHEN: Fri Nov 25 15:24:23 2011
;; MSG SIZE  rcvd: 27

Nach einem "invoke-rc.d bind9 restart" war das Problem dann erstmal weg.
Comment 11 Stefan Gohmann univentionstaff 2011-11-25 15:43:41 CET
Das Problem scheint im SOA Eintrag zu sein:

# 17.200.10.in-addr.arpa, dns, phahn.dev
dn: zoneName=17.200.10.in-addr.arpa,cn=dns,dc=phahn,dc=dev
nSRecord: lynx1.phahn.dev.
objectClass: top
objectClass: dNSZone
objectClass: univentionObject
univentionObjectType: dns/reverse_zone
dNSTTL: 1
relativeDomainName: @
zoneName: 17.200.10.in-addr.arpa
sOARecord: lynx1.phahn.dev. root.phahn.dev. 5 2 7 6 1

Die Timeouts passen nicht.
Comment 12 Stefan Gohmann univentionstaff 2011-11-25 16:40:34 CET
Das war ein Fehler im neuen UDM Mapping: Bug #24602.
Comment 13 Philipp Hahn univentionstaff 2011-11-25 19:57:42 CET
(In reply to comment #12)
> Das war ein Fehler im neuen UDM Mapping: Bug #24602.

OK: # udm dns/forward_zone list
  expire: 7 days
  ttl: 3 hours
  serial: 26
  retry: 2 hours
  zonettl: 4 hours
  refresh: 8 hours

OK: Ändern funktioniert auch mit "seconds minutes hours days", krummen Zahlen und wie bisher ohne Einheit (was dann Sekunden entspricht). Plural beachten!
# udm dns/forward_zone modify --dn zoneName=$domainname,cn=dns,$ldap_base --set \
 retry=7200
 retry=7201
 retry=59\ seconds
 retry=3\ minutes
 retry=2\ hours
 retry=1\ days

OK: Zu der für den Benutzer sichtbaren Änderung am UDM habe ich keinen ChangeLog-Eintrag gefunden. Das wird noch über einem Sammel-UMC-Bug nachgereicht.


Anmerkung: Nach dem Bugfix mussten "/etc/init.d/bind9 restart" auf allen Rechnern per Hand durchgeführt werden, da anscheinend die beiden named-Prozesse sich nicht mehr selbständig gefangen haben, nachdem die wegen der zu geringen Timeout-Werte in Schieflage geraten waren. Ggf. sollte man hier allzu kleine Werte abfangen.
Comment 14 Stefan Gohmann univentionstaff 2011-11-29 22:15:41 CET
*** Bug 25000 has been marked as a duplicate of this bug. ***
Comment 15 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:41:22 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden:
"Clone This Bug"