Доброго времени суток всем.
Преамбула:
Существует централизованная сеть, объединяющая множество филиалов в единую ЛВС, под управление контролера домена на Microsoft Windows 2008 R2. Основной контроллер домена физически располагается в центральном офисе. В филиалах установлены доп.контроллеры домена в режиме ro (только чтение) с периодической репликацией.
Суть:
Потребовалось создать файловый сервер в филиале (я нахожусь в филиале и не имею доступа к настройкам основного DC). За основу был выбран Ubuntu server. Решено было поставить ОС без графики, доступ файлов для windows-машинок решил возложить на Samba с acl. Примером для настройки послужили статьи:
"
https://help.ubuntu.ru/wiki/%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80_%D0%B4%D0%BB%D1%8F_windows"
и "
https://help.ubuntu.ru/wiki/%D0%B2%D0%B2%D0%BE%D0%B4_%D0%B2_%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD_windows".
Но при вводе в домен происходит ошибка:
# net ads join -U username -D DOMAIN.RU
Failed to join domain: failed to find DC for domain DOMAIN.RU
В принципе такая ошибка понятна и предсказуема: в филиале то контролер домена в ro, поэтому требуется указать непосредственно название DC:
# net ads join -U username -D DOMAIN.RU -S DC01
[2011/08/17 00:16:57, 0] libads/sasl.c:819(ads_sasl_spnego_bind)
kinit succeeded but ads_sasl_spnego_krb5_bind failed: Decrypt integrity check failed
Failed to join domain: failed to connect to AD: Decrypt integrity check failed
Вот тут то и ошибка, которую уже несколько дней не могу победить. Перелазил все возможные ссылки, которые выдают поисковики, перечитал кучу манов, но решения так и не нашел.
Из вышесказанного ответа я вижу, что киберос билетик мне дает, что в принципе kinit подтверждает:
# kinit username
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: username@DOMAIN.RU
Valid starting Expires Service principal
08/17/11 00:21:30 08/17/11 10:21:36 krbtgt/DOMAIN.RU@DOMAIN.RU
renew until 08/18/11 00:21:30
А вот что-то с названием ads_sasl_spnego_krb5_bind выдает ошибку, не позволяющую интегрировать Samba c Active Directory, ссылаясь на ошибку шифрования (поправьте меня, если я ошибаюсь).
Что же, один результат, который выдал поисковик (
http://timpage.ru/pub/ADUnixLDAPsign.html) натолкнул на мысль о подобной настройке на основном DC. Пробуем добавить в smb.conf строчку:
client ldap sasl wrapping = sign
после чего ребутим Samba.
В итоге результат тот же, правда с небольшим отличием. Теперь к предыдущему сообщению добавляется "Unspecified GSS failure. Minor code may provide more information":
# net ads join -U username -D DOMAIN.RU -S DC01
[2011/08/17 00:54:25, 0] libads/sasl.c:819(ads_sasl_spnego_bind)
kinit succeeded but ads_sasl_spnego_krb5_bind failed: Unspecified GSS failure. Minor code may provide more information : Decrypt integrity check failed
Failed to join domain: failed to connect to AD: Unspecified GSS failure. Minor code may provide more information : Decrypt integrity check failed
Собственно прошу помощи разобраться, где именно допущена ошибка, и возможно ли ее вылечить? Как писал выше, сам справиться не могу, поисковики помочь не могут.
Моя конфигурация:
Ubuntu Server 10.04.3
Samba Version: 2:3.4.7~dfsg-1ubuntu3.7
Провожу содержимое ключевых конфигурационных файлов:
/etc/resolv.conf
domain domain.ru
search domain.ru
nameserver 192.168.10.2 #rodc01
nameserver 192.168.0.2 #dc01
nameserver 192.168.0.3 #dc02
/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.10.14
netmask 255.255.255.128
network 192.168.10.0
broadcast 192.168.10.127
gateway 192.168.10.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.10.2 192.168.0.2 192.168.0.3
dns-search domain.ru
/etc/hosts
127.0.0.1 localhost
192.168.10.14 fs04.domain.ru fs04
/etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.RU
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
v4_instance_resolve = false
v4_name_convert = {
host = {
rcmd = host
ftp = ftp
}
plain = {
something = something-else
}
}
fcc-mit-ticketflags = true
[realms]
DOMAIN.RU = {
kdc = rodc01
kbc = dc01
kbc = dc02
default_domain = DOMAIN.RU
}
<...>
[domain_realm]
<...>
.domain.ru = DOMAIN.RU
domain.ru = DOMAIN.RU
[login]
# krb4_convert = true
krb4_convert = false
krb4_get_tickets = false
testparm /etc/samba/smb.conf
[global]
workgroup = DOMAIN
realm = DOMAIN.RU
server string = %h server (Samba, Linux)
security = ADS
client ldap sasl wrapping = sign
load printers = No
printcap name = /dev/null
disable spoolss = Yes
show add printer wizard = No
os level = 0
local master = No
domain master = No
dns proxy = No
Примечание:
192.168.10.0/25 - сетка в филиале
192.168.10.1 - шлюз до сетки ЦО (центрального офиса)
192.168.10.2 rodc01 - DC в филиале в режиме ro
192.168.0.1/24 - сетка в ЦО
192.168.0.1 - шлюз из сетки ЦО
192.168.0.2 dc01 - Основной DC в ЦО
192.168.0.3 dc02 - Доп. DC в ЦО
Искренне жду помощи. Заранее спасибо.
P.S.Так же хотелось бы обратить Ваше внимание на то, что с помощью инструмента likewise-open машинка весело и не принужденно влетает в домен. Но только остается одна большая проблема: Samba ни в какую не хочет дружиться с likewise-open. В тех манах и инструкциях, которые мне удалось найти, очень мало информации об интеграции этих двух служб меду собой, и как следствие - интеграции Samba и Active Directory. Те же мануалы, которые есть, не соответствуют действительности (похоже в Ubuntu 10.04 сильно модифицирован данный пакет). Нет likewise-open демона, хотя это не беда, он просто называется по другому. Нет перечисленных в манах инструментов. Нет возможности интегрировать Samba и likewise-open посредством "ln -s" на secrets.tdb, так как secrets.tdb которым якобы руководствуется likewise-open просто отсутствует.
Возможно, в связи с тем, что средствами самого Samba и КиберОС нет возможности интеграции с AD, быть может likewise-open - это единственный выход (по крайней мере машинка вгоняется в домен), но тогда прошу помощи в настройке связи Samba и AD средствами likewise-open в Ubuntu. Быть может кто нибудь еще попадет в данную неприятную ситуацию и ему это поможет. Во всяком случая я очень нуждаюсь в помощи сейчас.
Искреннее спасибо.