DNS query für lokale Domain nicht möglich, extern klappt's

ucs-4-1
german
dns

#1

Hallo zusammen

Nachdem wir den UCS-Server (OX, DNS, etc) von 3.1 auf 4.1 aktualisiert haben, klappt direkt auf dem Server die Namensauflösung für Objekte seiner eigenen Domain nicht mehr. Werden aber externe Domains abgefragt, funktioniert die Auflösung tiptop.

root@srvmaox~# nslookup www.univention.de
Server:         127.0.0.1
Address:        127.0.0.1#53

Non-authoritative answer:
Name:   www.univention.de
Address: 78.47.199.152

root@srvmaox~# nslookup ucs-sso
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find ucs-sso: NXDOMAIN

root@srvmaox~# nslookup srvmaox
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find servername: NXDOMAIN

Die Management Console zeigt die DNS Zone sauber an, mit all den erwarteten Objekten:

  • _domaincontroller_master._tcp
  • _kerberos*
  • _ldap._tcp
  • srvmaox
  • ucs-sso
  • univention-directory-manager

Scheint, wie wenn der lokale named nicht läuft…

root@srvmaox:~# ucr get dns/backend
ldap
root@srvmaox:~# cat /etc/resolv.conf
# Warning: This file is auto-generated and might be overwritten by
#          univention-config-registry.
#          Please edit the following file(s) instead:
# Warnung: Diese Datei wurde automatisch generiert und kann durch
#          univention-config-registry überschrieben werden.
#          Bitte bearbeiten Sie an Stelle dessen die folgende(n) Datei(en):
#
#       /etc/univention/templates/files/etc/resolv.conf
#


domain  olig.ch
nameserver  127.0.0.1
options timeout:2
root@srvmaox:~# tail -30 /var/log/syslog
May 19 12:18:01 srvmaox named[23064]: generating session key for dynamic DNS
May 19 12:18:01 srvmaox named[23064]: sizing zone task pool based on 8 zones
May 19 12:18:01 srvmaox named[23064]: set up managed keys zone for view _default, file 'managed-keys.bind'
May 19 12:18:01 srvmaox named[23064]: Warning: 'empty-zones-enable/disable-empty-zone' not set: disabling RFC 1918 empty zones
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 254.169.IN-ADDR.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 100.51.198.IN-ADDR.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 113.0.203.IN-ADDR.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: D.F.IP6.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 8.E.F.IP6.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 9.E.F.IP6.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: A.E.F.IP6.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: B.E.F.IP6.ARPA
May 19 12:18:01 srvmaox named[23064]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
May 19 12:18:01 srvmaox named[23064]: command channel listening on 127.0.0.1#953
May 19 12:18:01 srvmaox named[23064]: zone 0.in-addr.arpa/IN: loaded serial 1
May 19 12:18:01 srvmaox named[23064]: zone 127.in-addr.arpa/IN: loaded serial 1
May 19 12:18:01 srvmaox named[23064]: zone 112.168.192.in-addr.arpa/IN: loaded serial 3
May 19 12:18:01 srvmaox named[23064]: zone 255.in-addr.arpa/IN: loaded serial 1
May 19 12:18:01 srvmaox named[23064]: zone localhost/IN: loaded serial 2
May 19 12:18:01 srvmaox named[23064]: managed-keys-zone ./IN: loaded serial 0
May 19 12:18:01 srvmaox named[23064]: running
May 19 12:18:01 srvmaox /USR/SBIN/CRON[23090]: (amavis) CMD (test -e /usr/sbin/amavisd-new-cronjob && /usr/sbin/amavisd-new-cronjob sa-sync)
May 19 12:18:01 srvmaox named[23064]: zone 101.168.192.in-addr.arpa/IN: refresh: unexpected rcode (SERVFAIL) from master 127.0.0.1#7777 (source 0.0.0.0#0)
May 19 12:18:01 srvmaox named[23064]: zone olig.ch/IN: refresh: unexpected rcode (SERVFAIL) from master 127.0.0.1#7777 (source 0.0.0.0#0)

