Kinit unable to reach any KDC in realm

Hallo,

ich habe Probleme beim Zugriff auf den Kerberos. # kinit liefert obige Fehlermeldung. Das habe ich sowohl als Administrator als auch als root probiert.

Rolle ist domaincontroller_master, Versionsinfo:

root@projects:~# ucr search --brief version
repository/mirror/version/end: <empty>
repository/mirror/version/start: <empty>
repository/online/component/.*/version: <empty>
repository/online/component/3.1-0-errata/version: 3.1
repository/online/component/3.1-1-errata/version: 3.1
repository/online/component/3.2-0-errata/version: 3.2
repository/online/component/3.2-1-errata/version: 3.2
repository/online/component/3.2-2-errata/version: 3.2
repository/online/component/3.2-3-errata/version: 3.2
update/umc/nextversion: true
version/erratalevel: 217
version/patchlevel: 3
version/releasename: Borgfeld
version/version: 3.2

netstat sagt:

tcp 0 0 0.0.0.0:7389 0.0.0.0:* LISTEN 27300/slapd tcp6 0 0 :::7389 :::* LISTEN 27300/slapd tcp 0 0 0.0.0.0:7636 0.0.0.0:* LISTEN 27300/slapd tcp6 0 0 :::7636 :::* LISTEN 27300/slapd tcp 0 0 192.168.12.230:389 0.0.0.0:* LISTEN 31505/samba tcp 0 0 192.168.12.230:636 0.0.0.0:* LISTEN 31505/samba

Wie kann ich prüfen, warum kinit den KDC nicht erreicht bzw. ob Samba4 diesen Dienst korrekt bereit stellen kann? Den kinit-Befehl setze ich lokal auf dem DCM ab, auf dem auch Samba4 läuft.

Danke für Tipps!
be-team

Anbei noch die krb5.conf. Wenn ich das richtig verstehe, müsste kinit direkt auf localhost nach dem KDC suchen…

edit
…die Datei /var/lib/heimdal-kdc/kadmind.acl ist leer.

ucr search --brief kerberos kerberos/adminserver: dcm.foo.org kerberos/adminusers: <empty> kerberos/afscell: <empty> kerberos/allow/weak/crypto: <empty> kerberos/autostart: no kerberos/defaults/debug: <empty> kerberos/defaults/dns_lookup_kdc: no kerberos/defaults/dns_lookup_realm: <empty> kerberos/defaults/enctypes/permitted: <empty> kerberos/defaults/enctypes/tgs: <empty> kerberos/defaults/enctypes/tkt: <empty> kerberos/defaults/forwardable: <empty> kerberos/defaults/kdc_timesync: <empty> kerberos/defaults/proxiable: <empty> kerberos/domain_realms: <empty> kerberos/kadmin/default/keys: <empty> kerberos/kdc: 127.0.0.1 kerberos/kpasswdserver: 127.0.0.1 kerberos/password/quality/check: yes kerberos/realm: FOO.ORG
edit
krb5.conf.txt (1.39 KB)

Hallo,

Kerberos sollte hier in der Tat von Samba 4 bereitgestellt werden (dass die /var/lib/heimdal-kdc/kadmind.acl per default leer ist ist normal und in Ordnung).
Kerberos(bzw. der entsprechende Samba-Prozess) sollte lokal auf Port 88 lauschen:

root@master:~# netstat -tulpen | grep :88 tcp 0 0 0.0.0.0:88 0.0.0.0:* LISTEN 0 17346497 4208/samba udp 0 0 10.200.11.200:88 0.0.0.0:* 0 17346504 4208/samba udp 0 0 0.0.0.0:88 0.0.0.0:* 0 17346498 4208/samba

Zusätzlich könnten Sie einmal prüfen, ob Samba eventuell anders eingestellt ist:

ucr search samba/interfaces ucr search samba/interfaces/bindonly

Und das Loopback Interface zu prüfen kann auch nicht schaden:

ifconfig lo

Mit freundlichen Grüßen,
Tim Petersen

Gotcha,

wenn ich in der krb5.conf die localhost-IP 127.0.0.1 durch die 192.x.x.x IP ersetze, wird der KDC von kinit gefunden. Dazu muss noch nicht einmal Samba neu gestartet werden, scheinbar wird die krb5.conf unmittelbar bei jedem kinit-Aufruf ausgewertet.

Die 192.x.x.x IP ist bei mir in der UCR in den Variablen interfaces_eth0_address, ldap_server und nameserver1 hinterlegt. Dann muss ich sie wohl auch noch unter kerberos/kdc und kerberos/kpasswdserver eintragen, oder mache ich da etwas falsch?

be-team

Ich vermute eher, dass samba/interfaces/bindonly auf “yes” und samba/interfaces auf “eth0” stehen - kann das sein?
Dann wird Samba nicht mehr auf Loopback horchen.

In dem Fall können Sie vermutlich einfach kerberos/kdc auf die IP von eth0 setzen, ja. Standardmäßig sind obige Samba-Variablen nicht gesetzt, dann ist kerberos/kdc=127.0.0.1 (Loopback) der richtige Wert.
Die krb5.conf wird automatisch durch diese UCR-Variablen gefüllt, da es ein UCR-Template ist - manuelle Anpassungen an der Datei müssen Sie daher gar nicht durchführen.

edit:
“Richtiger” als den kerberos/kdc Default zu ändern wäre aber vermutlich, die Liste der Intefaces in samba/interfaces um “lo” zu erweitern:

ucr set samba/interfaces="$(ucr get samba/interfaces) lo"

Mit freundlichen Grüßen,
Tim Petersen

[quote=“Petersen”]Ich vermute eher, dass samba/interfaces/bindonly auf “yes” und samba/interfaces auf “eth0” stehen - kann das sein?
Dann wird Samba nicht mehr auf Loopback horchen.
[/quote]

Genau so ist es.

[quote=“Petersen”]In dem Fall können Sie vermutlich einfach kerberos/kdc auf die IP von eth0 setzen, ja. Standardmäßig sind obige Samba-Variablen nicht gesetzt, dann ist kerberos/kdc=127.0.0.1 (Loopback) der richtige Wert.
Die krb5.conf wird automatisch durch diese UCR-Variablen gefüllt, da es ein UCR-Template ist - manuelle Anpassungen an der Datei müssen Sie daher gar nicht durchführen.
[/quote]

Die manuelle Änderung hatte ich testhalber durchgeführt.

Habe ich so umgesetzt; jetzt horcht Samba wunschgemäß auf lo, und kinit findet seinen KDC :slight_smile:

Besten Dank!
be-team

Mastodon