Решил попробовать «подружить» samba 4 (4.0.7) (аналогично и для samba 4.1 rc1) и windows 2012 server.
Результат был ожидаем.
samba 4 не может добавиться в роли контроллера домена в существующий windows domain, если выбран function level 2012.
И наоборот, windows 2012 server не может добавиться к домену samba 4.
Надеюсь, данная статья сэкономит вам время при изучении этого вопроса.
Ниже представлены основные шаги.
Windows 2012 server к Samba 4, считая что samba 4 уже установлен и запущен в качестве PDC.
1. Добавляем роли
2. После успешной установки входим в настройку Active Directory Domain Services (нажимаем More…)
3. Promote server (Promote this server to a domain controller)
4. Добавляем domain controller к существующему домену
5. Выбираем существующий лес и домен
6. Проходим еще несколько шагов, и получаем ошибку.
Samba 4 к Windows 2012 server
Windows 2012 server
1. Выполняем с 1-3 шаг предыдущего примера
2. Выбираем add new forest
3. Выбираем function level “windows server 2012”
4. Проходим еще несколько шагов, нажимаем install. Перегружаемся, для проверки заходим под test.locadministrator
Samba 4
(Более подробно здесь)
1. Настраиваем /etc/krb5conf
[libdefaults]
dns_lookup_realm = true
dns_lookup_kdc = true
default_realm = test.loc
2. Прописываем win-2012 сервер в качестве dns в /etc/resolve.conf
domain test.loc
nameserver 192.168.1.1
nameserver 8.8.8.8
где 192.168.1.1 ip нашего windows 2012 server
3. Делаем kinit/klist для проверки
# kinit administrator@TEST.LOC
Password for administrator@TEST.LOC:
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@TEST.LOC
Valid starting Expires Service principal
07/13/2013 13:50:29 07/13/2013 23:50:29 krbtgt/TEST.LOC@TEST.LOC
renew until 07/14/2013 13:50:26
4. Запускаем процесс добавления samba 4 dc:
# samba-tool domain join test.loc DC -Uadministrator --realm=test.loc
Finding a writeable DC for domain 'test.loc'
Found DC WIN-2012.test.loc
Password for [WORKGROUPadministrator]:
workgroup is TEST
realm is test.loc
checking sAMAccountName
Adding CN=ALARMPI,OU=Domain Controllers,DC=test,DC=loc
Adding CN=ALARMPI,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
Adding CN=NTDS Settings,CN=ALARMPI,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
DsAddEntry failed with status (5, 'WERR_ACCESS_DENIED') info (8567, 'WERR_DS_INCOMPATIBLE_VERSION')
Join failed - cleaning up
checking sAMAccountName
Deleted CN=ALARMPI,OU=Domain Controllers,DC=test,DC=loc
Deleted CN=ALARMPI,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=loc
ERROR(runtime): uncaught exception - DsAddEntry failed
File "/usr/lib/python2.7/site-packages/samba/netcmd/__init__.py", line 175, in _run
return self.run(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/samba/netcmd/domain.py", line 552, in run
machinepass=machinepass, use_ntvfs=use_ntvfs, dns_backend=dns_backend)
File "/usr/lib/python2.7/site-packages/samba/join.py", line 1104, in join_DC
ctx.do_join()
File "/usr/lib/python2.7/site-packages/samba/join.py", line 1007, in do_join
ctx.join_add_objects()
File "/usr/lib/python2.7/site-packages/samba/join.py", line 525, in join_add_objects
ctx.join_add_ntdsdsa()
File "/usr/lib/python2.7/site-packages/samba/join.py", line 458, in join_add_ntdsdsa
ctx.DsAddEntry([rec])
File "/usr/lib/python2.7/site-packages/samba/join.py", line 421, in DsAddEntry
raise RuntimeError("DsAddEntry failed")
Как и в предыдущем примере попытка окончилась неудачей. Будем ждать версии samba 4.1, в которой подобные возможности будут реализованы.
1 комментарий
Пытаюсь подключить samba 4.1.18 к Windows 2012 R2 такая же ошибка ERROR(runtime): uncaught exception — DsAddEntry failed