Samba als ADC, Bind Probleme

Probleme mit Samba, NFS, FTP und Co.
Antworten
nonickatall
Beiträge: 4
Registriert: 22.08.2019 18:56:45

Samba als ADC, Bind Probleme

Beitrag von nonickatall » 22.08.2019 19:28:02

Hallo, bin neu bei Linux und habe gleich mit einem gaaaanz einfachen Projekt angefangen.

Samba als Active Domain Controler

:facepalm:

War etwas gewagt aber, habe mich entschieden auf einem Ubuntu 18.04 einen Samba 4.7 mit einem isc-dhcp-server und Bind9 laufen zu lassen.

Nach vielen Schmerzen, aber besser kann man Linux glaube ich nicht kennen lernen, :THX: läuft der Bind9 und der ISC und machen dynamische DNS Updates. Unter "Service <Dienst> Status" und im /var/systemlog starten und laufen beide ohne Fehlermeldungen, vergeben IP Leases und lösen auf sowohl forward als auch reverce auf.

Samba ist installiert, eingerichtet, die Domain Provisionierung als DC (active Domain Controler) ist gemacht.

Versuche ich der Domain von einem Windoof Rechner aus beizutreten kommt: "Der DNS Server ist nicht erreichbar" was nicht stimmt, ich kann wie gesagt auflösen, mit nslookup aber auch pingen, und "dig www.beispiel.de" aber auch dig <ipadresse> auf dem Server geht auch.

Beim Starten von service samba-ad-dc stehen im syslog aber folgende Fehler.

Code: Alles auswählen

Aug 22 13:20:28 server01 samba[1870]: [2019/08/22 13:20:28.564708,  0] ../lib/util/util_runcmd.c:327(samba_runcmd_io_handler)
Aug 22 13:20:28 server01 samba[1870]:   /usr/sbin/samba_dnsupdate: ERROR(runtime): uncaught exception - (9711, 'WERR_DNS_ERROR_RECORD_ALREADY_EXISTS')
Aug 22 13:20:28 server01 samba[1870]: [2019/08/22 13:20:28.566281,  0] ../lib/util/util_runcmd.c:327(samba_runcmd_io_handler)
Aug 22 13:20:28 server01 samba[1870]:   /usr/sbin/samba_dnsupdate:   File "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", line 176, in _run
Aug 22 13:20:28 server01 samba[1870]: [2019/08/22 13:20:28.566383,  0] ../lib/util/util_runcmd.c:327(samba_runcmd_io_handler)
Aug 22 13:20:28 server01 samba[1870]:   /usr/sbin/samba_dnsupdate:     return self.run(*args, **kwargs)
Aug 22 13:20:28 server01 samba[1870]: [2019/08/22 13:20:28.566443,  0] ../lib/util/util_runcmd.c:327(samba_runcmd_io_handler)
Aug 22 13:20:28 server01 samba[1870]:   /usr/sbin/samba_dnsupdate:   File "/usr/lib/python2.7/dist-packages/samba/netcmd/dns.py", line 940, in run
Aug 22 13:20:28 server01 samba[1870]: [2019/08/22 13:20:28.566547,  0] ../lib/util/util_runcmd.c:327(samba_runcmd_io_handler)
Aug 22 13:20:28 server01 samba[1870]:   /usr/sbin/samba_dnsupdate:     raise e
Das wiederholt sich einige Male in ähnlicher Weise und am Ende steht dann noch:

Code: Alles auswählen

Aug 22 14:02:10 server01 samba[2985]:   ../source4/dsdb/dns/dns_update.c:290: Failed DNS update - with error code 34
Der Befehl:

"samba_upgradedns --dns-backend=BIND9_DLZ"

Führt zu den selben Fehlern.

hier die Samba conf:

Code: Alles auswählen

# Global parameters
[global]
        workgroup = BEISPIEL
        wins server = 192.168.0.1
        netbios name = SERVER01
        realm = BEISPIEL.DE
        server role = active directory domain controller
        server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
        winbind use default domain = false
        winbind offline logon = false
        winbind separator = +

[netlogon]
        path = /var/lib/samba/sysvol/idv-portal.local/scripts
        read only = No

[sysvol]
        path = /var/lib/samba/sysvol
        read only = No

[Lan_t]
        comment = Lan_t
        path = /mnt/Lan_t
        read only = No
        inherit permissions = Yes
        inherit acls = Yes
Scheint ja nach dem Fehlerprotokoll einen Problem mit dem DNS Update zu sein. Nach viel "googlen" finde ich zu dem Fehler:

9711, 'WERR_DNS_ERROR_RECORD_ALREADY_EXISTS'

Aber nichts, was mich bisher auf die richtige Spur geführt hat.

Deswegen die Frage an die Samba Profis.

Hat jemand eine Idee wo der Fehler herkommt? Gibt es außer dem Befehl "Service Status" und dem syslog noch bessere Tools um den Fehler einzugrenzen?

Ich poste gerne weitere Ausgaben oder Konfigurationen wenn gewünscht.

Vielen Dank im Vorraus.
Ralf

nonickatall
Beiträge: 4
Registriert: 22.08.2019 18:56:45

Re: Samba als ADC, Bind Probleme

Beitrag von nonickatall » 22.08.2019 22:47:17

Ich habe vielleicht eine Ahnung woher das kommt.

Mich hat der DNS nicht losgelassen.

dig www.beispiel.de führt zu einer Antwort unter der Sektion "Answer" mit ip Adresse, also so wie es sein soll.

dig tld_ip

also reverce lookup führt zwar zu einer Antwort, aber die Sektion Answer fehlt?!

aber:

ping ro-pc

also zu einer lokalen Recuerce, führt zu:

Code: Alles auswählen

Der Name oder der Dienst ist nicht bekannt
und

ping Ip-Adesse

führt zu hängendem:

Code: Alles auswählen

PING 192.168.0.27 (192.168.0.27) 56(84) bytes of data.
aber das war es auch.

Irgendwas habe ich am meinen DNS Zonen versaut, ich bin sicher das ging...

:hail:

Muss mal wieder in medias res...

:facepalm:

nonickatall
Beiträge: 4
Registriert: 22.08.2019 18:56:45

Re: Samba als ADC, Bind Probleme

Beitrag von nonickatall » 24.08.2019 13:40:48

Hallo,

hexe immer noch mit meinem Ubuntu server rum und stehe auf dem Schlauch. Mein DNS will nicht und ich finde den (Denk)fehler nicht.

Ich glaube aber, dass mein Problem von einen grundsätzlichen Denkfehler mit Realm, Domäne, Search-Domain und den Zonen im DNS kommt.

Das wären meine Randdaten:
Server IP: 192.168.0.1
Server Name: Server01
Domäne: Frosch (Beispiel)
Internet-Domäne Frosch.org (Beispiel)
Gateway: 192.168.0.4 (Fritz Box)

Software:
Ubuntu 18.04 ohne GUI
Samba 4.7
bind9 4.7
isc-dhcp-server 4.3

Ich verwende kein resolve und keinen network manager

Dann wären meine Konfigurationen IMHO doch wie folgt:

Interfaces: (/etc/network/interfaces)

Code: Alles auswählen

auto lo
iface lo inet loopback

#The primary Network Interface
auto eth0
iface eth0 inet static
        address 192.168.0.1/24
        gateway 192.168.0.4
        dns-nameservers 192.168.0.1
Die hosts (etc/hosts) wäre:

Code: Alles auswählen

127.0.0.1       localhost
192.168.0.1     server01.frosch.lan server01
Und da ist meine erste Unsicherheit. Nimmt man als search domain dann so was wie Frosch.lan? Ich habe gelesen wenn man frosch.org nimmt würde das zu Problemen führen.

Dann wäre die resolv.conf (/etc/resolv.conf)

Code: Alles auswählen

nameserver 192.168.0.1
search frosch.org
domain frosch
und die dhcpd.conf (/etc/dhcp/dhcpd.conf)

Code: Alles auswählen

option domain-name "frosch";
authoritative;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.20 192.168.0.40;
        option routers 192.168.0.4;
        option domain-name-servers 192.168.0.1;
        option domain-search "frosch.lan";
        ddns-domainname "frosch";
}

#Schlüssel für dynamisches DNS Bind Update

key ddns-key {
       algorithm HMAC-MD5;
       secret (Key Beispiel);
};

zone frosch.lan. {
       primary 192.168.0.1;
       key ddns-key;
}

zone 0.168.192.in-addr.arpa. {
       primary 192.168.0.1;
       key ddns-key;
}
Der DHCP läuft sauber, also scheint das nicht ganz falsch zu sein.

die DNS Konfiguration wäre dann wie folgt und damit klappt es überhaupt nicht, aber ich finde den Fehler nicht.

/etc/bind/named.conf.options

Code: Alles auswählen