Soweit identisch zu diesem Thread, aber ich kann kein Problem im LDAP search output finden…

Freundliche Grüsse
Koni


#2

Oder braucht’s zwingend beide nSRecord Einträge (FQDN & IP)?

root@srvmaox:~# univention-ldapsearch '(&(zoneName=olig.ch)(univentionObjectType=dns/forward_zone))' # extended LDIF
#
# LDAPv3
# base <dc=olig,dc=ch> (default) with scope subtree
# filter: (&(zoneName=olig.ch)(univentionObjectType=dns/forward_zone))
# requesting: ALL
#

# olig.ch, dns, olig.ch
dn: zoneName=olig.ch,cn=dns,dc=olig,dc=ch
nSRecord: srvmaox.olig.ch.
dNSTTL: 10800
relativeDomainName: @
zoneName: olig.ch
objectClass: top
objectClass: dNSZone
objectClass: univentionObject
univentionObjectType: dns/forward_zone
sOARecord: srvmaox.olig.ch. root.olig.ch. 16 28800 7200 604800 10800

# search result
search: 3
result: 0 Success

# numResponses: 2
# numEntries: 1

In meinem Falle gibt’s nämlich nur den Eintrag für FQDN.


#3

Welches Backend wird denn verwendet?

ucr get dns/backend

#4

Hello Sir, :wink:

ldap (s. oben)

Habe jetzt mal noch versucht den 2. nSRecord Wert zu schreiben, aber das scheint so nicht zu funktionieren:

root@srvmaox:~# udm dns/forward_zone modify --dn zoneName=olig.ch,cn=dns,dc=olig,dc=ch --append nameserver=192.168.112.95.
E: Invalid Syntax: nameserver: Full name must not be all numeric!
No modification: zoneName=olig.ch,cn=dns,dc=olig,dc=ch

#5

Oh übersehen :wink:

Klappt die Auflösung per FQDN, also

nslookup srvmaox.olig.ch

#6

nope…

root@srvmaox:~# nslookup srvmaox.olig.ch
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find srvmaox.olig.ch.olig.ch: SERVFAIL

root@srvmaox:~# nslookup srvmaox.olig.ch.
Server:         127.0.0.1
Address:        127.0.0.1#53

** server can't find srvmaox.olig.ch: SERVFAIL


#7

Läuft in der Umgebung Samba 4? Wenn ja, würde ich das Samba-Backend mal ausprobieren.

ucr set dns/backend=samba4

#8

Noch ein ‘nope’, samba4 ist nicht drauf:

root@srvmaox:~# dpkg -l samba4 univention-samba4
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                Version        Architecture   Description
+++-===================-==============-==============-===========================================
un  samba4              <none>                        (no description available)
un  univention-samba4   <none>                        (no description available)

#9

Moin,

Bitte prüfen Sie zuerst mal, ob UCR-Templates verändert wurden. Der Befehl univention-check-templates sollte dann nichts ausgeben. Gibt er etwas aus, so posten Sie es bitte hier.

Wenn nichts ausgegeben wird, dann lassen Sie als Nächstes bitte die Bind-spezifischen Templates neu erzeugen. Das geht mit dem folgenden Befehl (Ausgabe davon bitte hier posten):

ucr commit /etc/bind/named.conf{,.proxy,.samba4}

Nun starten Sie den Namenserver neu: service bind9 restart

Danach bitte die Ausgabe von folgendem Befehl posten: lsof -a -PniUDP -c named

Funktioniert nach den Aktionen nun die Auflösung mit folgendem Befehl?

host $(hostname).$(ucr get domainname) 127.0.0.1

Gruß,
mosu


#10

Tach mosu,

Ein paar Templates scheinen Abweichungen auszuweisen:

