ubuntuusers.de

Samba Domaincontroller DNS-Error

Status: Ungelöst | Ubuntu-Version: Server 24.04 (Noble Numbat)
Antworten |

Markus27

Anmeldungsdatum:
7. Februar 2025

Beiträge: 3

Hallo zusammen, ich habe auf einem Ubuntu-Server 24.04.1 LTS einen Samba-Domaincontroller (4.19.5-Ubuntu) installiert mit einem internen DNS (kein Bind). Soweit funktioniert alles. Nur wenn ich den Samba-Dienst abfrage mit "sudo systemctl status samba-ad-dc.service" bekomme ich am ende folgende Fehler:

Feb 07 14:49:56 dc1 samba[930]: [2025/02/07 14:49:56.956050,  0] lib/util/util_runcmd.c:355(samba_runcmd_io_handler)
Feb 07 14:49:56 dc1 samba[930]:   /usr/sbin/samba_dnsupdate:              ^^^^^^^^^^^^^^^^^
Feb 07 14:49:56 dc1 samba[930]: [2025/02/07 14:49:56.956095,  0] lib/util/util_runcmd.c:355(samba_runcmd_io_handler)
Feb 07 14:49:56 dc1 samba[930]:   /usr/sbin/samba_dnsupdate:   File "/usr/sbin/samba_dnsupdate", line 312, in check_dns_name
Feb 07 14:49:56 dc1 samba[930]: [2025/02/07 14:49:56.956258,  0] lib/util/util_runcmd.c:355(samba_runcmd_io_handler)
Feb 07 14:49:56 dc1 samba[930]:   /usr/sbin/samba_dnsupdate:     raise Exception("Failure while trying to resolve %s as %s" % (d, normalised_name))
Feb 07 14:49:56 dc1 samba[930]: [2025/02/07 14:49:56.956319,  0] lib/util/util_runcmd.c:355(samba_runcmd_io_handler)
Feb 07 14:49:56 dc1 samba[930]:   /usr/sbin/samba_dnsupdate: Exception: Failure while trying to resolve A dc1.iww.lan 10.10.0.3 as dc1.iww.lan.
Feb 07 14:49:57 dc1 samba[930]: [2025/02/07 14:49:57.075714,  0] source4/dsdb/dns/dns_update.c:85(dnsupdate_nameupdate_done)
Feb 07 14:49:57 dc1 samba[930]:   dnsupdate_nameupdate_done: Failed DNS update with exit code 1

Die DNS-Einträge in der Reverse-Lookupzone musste ich von hand eintragen, da diese nicht automatisch eingetragen werden. Kann mir jemand weiterhelfen, wie ich diese Fehler beseitigen kann?

Vielen Dank schon mal Markus

Newubunti

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

Hallo Markus27,

was gibt den der folgende Befehl zurück?:

sudo samba_dnsupdate --verbose --all-names 

Falls da irgendwie wegen des Befehls nsupdate gemeckert wird, dann installiere mal das Paket dnsutils nach - falls nicht schon installiert. Nach Installation des Paketes dnsutils könnte es unter Umständen AFAIK sein, dass sich die Fehlermeldung ändert, aber nicht ganz verschwindet. Kann sein, dass Du DNS-Records bei Nutzung des internen DNS-Backends händisch nachtragen musst.

Dass Reverse-Einträge nicht automatisch erstellt werden, ist Standard.

Nach welcher Anleitung hast Du installiert? Nach meinem HowTo?

LG, Newubunti

Markus27

(Themenstarter)

Anmeldungsdatum:
7. Februar 2025

Beiträge: 3

Hallo Newubunti,

erst mal vielen Dank für Deine Antwort.

Mit Deinem Befehl:

sudo samba_dnsupdate --verbose --all-names 

