Kinit stellt keine Verbindung zu einem Domänenserver her: Realm nicht lokal für KDC, während anfängliche Anmeldeinformationen abgerufen werden

13

Ich richte eine Testumgebung ein, in der sich Linux-Clients (Ubuntu 10.04) bei einem Windows Server 2008 R2-Domänenserver authentifizieren.

Ich folge der offiziellen Ubuntu-Anleitung, um einen Kerberos-Client hier einzurichten: https://help.ubuntu.com/community/Samba/Kerberos , aber beim Ausführen des kinitBefehls zum Herstellen einer Verbindung zum Domänenserver ist ein Problem aufgetreten .

Der Befehl Ich betreibe ist: kinit [email protected]. Dieser Befehl gibt den folgenden Fehler zurück:

Realm not local to KDC while getting initial credentials. Leider kann ich über Google-Suchanfragen keine andere Person finden, bei der genau dieser Fehler aufgetreten ist. Daher habe ich keine Ahnung, was dies bedeutet.

Der Client kann den Hostnamen des Servers anpingen, sodass der DNS-Server auf den Domänenserver verweist.

Unten ist meine krb5.conf-Datei:

[libdefaults]
default = DS.DOMAIN.COM
dns_lookup_realm = true
dns_lookup_kdc true

[realms]
    DS.DOMAIN.COM = {
        kdc = ds.domain.com:88
        admin_server = ds.domain.com
        default_domain = domain.com
    }

[domain_realm]
    .domain.com = DS.DOMAIN.COM
    domain.com = DS.DOMAIN.COM

Wie kann ich diese Fehler beheben? Ich würde mich sehr über jede Hilfe freuen, die ich bekommen kann!

Phanto
quelle

Antworten:

12

Ist Ihr Domainname DS.DOMAIN.COModer nur DOMAIN.COM?

In Ihren Realms müssen sie übereinstimmen. Angenommen, DS.DOMAIN.COM ist Ihre Domain, müssen Sie Folgendes ändern:

[domain_realm]
    .domain.com = DS.DOMAIN.COM
    domain.com = DS.DOMAIN.COM

zu

[domain_realm]
    .ds.domain.com = DS.DOMAIN.COM
    ds.domain.com = DS.DOMAIN.COM

Wenn DOMAIN.COMIhre Domain jedoch wirklich ist, müssen Sie Ihre krb5.conf so ändern, dass sie wie folgt aussieht:

[libdefaults]
default = DOMAIN.COM
dns_lookup_realm = true
dns_lookup_kdc = true

[realms]
    DOMAIN.COM = {
        kdc = ds.domain.com:88
        #You can have more than one kds, just keep adding more kdc =
        #entries
        #kdc = dsN.domain.com:88
        #Uncomment if you have a krb admin server
        #admin_server = ds.domain.com:749
        default_domain = domain.com
    }

[domain_realm]
    .domain.com = DOMAIN.COM
    domain.com = DOMAIN.COM

Und dann möchten Sie kinitso:kinit [email protected]

Zypher
quelle
headdesk Da war es und starrte mich an wie eine offensichtliche Sache. Natürlich sollte ad.domain.com = AD.DOMAIN.COM drin sein. Gaah.
sysadmin1138
@sysadmin: Keine Sorge ... ich baue gerade aktiv einen AD-integrierten SMB-Server auf und habe auf meine krb5.conf gestarrt, um ein Problem herauszufinden, das in Samba 3.0 zu einem Fehler geführt hat. :-D
Zypher
Ich werde das versuchen müssen. Allerdings ist der Domainname: DS.DOMAIN.COM mein Windows Server's Hostname+DOMAIN.COM
Phanto
@Phanto dann musst du meinen unteren Vorschlag verwenden. Sie geben einen Hostnamen als Domain an, was zu Ihren Fehlern führt. Auf dem KDC- und / oder Admin-Server können Sie den Hostnamen eingeben.
Zypher
3

Wenn Sie in den Quellcode hineinschauen, sieht es so aus, als würde ein Fehler ausgelöst, wenn der Aushandlungsprozess einen Verweis auf eine andere Domain erhält und diese Domain nicht 'lokal' ist oder sich in Ihrer krb5.conf-Konfiguration befindet.

00219 / *
00220 * Wenn das Backend einen Principal zurückgegeben hat, der sich nicht im lokalen befindet
00221 * Realm, dann müssen wir den Client auf diesen Realm verweisen.
00222 * /
00223 if (! Is_local_principal (client.princ)) {
00224 / * Eintrag ist eine Verweisung auf einen anderen Bereich * /
00225 status = "REFERRAL";
00226 Fehlercode = KRB5KDC_ERR_WRONG_REALM;
00227 gehe zu errout;
00228}

