Доброго времени суток.
Столкнулся со следующей проблемой при заведении самбы в домен:
kinit проходит нормально, net join проходит нормально, getent passwd и getent group показывают юзеров и группы домена, wbinfo -p проходти нормально, дальше начинаются фокусы.wbinfo -t выполняется минут 5, при этом winbind начинает жрать 100% процессора. wbinfo -u или -g дождаться сил не хватило.
В логах пишет:
ads_krb5_mk_req: krb5_get_credentials failed for NSKHQ$@DOMAINNAME (Cannot resolve network address for KDC in requested realm)Что характерно, оно почему-то хочет найти KDC для netbios имени домена, хотя по идее должно обращаться по полному dns имени.
Пробовал добавить в krb5.conf дополнительный realm для этого имени, winbind начинает ругаться по-другому:
ads_krb5_mk_req: krb5_get_credentials failed for NSKHQ$@DOMAINNAME (KDC reply did not match expectations)
То же самое происходит, если в hosts добавляю запись для DOMAINNAME, соответствующую контроллеру домена.Домен на Windows 2008 server.
Обрисую конфигурацию:
# uname -srv
Linux 2.6.27.9-159.fc10.x86_64 #1 SMP Tue Dec 16 14:47:52 EST 2008# smbd -V
Version 3.2.8-0.26.fc10# cat /etc/samba/smb.conf
[global]
netbios name = NSKGW
workgroup = DOMAINNAME
realm = NSK.DOMAINNAME.RU
server string = Samba Server Version %v
security = ADS
auth methods = winbind
update encrypted = Yes
password server = nsk.domainname.ru
passdb backend = tdbsam
client NTLMv2 auth = Yes
client lanman auth = No
client plaintext auth = No
log file = /var/log/samba/log.%m
max log size = 50
load printers = No
show add printer wizard = No
preferred master = No
local master = No
domain master = No
wins server = nsk.domainname.ru
ldap ssl = no
obey pam restrictions = yes
winbind use default domain = yes
winbind cache time = 0
winbind separator = /
winbind enum users = yes
winbind enum groups = yes
winbind uid = 10000-20000
winbind gid = 10000-20000# cat /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log[libdefaults]
default_realm = NSK.DOMAINNAME.RU
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = yes
clock_skew = 300[realms]
NSK.DOMAINNAME.RU = {
kdc = nsk.domainname.ru:88
admin_server = nsk.domainname.ru:749
default_domain = nsk.domainname.ru
}[domain_realm]
.nsk.domainname.ru = NSK.DOMAINNAME.RU
nsk.domainname.ru = NSK.DOMAINNAME.RU[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
kinit = {
renewable = true
forwardable = true
}# grep winbind /etc/nsswitch.conf
passwd: files winbind
group: files winbind# cat /etc/resolv.conf
domain nsk.domainname.ru
search nsk.domainname.ru
nameserver 192.168.249.7
Попроьуй изменить протокол
[realms]
NSK.DOMAINNAME.RU = {
kdc = tcp/nsk.domainname.ru}
> Попроьуй изменить протокол
>[realms]
>NSK.DOMAINNAME.RU = {
> kdc = tcp/nsk.domainname.ru
>
>}Спасибо за ответ, но почему-то в этом случае kinit вообще не отрабатывает, даже если вместо имени написать тупо ип контроллера домена.
# kinit Administrator@NSK.DOMAINNAME.RU
kinit(v5): Cannot resolve network address for KDC in realm NSK.ROSNEFT.RU while getting initial credentials
>[оверквотинг удален]
>>NSK.DOMAINNAME.RU = {
>> kdc = tcp/nsk.domainname.ru
>>
>>}
>
>Спасибо за ответ, но почему-то в этом случае kinit вообще не отрабатывает,
>даже если вместо имени написать тупо ип контроллера домена.
># kinit Administrator@NSK.DOMAINNAME.RU
>kinit(v5): Cannot resolve network address for KDC in realm NSK.ROSNEFT.RU while getting
>initial credentialsЯ сразу не обратил внимание, но похоже у тебя realname это DOMAINNAME.RU, а не
NSK.DOMAINNAME.RU
> Я сразу не обратил внимание, но похоже у тебя realname
>это DOMAINNAME.RU, а не
>NSK.DOMAINNAME.RUНет, именно nsk.domainname.ru.
А почему в конфигах указано именно так, а не server.nsk.domainname.ru - для какой-никакой отказоустойчивости, т.к. контроллеров домена два, а это имя ресолвится как раз в оба сервера. Способ проверен в другой сети на другом домене - работает :)
Настраивай kerberos, но сначало добейся, чтобы у тебя отзывался контроллер AD и по ip и по dns, без этого двигаться дальше бесполезно.
> Настраивай kerberos, но сначало добейся, чтобы у тебя отзывался контроллер AD
>и по ip и по dns, без этого двигаться дальше бесполезно.
>Да отзывается, в том-то и дело, и kinit нормально проходит, и net join без единой ошибки...
А вот почему winbind'у в голову взбрело, что к домену нужно обращаться по netbios имени - загадка, ибо сколько я себя помню - всегда было SERVER$@FULL.DOMAIN.NAME. И где чего покрутить, чтобы ему объяснить, как надо - не знаю.Уже думаю с горя собрать ванильную самбу 3.3 попробовать, только обновлять её потом проблемно будет, пакетами проще всё-таки.
>Уже думаю с горя собрать ванильную самбу 3.3 попробовать, только обновлять её
>потом проблемно будет, пакетами проще всё-таки.Собрал рпм-ки для 3.3 из исходников, установил, всё то же самое.
Нифига не понимаю... Значит, где-то надо что-то крутить.
>[оверквотинг удален]
>
>Да отзывается, в том-то и дело, и kinit нормально проходит, и net
>join без единой ошибки...
>А вот почему winbind'у в голову взбрело, что к домену нужно обращаться
>по netbios имени - загадка, ибо сколько я себя помню -
>всегда было SERVER$@FULL.DOMAIN.NAME. И где чего покрутить, чтобы ему объяснить, как
>надо - не знаю.
>
>Уже думаю с горя собрать ванильную самбу 3.3 попробовать, только обновлять её
>потом проблемно будет, пакетами проще всё-таки.Да где ж нормально проходит
если у тебя
# kinit Administrator@NSK.DOMAINNAME.RU
kinit(v5): Cannot resolve network address for KDC in realm NSK.ROSNEFT.RU while getting initial credentialsКстати а сейчас ты какую самбу юзаешь, 3.2 или же 3.0
> Да где ж нормально проходит
> если у тебя
># kinit Administrator@NSK.DOMAINNAME.RU
>kinit(v5): Cannot resolve network address for KDC in realm NSK.DOMAINNAME.RU while getting
>initial credentialsЭта ошибка возникает только если добавить перед адресом "tcp/", оно его, видимо, не понимает.
>
> Кстати а сейчас ты какую самбу юзаешь, 3.2 или же 3.0
>3.2.8-0.26.fc10 была, сейчас уже 3.3.0-1.x86_64
выложил логи при log level = 3
http://rif.nsk.ru/files/log.zip
Ради эксперимента взял свободную машину, воткнул ту же 10 федору, только i386 (проц старенький) - всё завелось с полпинка. Круг сужается, конечно, но всё равно не понятно, где причина.
Решено:
Оказывается, всё дело было в строке smb.conf
winbind cache time = 0
====
Следовало закомментить, либо поставить более приемлемое значение :)Всем спасибо.