options {
        directory "/var/cache/bind";
        listen-on { any; };
        allow-recursion {127.0.0.1; ::1; };
 
        forwarders {
                8.8.8.8;
                #192.168.0.4;
        };

        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};
/etc/bind/named.conf.local

Code: Alles auswählen

key "ddns-key" {
       algorithm hmac-md5;
       secret "(Key Beispiel)";
};

zone "frosch.lan" {
        type master;
        file "/var/cache/bind/db.frosch.lan";
        allow-update { key "ddns-key" ; };
        allow-query {
                192.168.0.0/24;
                };
};

zone "0.168.192.in-addr.arpa"{
        type master;
        file "/var/cache/bind/db.0.168.192";
        allow-update { key "ddns-key" ; };
        allow-query {
                192.168.0.0/24;
                };
};
und die Zonen:

/var/cache/bind/db.frosch.lan

Code: Alles auswählen

;; db.frosch.lan
;;
;; BIND forward data file for rfc1918 zone
;;
;;
$ORIGIN frosch.lan.
$TTL    86400
@        IN      SOA     server01.frosch.lan. mail.frosch.org. (
                     2019082201         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400         ; Negative Cache TTL
                        )
             IN      NS      server01.frosch.lan.
@            IN      A       192.168.0.1
server01     IN      A       192.168.0.1

localhost    IN      A       127.0.0.1
ro-pc        IN      A       192.168.0.27
RaspberryPi  IN      A       192.168.0.11
und die reverce Zone:
/var/cache/bind/db.0.168.192

Code: Alles auswählen

$ORIGIN .
$TTL 86400      ; 1 day
0.168.192.in-addr.arpa  IN SOA  server01.frosch.lan. mail.frosch.org. (
                                201908233  ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                2419200    ; expire (4 weeks)
                                172800     ; minimum (2 days)
                                )
                        NS      server01.frosch.lan.
$ORIGIN 0.0.168.192.in-addr.arpa.
1                       PTR     server01.frosch.lan.
$TTL 300        ; 5 minutes
25                      PTR     MANUELA-PC.frosch.lan.
$ORIGIN 0.168.192.in-addr.arpa.
25                      PTR     MANUELA-PC.frosch.lan.
in Samba /etc/samba/smb.conf

Code: Alles auswählen

# Global parameters
[global]
        workgroup = FROSCH
        wins server = 192.168.0.1
        netbios name = SERVER01
        realm = FROSCH.LAN
        server role = active directory domain controller
        server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
        winbind use default domain = false
        winbind offline logon = false
        winbind separator = +

[netlogon]
        path = /var/lib/samba/sysvol/frosch.local/scripts
        read only = No

[sysvol]
        path = /var/lib/samba/sysvol
        read only = No

[Lan_t]
        comment = Lan_t
        path = /mnt/Lan_t
        read only = No
        inherit permissions = Yes
        inherit acls = Yes
        inherit owner = Yes
        guest ok = No
Wäre total dankbar, wenn da mal jemand drüber schauen könnte, vor allem unter dem Gesichtpunkt: Stimmen die Domain, Search Domain, Realm Einträge?

Wie gesagt, DHCP scheint zu laufen. DNS startet ohne Fehler, löst aber nix gescheit auf. Momentan weder Adressen im Netz noch Internet Und Samba will nicht mit "Fehler DNS".

Vielen Dank im Voraus
Ralf

nonickatall
Beiträge: 4
Registriert: 22.08.2019 18:56:45

Re: Samba als ADC, Bind Probleme

Beitrag von nonickatall » 25.08.2019 20:51:28

Danke für die umfangreiche Hilfe, habe es selbst gelöst.. Thread kann geschlossen werden.

Für Leute die das selbe Problem haben und sich hier vor Hilfangeboten auch nicht retten können. Ab der Version 9.4.1 hat sich das allow query Verhalten beim Bind9 geändert.

https://kb.isc.org/docs/aa-00269

Vorher war erlaubt was nicht explizit verboten ist, darauf beziehen sich die ganzen Beispiele im Netz. Nun muss man Querys explizit erlauben. Daran bin ich gescheitert.

slu
Beiträge: 2145
Registriert: 23.02.2005 23:58:47

Re: Samba als ADC, Bind Probleme

Beitrag von slu » 26.08.2019 14:35:22

Vielen Dank für dein Feedback.
Gruß
slu

Das Server Reinheitsgebot:
Debian Bookworm, sonst nichts.

Stolzer Gewinner der Jessie Release Wette:
https://wiki.debianforum.de/Jessie_Release_Wette#SIEGER

Antworten