root@srvmaox:~# univention-check-templates
WARNING: The following UCR files are modified locally.
Updated versions will be named FILENAME.dpkg-*.
The files should be checked for differences.

/etc/univention/templates/files/etc/aliases
/etc/univention/templates/files/etc/apache2/sites-available/univention-directory-manager
/etc/univention/templates/files/etc/cron.d/univention-directory-reports-cleanup
/etc/univention/templates/files/etc/init.d/postfix
/etc/univention/templates/files/var/www/ucs-overview/de.html.d/01de.html
/etc/univention/templates/files/var/www/ucs-overview/de.html.d/99de.html
/etc/univention/templates/files/var/www/ucs-overview/en.html.d/01en.html
/etc/univention/templates/files/var/www/ucs-overview/en.html.d/99en.html

Somit warte ich mal mit den weiteren beschriebenen Schritten zu.

-k


#11

Moin,

von denen hat keines etwas mit der Namensauflösung zu tun. Daher führen Sie bitte die nachfolgenden Schritte, die ich aufgelistet habe, trotzdem alle durch.

Allgemein zu den Templates (das Folgende hat nichts mit den DNS-Problemen zu tun): ich rate ganz dringend dazu, alle vom Script gemeldeten Probleme zu beseitigen. Templates sollten nur in Notfällen manuell verändert werden. Ansonsten kann es nach Updates dazu kommen, dass Dienste nicht mehr funktionieren, weil modifizierte Templates beim Updateprozess nicht automatisch durch neue Versionen ersetzt werden, und dann die Konfiguration schlicht falsch sein kann. Mit »beseitigen« meine ich, dass Sie bei jedem Template nachschauen sollten, ob die manuellen Änderungen wirklich nötig sind, und falls nicht, das Template durch die .dpkg-dist-Variante im gleichen Verzeichnis ersetzen.

Gerade bei etc/aliases gibt es keinen guten Grund, die zu verändern, weil man Aliase bequem über UCR-Variablen ändern kann. Und bei Startscripten wie etc/init.d/postfix sehe ich noch weniger Gründe, die zu verändern.

Wenn Sie Fragen haben, wie Sie den Effekt gewisser manueller Änderungen auf unterstützte Art hinbekommen, dann eröffnen Sie dazu doch einfach hier einen Thread.

Nach den Modifikationen aller Templates einmal ucr commit aufrufen, um die Konfigurationsdateien alle neu schreiben zu lassen.


#12

Moinmoin,

Okay, vielen Dank für die Hinweise, werde mir die Scripts mal anschauen. Ich bin mir nicht bewusst, dass diese alle händisch verändert wurden - aber vielleicht hat’s ja mit der Historie des Systems (OX-ASE --> UCS & OX) zu tun.

Also, here we go:

root@srvmaox:~# ucr commit /etc/bind/named.conf{,.proxy,.samba4}
File: /etc/bind/named.conf.proxy
File: /etc/bind/named.conf.samba4
File: /etc/bind/named.conf

und

root@srvmaox:~# lsof -a -PniUDP -c named
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
named   31923 bind  512u  IPv6 8924853      0t0  UDP *:7777
named   31923 bind  513u  IPv4 8924858      0t0  UDP 127.0.0.1:7777
named   31923 bind  514u  IPv4 8924860      0t0  UDP 192.168.112.95:7777
named   31923 bind  515u  IPv4 8924862      0t0  UDP 172.17.42.1:7777
named   31941 bind  512u  IPv6 8926665      0t0  UDP *:53
named   31941 bind  513u  IPv4 8926670      0t0  UDP 127.0.0.1:53
named   31941 bind  514u  IPv4 8926672      0t0  UDP 192.168.112.95:53
named   31941 bind  515u  IPv4 8926674      0t0  UDP 172.17.42.1:53

und dann noch der query:

root@srvmaox:~# host $(hostname).$(ucr get domainname) 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

Host srvmaox.olig.ch.olig.ch not found: 2(SERVFAIL)

aha, 2x domain name, also noch mit zusätzlichem Punkt:

root@srvmaox:~# host $(hostname).$(ucr get domainname). 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

Host srvmaox.olig.ch not found: 2(SERVFAIL)

Hmm, war wohl auch noch nix… sniff


#13

Alright. Nächster Schritt: existiert das DNS-Objekt überhaupt im LDAP? Also bitte das hier ausführen & Ausgabe posten:

univention-ldapsearch relativedomainname=$(hostname)

#14

Jojo, ded tut immer noch:

root@srvmaox:/etc/univention/templates/files/etc/init.d# univention-ldapsearch relativedomainname=$(hostname)
# extended LDIF
#
# LDAPv3
# base <dc=olig,dc=ch> (default) with scope subtree
# filter: relativedomainname=srvmaox
# requesting: ALL
#

# srvmaox, olig.ch, dns, olig.ch
dn: relativeDomainName=srvmaox,zoneName=olig.ch,cn=dns,dc=olig,dc=ch
relativeDomainName: srvmaox
dNSTTL: 80600
zoneName: olig.ch
objectClass: top
objectClass: dNSZone
objectClass: univentionObject
univentionObjectType: dns/host_record
aRecord: 192.168.112.95

# search result
search: 3
result: 0 Success

# numResponses: 2
# numEntries: 1

By the way: die Templates-Verzeichnisse führen keine *.dpkg-dist Varianten der im Report genannten veränderten Templates… :frowning:


#15

Hey,

Weitere Versuche:

  • Ausgabe von cat /etc/bind/named.conf
  • Ausgabe von cat /etc/bind/univention.conf
  • Ausgabe von ls -l /etc/bind/univention.conf.d
  • Ausgabe von cat /etc/bind/univention.conf.d/$(ucr get domainname) (ACHTUNG: Enthält ein Passwort im Parameter bindpw, das bitte unschädlich machen)
  • Einmal das hier ausführen & Ausgabe pasten: univention-run-join-scripts

Nichts davon wird das Verhalten ändern. Es liefert mir nur mehr Infos, um dem Problem auf die Schliche zu kommen.

Gruß,
mosu


#16

Ach ja, auch noch interessant: univention-ldapsearch '(&(zonename='$(ucr get domainname)')(univentionObjectType=dns/forward_zone))'


#17

Hi there,

Danke für’s Reinknien… bin ja gespannt, wo da der Wurm schlussendlich drin steckt…

root@srvmaox:~# cat /etc/bind/named.conf
# Warning: This file is auto-generated and might be overwritten by
#          univention-config-registry.
#          Please edit the following file(s) instead:
# Warnung: Diese Datei wurde automatisch generiert und kann durch
#          univention-config-registry überschrieben werden.
#          Bitte bearbeiten Sie an Stelle dessen die folgende(n) Datei(en):
#
#       /etc/univention/templates/files/etc/bind/named.conf
#

controls{
        inet 127.0.0.1
        port 55555
        allow { 127.0.0.1; };
};
options {
        directory "/var/cache/bind";
        also-notify {
                127.0.0.1;
        };
        listen-on { any; };
        listen-on-v6 { any; };
};

logging {
        category default{ default_syslog; };
        channel default_syslog {
                syslog daemon;          # send to syslog's daemon facility
                severity dynamic;       # log at the server's current debug level
        };
};

