Kinit จะไม่เชื่อมต่อกับเซิร์ฟเวอร์โดเมน: ขอบเขตไม่ใช่ภายใน KDC ในขณะที่รับข้อมูลรับรองเริ่มต้น


13

ฉันกำลังตั้งค่าสภาพแวดล้อมการทดสอบที่ไคลเอนต์ Linux (Ubuntu 10.04) จะรับรองความถูกต้องกับเซิร์ฟเวอร์โดเมน Windows Server 2008 R2

ฉันกำลังปฏิบัติตามคำแนะนำอย่างเป็นทางการของ Ubuntu เพื่อตั้งค่าไคลเอนต์ Kerberos ที่นี่: https://help.ubuntu.com/community/Samba/Kerberosแต่ฉันพบปัญหาเมื่อเรียกใช้kinitคำสั่งเพื่อเชื่อมต่อกับเซิร์ฟเวอร์โดเมน

คำสั่งที่ฉันใช้คือ: kinit Administrator@DS.DOMAIN.COM. คำสั่งนี้ส่งคืนข้อผิดพลาดต่อไปนี้:

Realm not local to KDC while getting initial credentials. น่าเสียดายที่ฉันไม่สามารถหาคนอื่นผ่านการค้นหาของ Google ที่มีข้อผิดพลาดที่แน่นอนดังนั้นฉันจึงไม่ทราบว่ามันหมายถึงอะไร

ไคลเอนต์สามารถ ping ชื่อโฮสต์ของเซิร์ฟเวอร์ดังนั้นเซิร์ฟเวอร์ DNS ชี้ไปที่เซิร์ฟเวอร์โดเมน

ด้านล่างเป็นไฟล์ krb5.conf ของฉัน:

[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

ฉันจะแก้ไขข้อผิดพลาดเหล่านี้ได้อย่างไร ฉันขอขอบคุณทุกความช่วยเหลือที่ฉันได้รับ!

คำตอบ:


12

เป็นชื่อโดเมนของคุณDS.DOMAIN.COMหรือเพียงแค่DOMAIN.COM?

ในอาณาจักรของคุณคุณต้องทำให้มันตรงกันดังนั้นสมมติว่า DS.DOMAIN.COM เป็นโดเมนของคุณคุณต้องเปลี่ยน:

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

ถึง

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

อย่างไรก็ตามหากโดเมนของคุณเป็นจริงDOMAIN.COMคุณจะต้องเปลี่ยน krb5.conf ของคุณเพื่อให้มีลักษณะดังนี้:

[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

แล้วคุณkinitต้องการ:kinit Administrator@DOMAIN.COM


headdesk ที่นั่นมองมาที่ฉันเหมือนสิ่งที่ชัดเจน ของหลักสูตร ad.domain.com = AD.DOMAIN.COM ควรอยู่ในนั้น Gaah
sysadmin1138

@sysadmin: ไม่ต้องกังวล ... ฉันเพิ่งเกิดขึ้นอย่างแข็งขันที่จะสร้างเซิร์ฟเวอร์รวมของ SMB และได้รับการจ้องมองที่ krb5.conf ของฉันพยายามที่จะหาปัญหาที่จบลงด้วยการเป็นข้อบกพร่องใน Samba 3.0 :-D
Zypher

ฉันจะต้องลองสิ่งนี้ อย่างไรก็ตามชื่อโดเมน: DS.DOMAIN.COM คือฉันWindows Server's Hostname+DOMAIN.COM
Phanto

@Phanto จากนั้นคุณต้องใช้คำแนะนำที่ต่ำกว่าของฉัน คุณกำลังระบุชื่อโฮสต์เป็นโดเมนซึ่งเป็นสิ่งที่ทำให้คุณมีข้อผิดพลาด เซิร์ฟเวอร์ kdc และ / หรือ admin เป็นที่ที่คุณจะใส่ชื่อโฮสต์
Zypher

3

เมื่อพิจารณาถึงซอร์สโค้ดดูเหมือนว่ามีข้อผิดพลาดเกิดขึ้นเมื่อกระบวนการเจรจาได้รับการอ้างอิงไปยังโดเมนอื่นและโดเมนนั้นไม่ใช่ 'ภายใน' หรือในการกำหนดค่า krb5.conf ของคุณ

00219 / *
00220 * หากแบ็กเอนด์ส่งคืนเงินต้นที่ไม่ได้อยู่ในเครื่อง
00221 * ขอบเขตจากนั้นเราจำเป็นต้องอ้างอิงไคลเอนต์กับขอบเขตนั้น
00222 * /
00223 ถ้า (! is_local_principal (client.princ)) {
00224 / * ผลงานอ้างอิงถึงขอบเขตอื่น * /
สถานะ 00225 = "อ้างอิง";
00226 errcode = KRB5KDC_ERR_WRONG_REALM;
00227 ไปผิดพลาด
00228}

ฉันไม่สามารถบอกคุณได้ ซึ่งอาจขึ้นอยู่กับสภาพแวดล้อม Active Directory ของคุณและมีหลายโดเมนในทรีหรือไม่ คุณอาจต้องการชื่อแทน domain_realm เพิ่มเติม แต่สิ่งที่เราไม่สามารถบอกได้จากที่นี่


2

ฉันมีข้อความเดียวกันโดยใช้ krb5.conf เดียวกับที่ 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

(ขออภัยดูเหมือนว่าฉันไม่สามารถจัดรูปแบบที่เหมาะสม: /)

ในกรณีของฉันฉันจำเป็นต้องสร้างเครือข่ายให้ MYDOMAIN.LOCAL มากกว่า MYDOMAIN.COM ไม่แน่ใจว่านี่เป็นเพราะการตั้งค่าการรับรองความถูกต้องในโฆษณาโดยทั่วไปหรือเพียงแค่สำหรับโดเมนโฆษณาของฉัน โดเมนของฉันมี 2 DCs หนึ่งอันคือ W2k3 R2 และอีกอันหนึ่ง (ที่ระบุเป็น mydc.mydomain.com ใน krb5.conf) คือ W2k8 R2 แต่นี่เป็นอีกสาเหตุที่เป็นไปได้สำหรับข้อความ "อาณาจักรไม่ได้อยู่ในท้องถิ่นกับ KDC ในขณะที่รับข้อมูลประจำตัวเริ่มต้น"


2

ฉันมีสิ่งนี้เหมือนกันมากและพบว่าคำตอบนั้นง่ายมากหลังจากแก้ไขการตั้งค่าของฉันฉันยังมีสิ่งนี้อยู่ ขอบคุณ logicalfuzz ที่ linuxqustions.org

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

เมืองหลวงสร้างความแตกต่างได้ที่นี่ ฉันรู้ว่าสิ่งนี้แสดงในตัวอย่าง แต่ฉันต้องการเน้นมัน


มีปัญหาเดียวกันที่แน่นอนสำหรับ env ของฉันเปลี่ยนโดเมนเป็นตัวพิมพ์ใหญ่ทำงาน !!
กลั้ว Ouldsaadi

0

ฉันพบข้อผิดพลาดขณะพยายามเชื่อมต่อเครื่องนั้นจากโดเมนหนึ่งไปยังโดเมนอื่น การแก้ไข /etc/krb5.conf ก็ใช้ไม่ได้เช่นกัน จากนั้นฉันลองคำสั่งต่อไปนี้เพื่อกำหนดค่าเนื้อหาสำหรับโดเมนที่แตกต่างกัน

# sudo dpkg-reconfigure -plow krb5-config

ด้วยตัวเลือกและการตั้งค่าที่ต้องการซึ่งหยุดให้ข้อผิดพลาดด้านบนในคำสั่ง kinit การแก้ไข


0

ไม่สามารถเพิ่มได้เพราะฉันเพิ่งสิ้นสุดที่นี่เพื่อหาข้อผิดพลาดเดียวกัน แต่พบการแก้ไขปัญหาอีกครั้งสำหรับปัญหาอื่น ... ตรวจสอบให้แน่ใจว่าโดเมนอยู่ในทุก CAPS: my.user@DOMAIN.LOCAL ไม่ใช่ my.user@domain.local ... ฉันเพิ่งเสียชีวิต 2 ชั่วโมงไปเพราะสิ่งนี้ ...


0

ฉันรู้ว่านี่เป็นคำถามเก่า แต่ฉันต้องการเพิ่มสำหรับตัวแก้ไขปัญหาในอนาคตที่การแก้ไขปัญหานี้ของฉันคือการรวมกันของคำตอบที่แนะนำทั้งหมดรวมทั้งการเพิ่มตัวควบคุมโดเมนหลักของฉันไปที่ /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

เก็บทะเบียน


2
โปรดเพิ่มข้อความที่เกี่ยวข้องเพื่ออธิบายว่าสิ่งนี้จะช่วยแก้ปัญหาได้อย่างไร
Diamant
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.