ist die Situation etwas klarer geworden. Die Fehlermeldung "cannot open /etc/resolv.conf" wurde ausgegeben. Also habe ich mir den Symlink mal angeschaut. die "resolve.conf" geht nach "/run/systemd/resolve/stub-resolv.conf". Das Verzeichnis "resolve" gibt es nicht, natürlich die Datei "stub-resolv.conf" auch nicht. Ich werde das Verzeichnis und die Datei "stub-resolv.conf" erstellen. Der Inhalt der Datei "stub-resolv.conf" sollte ja ebenfalls die folgenden Angaben enthalten?

nameserver "ip von DC"
options "Netzwerkinterface trust-ad"
search "Domainname"

Ich habe nach der Anleitung von "root tech" installiert, aber zusätzlich noch den Chrony als Zeitserver installiert.

Grüße Markus

Newubunti

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

Hallo Markus27,

schaue bitte noch mal in mein HowTo! Da steht drin, wie man das alles Ubuntu-like konfiguriert bzw. vorbereitet. Ich bin zwar noch nicht dazu gekommen, mein HowTo für Ubuntu 24.04 zu prüfen, gehe aber davon aus, dass das weitestgehend genauso funktionieren wird:

LG, Newubunti

Markus27

(Themenstarter)

Anmeldungsdatum:
7. Februar 2025

Beiträge: 3

Hallo Newubunti,

also ich habe das getestet und habe folgendes gemacht: "stub-resolv.conf" im Verzeichnis "/run/systemd/resolve/" angelegt. Dann nach Deinem Artikel folgenden Inhalt eingefügt:

[Resolve]
DNSStubListener=no

Danach mit folgendem Befehl die Konfiguration neu geladen:

sudo systemctl daemon-reload 

mit dem Befehl:

sudo samba_dnsupdate --verbose --all-names 

die Konfig noch mal geprüft. Der Fehler, daß er die resolv.conf nicht findet war zwar weg, aber folgendes wird immer noch angezeigt:

Traceback (most recent call last):
  File "/usr/sbin/samba_dnsupdate", line 883, in <module>
    creds = get_credentials(lp)
            ^^^^^^^^^^^^^^^^^^^
  File "/usr/sbin/samba_dnsupdate", line 184, in get_credentials
    get_krb5_rw_dns_server(creds, sub_vars['DNSDOMAIN'] + '.')
  File "/usr/sbin/samba_dnsupdate", line 143, in get_krb5_rw_dns_server
    rw_dns_servers = get_possible_rw_dns_server(creds, domain)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/sbin/samba_dnsupdate", line 122, in get_possible_rw_dns_server
    ans_soa = check_one_dns_name(domain, 'SOA')
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/sbin/samba_dnsupdate", line 270, in check_one_dns_name
    resolver = get_resolver(d)
               ^^^^^^^^^^^^^^^
  File "/usr/sbin/samba_dnsupdate", line 262, in get_resolver
    resolver = DNSResolver(filename=resolv_conf, configure=True)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/samba/dnsresolver.py", line 39, in __init__
    super().__init__(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 944, in __init__
    self.read_resolv_conf(filename)
  File "/usr/lib/python3/dist-packages/dns/resolver.py", line 995, in read_resolv_conf
    raise NoResolverConfiguration(f"cannot open {f}")

Nach einem Neustart des Servers, war das angelegte File "stub-resolv.conf" wieder weg und die Fehlermeldungen wie am anfang. Sehr strange.

Grüße Markus

Newubunti

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

Hallo Markus27,

Markus27 schrieb:

Hallo Newubunti,

also ich habe das getestet und habe folgendes gemacht: "stub-resolv.conf" im Verzeichnis "/run/systemd/resolve/" angelegt. Dann nach Deinem Artikel folgenden Inhalt eingefügt:

[Resolve]
DNSStubListener=no

Das steht aber so nicht in meinem HowTo. In meinem HowTo kommt das in die /etc/systemd/resolved.conf.d/disable-stub-listener.conf. Wenn es dort steht, bleibt es auch über Neustarts hinweg erhalten.

LG, Newubunti

Antworten |