Was das sein könnte, konnte ich dir nicht sagen. Dies hängt wahrscheinlich von Ihrer Active Directory-Umgebung ab und davon, ob sich mehrere Domänen in der Struktur befinden. Sie benötigen wahrscheinlich mehr domain_realm-Aliase, aber genau das können wir hier nicht sagen.

sysadmin1138
quelle
2

Ich hatte die gleiche Nachricht mit der gleichen krb5.conf wie von Zypher:

[libdefaults]
   default = MYDOMAIN.COM
   dns_lookup_realm = true
   dns_lookup_kdc = true
   ticket_lifetime = 24h
   renew_lifetime = 7d
   forwardable = true

[realms]
MYDOMAIN.COM = {
   kdc = mydc.mydomain.com:88
   admin_server = mydc.mydomain.com:749
   default_domain = mydomain.com
}

[domain_realm]
   .mydomain.com = MYDOMAIN.COM
   mydomain.com = MYDOMAIN.COM

(Entschuldigung, es scheint, dass ich keine korrekte Formatierung bekomme: /)

In meinem Fall musste ich zu MYDOMAIN.LOCAL anstatt zu MYDOMAIN.COM wechseln. Ich bin nicht sicher, ob dies auf eine Authentifizierungseinstellung in AD im Allgemeinen oder nur auf meine AD-Domäne zurückzuführen ist. Meine Domain hat 2 Domänencontroller, einer ist W2k3 R2 und der andere (der als mydc.mydomain.com in krb5.conf angegebene) ist W2k8 R2. Dies ist jedoch eine weitere mögliche Ursache für die Meldung "KDC-Bereich ist beim Abrufen der anfänglichen Anmeldeinformationen nicht lokal"

zsispeo
quelle
2

Ich hatte das gleiche und fand, dass die Antwort nach dem Reparieren meiner Konfiguration so einfach war, dass ich das immer noch hatte. Danke an logicalfuzz bei linuxqustions.org.

kinit -V [email protected]
kinit: KDC reply did not match expectations while getting initial credentials

kinit -V [email protected]
Authenticated to Kerberos v5

Die Hauptstädte machen hier den Unterschied. Ich weiß, dass dies in Beispielen gezeigt wird, aber ich wollte es betonen.

user375207
quelle
hatte genau das gleiche Problem, für mein env die Domain in Großbuchstaben zu verwandeln hat funktioniert !!
Samir Ouldsaadi
0

Beim Versuch, diesen Computer von einer Domäne zu einer anderen Domäne zu verbinden, ist dieser Fehler aufgetreten. Das Bearbeiten von /etc/krb5.conf funktionierte ebenfalls nicht. Dann habe ich den folgenden Befehl ausprobiert, um die Inhalte für verschiedene Domänen neu zu konfigurieren

# sudo dpkg-reconfigure -plow krb5-config

mit den gewünschten Optionen und Einstellungen, bei denen der obige Fehler im kinit-Befehl nicht mehr angezeigt wird. Behoben.

Vallabh
quelle
0

Ich füge dies nur hinzu, weil ich gerade wegen des gleichen Fehlers hier geendet habe, aber ein anderes Update für ein weiteres Problem gefunden habe ... Ich habe nur 2 Stunden meines Lebens wegen dieses einen verloren ...

boiss007
quelle
0

Ich weiß, dass dies eine alte Frage ist, möchte aber für zukünftige Problembehandlungen hinzufügen, dass meine Lösung für dieses Problem eine Kombination aller vorgeschlagenen Antworten war und dass ich meinen primären Domänencontroller zu meinem hinzugefügt habe /etc/hosts

Norr
quelle
-1
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
default_realm = DOMAIN.LOCAL
dns_lookup_kdc = true
dns_lookup_realm = true
ticket_lifetime = 24h
#default_keytab_name = /etc/squid3/PROXY.keytab

; for Windows 2003
; default_tgs_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; default_tkt_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; permitted_enctypes = rc4-hmac des-cbc-crc des-cbc-md5
; for Windows 2008 with AES
default_tgs_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts-hmac-sha1-96 rc4-hmac des-cbc-crc des-cbc-md5

[realms]
DOMAIN.LOCAL = {
kdc = dc.domain.local
admin_server = dc.domain.local
default_domain = domain.local
kpasswd_server = dc.domain.local
}

[domain_realm]
.DOMAIN.LOCAL = DOMAIN.LOCAL
DOMAIN.LOCAL = DOMAIN.LOCAL

ein Register führen

Alex Real
quelle
2
Bitte fügen Sie relevante Texte hinzu, um zu erklären, wie das Problem dadurch gelöst werden kann.
Diamant