Bug 58134

Summary: Опция USE_NOTIFY не работает в межсайтовой репликации
Product: Sisyphus Reporter: Vladislav Glinkin <glinkinvd>
Component: sambaAssignee: Evgeny Sinelnikov <sin>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: sin
Version: unstable   
Hardware: x86_64   
OS: Linux   
See Also: https://bugzilla.altlinux.org/show_bug.cgi?id=58190
Attachments:
Description Flags
Опции объекта соединения с сервера DC
none
Опции объекта соединения с сервера DC2
none
drs_repl.log с DC
none
drs_repl.log с DC2 none

Description Vladislav Glinkin 2026-03-05 19:18:40 MSK
Created attachment 20828 [details]
Опции объекта соединения с сервера DC

Конфигурация:
	2x ALT Server 11.0

Версии пакетов:
	samba-dc-4.22.8-alt2
	samba-dc-client-4.22.8-alt2

Шаги воспроизведения:
1) Перед вводом второго DC в домен создадим ещё один сайт и добавим его в стандартный DEFAULTIPSITELINK
	# samba-tool sites create SecondSite && \
	samba-tool sites sitelinks add-site DEFAULTIPSITELINK SecondSite

2) Присоединяем второй DC к домену с опцией --site
	# samba-tool domain join SISYPHUS.SAMBA DC --site=SecondSite

3) Для SiteLink'а включаем опцию USE_NOTIFY
	# samba-tool sites sitelinks modify DEFAULTIPSITELINK --options=1

4) На обоих контроллерах домена запустить KCC принудительно
	# samba-tool drc kcc

5) Внести какие-либо изменения на одном из контроллеров домена (создать пользователя, к примеру)
	# samba-tool user add petr Pa##word

Фактический результат: 
	Репликация выполнилась только один раз - и тот, судя по всему, по расписанию в период с 18:00 до 19:00. Далее, при любых изменениях - репликация не происходит. Можно ждать хоть 30 минут - ничего не поменятся.

Ожидаемый результат:
	С опцией USE_NOTIFY межсайтовая репликация выполняется независимо от расписания, при наличии изменений на каком-либо контроллере домена.

Дополнительно:
	Секция KCC CONNECTION OBJECTS из вывода команд # samba-tool drs showrepl
==== KCC CONNECTION OBJECTS ====  

Connection --  
       Connection name: 929aa2f3-2712-47dc-8ea8-732993a7aab3  
       Enabled        : TRUE  
       Server DNS name : dc2.sisyphus.samba  
       Server DN name  : CN=NTDS Settings,CN=DC2,CN=Servers,CN=SecondSite,CN=Sites,CN=Configuration,DC=sisyphus,DC=samba  
               TransportType: RPC  
               options: 0x0000000D  
Warning: No NC replicated for Connection!
==== KCC CONNECTION OBJECTS ====  
  
Connection --  
       Connection name: 63d1c3d9-a9fc-4b82-9bcb-34cd6cc5e596  
       Enabled        : TRUE  
       Server DNS name : DC.sisyphus.samba  
       Server DN name  : CN=NTDS Settings,CN=DC,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=sisyphus,DC=samb  
a  
               TransportType: RPC  
               options: 0x0000000D  
Warning: No NC replicated for Connection!

Также прикладываю скриншоты с параметрами объектов соединений из оснастки «Сайты и службы Active Directory» и логи drs_repl.log
Comment 1 Vladislav Glinkin 2026-03-05 19:19:04 MSK
Created attachment 20829 [details]
Опции объекта соединения с сервера DC2
Comment 2 Vladislav Glinkin 2026-03-05 19:20:59 MSK
Created attachment 20830 [details]
drs_repl.log с DC
Comment 3 Vladislav Glinkin 2026-03-05 19:21:39 MSK
Created attachment 20831 [details]
drs_repl.log с DC2
Comment 4 Vladislav Glinkin 2026-03-06 17:03:34 MSK
(Ответ для Vladislav Glinkin на комментарий #0)
4 шаг можно расписать более подробно:
	# samba-tool drc kcc (Запускаем KCC принудительно на 1 DC)
	# samba-tool drs replicate DC2 DC CN=Configuration,DC=samba,DC=testdomain --sync-forced (Реплицируем конфигурацию на 2 DC)
	# samba-tool drc kcc (Запускаем KCC принудительно на 2 DC)

Сравнил поведение с Active Directory (Windows Server 2019, 2 x ALT Linux Server 11.0).
Там для создания объектов соединения необходимо выполнить аналогичную операцию:
	1) Принудительно запустить проверку топологии (либо через оснастку, либо repadmin /kcc <DC>)
	2) Реплицировать конфигурацию (через repadmin /replicate /force LINUX WIN-GATRMHQ0PRS CN=Configuration,DC=AD,DC=WIN на каждый дополнительный DC)
	3) Запустить # samba-tool drc kcc на каждом дополнительном DC

Результат получился следующий:
	На одном из 3-х сайтов KCC создал 2 объекта соединения с двумя другими. На двух других сайтах KCC создал по одному объекту соединения.
	В итоге, репликация в режиме USE_NOTIFY действительно работает только с одного контроллере домена, который находится в сайте с двумя объектами соединения. Т.е., если сделать любые изменения на этом DC - они начинаю реплицироваться буквально менее чем через минуту.
	
	С других DC, репликация USE_NOTIFY почему-то не работает. Быть может, это особенность топологии при 3 DC в домене, либо что-то не так.
	
	На каждом объекте соединения KCC установил опции 0xD, как и ожидается при использовании USE_NOTIFY на SiteLink'е.

	Режим работы домена и леса - Windows Server 2008 R2