include "/etc/bind/univention.conf";
include "/etc/bind/local.conf";
root@srvmaox:~# cat /etc/bind/univention.conf
include "/etc/bind/univention.conf.d/101.168.192.in-addr.arpa";
include "/etc/bind/univention.conf.d/olig.ch";
include "/etc/bind/univention.conf.d/112.168.192.in-addr.arpa";
root@srvmaox:~# ls -l /etc/bind/univention.conf.d
total 24
-rw-r--r-- 1 root bind 166 May  5 01:06 101.168.192.in-addr.arpa
-rw-r--r-- 1 root bind 124 May  5 01:06 101.168.192.in-addr.arpa.proxy
-rw-r----- 1 root bind 268 May  5 01:06 112.168.192.in-addr.arpa
-rw-r----- 1 root bind 124 May  5 01:06 112.168.192.in-addr.arpa.proxy
-rw-r--r-- 1 root bind 132 May  5 01:06 olig.ch
-rw-r--r-- 1 root bind  90 May  5 01:06 olig.ch.proxy
root@srvmaox:~# cat /etc/bind/univention.conf.d/$(ucr get domainname)
zone "olig.ch" {
        type master;
        notify yes;
        database "ldap ldap://192.168.101.95/zoneName=olig.ch,cn=dns,dc=olig,dc=ch 172800";
};

da war nix Schützenswertes vorhanden… hmm

Und hier die Join Scripts:

root@srvmaox:~# univention-run-join-scripts
univention-run-join-scripts: runs all join scripts existing on local computer.
copyright (c) 2001-2017 Univention GmbH, Germany

Running 01univention-ldap-server-init.inst                 skipped (already executed)
Running 02univention-directory-notifier.inst               skipped (already executed)
Running 03univention-directory-listener.inst               skipped (already executed)
Running 04univention-ldap-client.inst                      skipped (already executed)
Running 05univention-bind.inst                             skipped (already executed)
Running 08univention-apache.inst                           skipped (already executed)
Running 10univention-ldap-server.inst                      skipped (already executed)
Running 11univention-heimdal-init.inst                     skipped (already executed)
Running 11univention-pam.inst                              skipped (already executed)
Running 15univention-directory-notifier-post.inst          skipped (already executed)
Running 15univention-heimdal-kdc.inst                      skipped (already executed)
Running 18python-univention-directory-manager.inst         skipped (already executed)
Running 20univention-directory-policy.inst                 skipped (already executed)
Running 20univention-join.inst                             skipped (already executed)
Running 26univention-nagios-common.inst                    skipped (already executed)
Running 26univention-samba.inst                            skipped (already executed)
Running 30univention-appcenter.inst                        skipped (already executed)
Running 30univention-nagios-client.inst                    skipped (already executed)
Running 34univention-management-console-server.inst        skipped (already executed)
Running 35univention-appcenter-docker.inst                 skipped (already executed)
Running 35univention-management-console-module-adconnector.skipped (already executed)
Running 35univention-management-console-module-appcenter.inskipped (already executed)
Running 35univention-management-console-module-diagnostic.iskipped (already executed)
Running 35univention-management-console-module-ipchange.insskipped (already executed)
Running 35univention-management-console-module-join.inst   skipped (already executed)
Running 35univention-management-console-module-lib.inst    skipped (already executed)
Running 35univention-management-console-module-mrtg.inst   skipped (already executed)
Running 35univention-management-console-module-passwordchanskipped (already executed)
Running 35univention-management-console-module-quota.inst  skipped (already executed)
Running 35univention-management-console-module-reboot.inst skipped (already executed)
Running 35univention-management-console-module-services.insskipped (already executed)
Running 35univention-management-console-module-setup.inst  skipped (already executed)
Running 35univention-management-console-module-sysinfo.instskipped (already executed)
Running 35univention-management-console-module-top.inst    skipped (already executed)
Running 35univention-management-console-module-ucr.inst    skipped (already executed)
Running 35univention-management-console-module-udm.inst    skipped (already executed)
Running 35univention-management-console-module-updater.instskipped (already executed)
Running 36univention-management-console-module-apps.inst   skipped (already executed)
Running 38univention-management-console-module-oxldb.inst  skipped (already executed)
Running 40univention-postgresql.inst                       skipped (already executed)
Running 40univention-virtual-machine-manager-schema.inst   skipped (already executed)
Running 44univention-management-console-system-info.inst   skipped (already executed)
Running 65univention-ox.inst                               skipped (already executed)
Running 66univention-ox-usm-udm.inst                       skipped (already executed)
Running 67univention-mail-server.inst                      skipped (already executed)
Running 81univention-ad-connector.inst                     skipped (already executed)
Running 81univention-mail-cyrus.inst                       skipped (already executed)
Running 81univention-nfs-server.inst                       skipped (already executed)
Running 90univention-bind-post.inst                        skipped (already executed)
Running 91univention-saml.inst                             skipped (already executed)
Running 92univention-management-console-web-server.inst    failed (exitcode: 3)
Running 98univention-pkgdb-tools.inst                      skipped (already executed)

