Kinit Etki Alanı Sunucusuna Bağlanmıyor: Bölge, ilk kimlik bilgilerini alırken KDC'ye yerel değil


13

Linux (Ubuntu 10.04) istemcilerinin Windows Server 2008 R2 Etki Alanı Sunucusunda kimlik doğrulaması yapacakları bir test ortamı oluşturuyorum.

Burada Kerberos istemcisini kurmak için resmi Ubuntu kılavuzunu izliyorum: https://help.ubuntu.com/community/Samba/Kerberos , ancak kinitetki alanı sunucusuna bağlanmak için komutu çalıştırırken bir sorunla karşılaştım .

Ben koşuyorum komut şöyledir: kinit Administrator@DS.DOMAIN.COM. Bu komut aşağıdaki hatayı verir:

Realm not local to KDC while getting initial credentials. Maalesef, bu kesin hatayı yaşayan Google aramalarıyla başka birini bulamıyorum, bu yüzden ne anlama geldiği hakkında hiçbir fikrim yok.

İstemci, sunucunun ana bilgisayar adına ping atabildiğinden, DNS sunucusu etki alanı sunucusuna işaret ediyor.

Aşağıda krb5.conf dosyam var:

[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

Bu hataları nasıl düzeltebilirim? Alabileceğim her türlü yardımı takdir ediyorum!

Yanıtlar:


12

Alan adınız mı DS.DOMAIN.COMyoksa sadece DOMAIN.COMmı?

Alanlarınızda eşleştirilmeleri gerekir, bu nedenle DS.DOMAIN.COM’un değiştirmeniz gereken alanınız olduğunu varsayalım:

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

için

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

Ancak, eğer etki alanınız gerçekten ise, aşağıdaki DOMAIN.COMgibi görünmesi için krb5.conf dosyanızı değiştirmeniz gerekir:

[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

Ve sonra öyle istiyorsun kinit:kinit Administrator@DOMAIN.COM


headdesk Oradaydı , bana bariz bir şey gibi bakıyordu. DERSİN ad.domain.com = AD.DOMAIN.COM orada olmalı. Gaah.
sysadmin1138

@sysadmin: Endişeye gerek yok ... sadece aktif olarak bir AD entegre SMB sunucusu oluşturuyor ve Samba 3.0'da hatayla sonuçlanan bir sorunu bulmaya çalışan krb5.conf'ime bakıyordum. :-D
Zypher

Bunu denemem gerekecek. Ancak, etki alanı adı: DS.DOMAIN.COM benim Windows Server's Hostname+DOMAIN.COM
Phanto

@Phanto o zaman benim düşük önerimi kullanmanız gerekir. Bir ana bilgisayar adını bir etki alanı olarak belirliyorsunuz, bu da size hatalarınızı veriyor. kdc ve / veya admin sunucusu ana bilgisayar adını koyacağınız yerdir.
Zypher 20

3

Kaynak kodu girerken, müzakere işlemi başka bir alana havale edildiğinde ve bu etki alanı 'yerel' değilse ya da krb5.conf yapılandırmanızda bu hatanın atıldığı görülüyor.

00219 / *
00220 * Arka uç yerel olmayan bir asıl döndürdüyse
00221 * alem, o zaman müşteriyi o aleme yönlendirmeliyiz.
00222 * /
00223 if (! İs_local_principal (client.princ)) {
00224 / * Giriş başka bir bölgeye havale eder * /
00225 durum = "REFERRAL";
00226 errcode = KRB5KDC_ERR_WRONG_REALM;
00227 gro errout;
00228

Bu ne olabilir, sana söyleyemem. Bu muhtemelen Active Directory ortamınıza ve ağaçta birden fazla alan olup olmadığına bağlıdır. Muhtemelen daha fazla domain_realm takma ismine ihtiyacınız vardır, ama tam olarak buradan söyleyemediklerimiz.


2

Zypher tarafından sağlanan aynı krb5.conf dosyasını kullanarak aynı mesajı aldım:

[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

(üzgünüm düzgün biçimlendirme alamadım gibi görünüyor: /)

Benim durumumda MYDOMAIN.COM yerine MYDOMAIN.LOCAL'e kinit yapmam gerekiyordu. Bunun genel olarak AD’de veya yalnızca AD etki alanım için bir kimlik doğrulama ayarından mı kaynaklandığından emin değilim. Etki alanımda 2 DC var, biri W2k3 R2 ve diğeri (krb5.conf'da mydc.mydomain.com olarak belirtilen) W2k8 R2. Ancak "İlk kimlik bilgilerini alırken KDC'ye yerel değil bölge" mesajının olası bir başka nedeni de budur.


2

Ben de bu çok aynıydı ve cevabımı ayarladıktan sonra çok basit buldum. Linuxqustions.org adresindeki logicalfuzz'a teşekkürler.

kinit -V myname@domain.net
kinit: KDC reply did not match expectations while getting initial credentials

kinit -V myname@DOMAIN.NET
Authenticated to Kerberos v5

Başkentler burada tüm farkı yaratır. Bunun örneklerde gösterildiğini biliyorum ama vurgulamak istedim.


Env benim için etki alanı üst davalara döndüğüm için aynı sorun vardı!
Samir Ouldsaadi

0

Bu makineyi bir etki alanından farklı etki alanına bağlamaya çalışırken bu hatayı aldım. /Etc/krb5.conf dosyasını düzenlemek de işe yaramadı. Daha sonra, farklı etki alanlarını yeniden yapılandırmak için aşağıdaki komutu denedim

# sudo dpkg-reconfigure -plow krb5-config

İstenilen seçenekler ve kinit komutunda yukarıdaki hatayı vermeyi durduran ayarlarla. Çözülmüş.


0

Ben sadece bu sadece aynı hata için burada sona erdi ama başka bir sorun için başka bir düzeltme bulundu çünkü bu ekle ... etki alanının TÜM CAPS olduğundan emin olun: my.user@DOMAIN.LOCAL ve my.user@domain.local ... bunun yüzünden hayatımın 2 saatini kaybettim ...


0

Bunun eski bir soru olduğunu biliyorum, ancak bu sorun için çözümümün önerilen tüm cevapların bir birleşimi olduğu yanı sıra birincil etki alanı denetleyicimi eklenmesiyle ilgili sorun gidericiler için de eklemek istiyorum. /etc/hosts


-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

kayıt ol


2
Sorunun nasıl çözüleceğini açıklamak için lütfen ilgili metinleri ekleyin.
Diamant
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.