Das Script 92 fällt auf die Schnauze weil eben jene Name Resolution nicht funzt.

...
Try to download idp metadata (60/60)
Could not download IDP metadata for https://ucs-sso.olig.ch/simplesamlphp/saml2/idp/metadata.php
Reloading Univention Management Console Web Server.
done.
Multifile: /etc/pam.d/univention-management-console
File: /etc/ldap/sasl2/slapd.conf
Unsetting umc/saml/idp-server
Module: setup_saml_sp
Module: ox-config
EXITCODE=3
...

Und hier noch der Text zum Nachzügler:

root@srvmaox:~# univention-ldapsearch '(&(zonename='$(ucr get domainname)')(univentionObjectType=dns/forward_zone))'
# extended LDIF
#
# LDAPv3
# base <dc=olig,dc=ch> (default) with scope subtree
# filter: (&(zonename=olig.ch)(univentionObjectType=dns/forward_zone))
# requesting: ALL
#

# olig.ch, dns, olig.ch
dn: zoneName=olig.ch,cn=dns,dc=olig,dc=ch
nSRecord: srvmaox.olig.ch.
dNSTTL: 10800
relativeDomainName: @
zoneName: olig.ch
objectClass: top
objectClass: dNSZone
objectClass: univentionObject
univentionObjectType: dns/forward_zone
sOARecord: srvmaox.olig.ch. root.olig.ch. 16 28800 7200 604800 10800

# search result
search: 3
result: 0 Success

# numResponses: 2
# numEntries: 1

#18

Da ist das Problem ja schon mal eingegrenzt. Da müßte auch ein Binduser (DN des Systems) und das Bindpaßwort drin stehen. Die könntest mal die Domain im LDAP bearbeiten und hoffen, daß die Datei vom Listener neu erzeugt wird.

Wenn das nicht funktioniert, kannst du auch versuchen den Inhalt manuell nachzutragen:

zone "home.dg" {
        type master;
        notify yes;
        database "ldap ldap://127.0.0.1:7389/zoneName=home.dg,cn=dns,dc=olig,dc=ch????!bindname=cn=srvmaox%2ccn=dc%2ccn=computers%2cdc=olig%2cdc=ch,!x-bindpw=blablu,x-tls 172800";
};

Das Bindpaßwort findest du in /etc/machine.secret


#19

Hallo,

eine Re-Initialisierung des Listener-Moduls sollte da auch schon helfen:

univention-directory-listener-ctrl resync bind

War das System zufällig mal ein OX ASE?


#20

Moin,

Tadaaa, das war’s. Nach der Reinitialisierung finden sich diese kryptischen Teile für den Bind-User in der Zonen-Definition, es können die lokalen DNS Einträge wieder aufgelöst werden und nun hat sich auch das letzte Join-Script erfolgreich durchgesetzt.

Und ja, das Teil war früher mal ein OX-ASE.

Habe ich da noch weitere Überraschungen zu erwarten?

Schönen Abend noch und muchas gracias für all die wertvolle und allzeitige Unterstüztung!
-k