
Цели и задачи статьи
Необходимо построить доверительные отношения между SambaDC и ALD Pro, и выполнить проверки:
Авторизация пользователей из домена ALD Pro на хост под управлением SambaDC и наоборот;
Подключение и работа модуля миграции ALD Pro в связке с SambaDC;
Подключение и работа модуля синхронизации ALD Pro в связке с SambaDC.
1. Настройка SambaDC
Имя КД Samba = dc2.samba.dc
IP КД Samba = 10.177.124.242
Версия ОС = ALSE 1.7.6
Build OC = 1.7.6.11
1.1 Смена имени хоста и исправления файла /etc/hosts
Меняем имя хоста с помощью команды в терминале:
sudo hostnamectl set-hostname dc2.samba.dc
Далее редактируем файл /etc/hosts и прописываем имя нашей вм и ее ip-адрес
127.0.0.1 localhost
10.177.124.242 dc2.samba.dc dc2
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
1.1 Установка пакетов
Для использования samba в качестве домена AD нужно установить пакет samba и дополнительные пакеты:
sudo apt install samba winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user krb5-kdc bind9
1.2 Назначение Samba на роль AD DC
Перед Назначением остановить ненужные службы, запретить их запуск, и удалить установленный по умолчанию конфигурационный файл Samba:
sudo systemctl stop winbind smbd nmbd krb5-kdc
sudo systemctl mask winbind smbd nmbd krb5-kdc
sudo rm /etc/samba/smb.conf
1.3 Назначение Samba в интерактивном режиме
Для выполнения Назначения в интерактивном режиме выполнить команду:
sudo samba-tool domain provision --use-rfc2307 --interactive
В процессе Назначения должен произойти примерно такой диалог:
# Запрашивается имя области Kerberos Realm [SAMBA.DC]: SAMBA.DC # Запрашивается имя домена Domain [SAMBA]: SAMBA # Запрашивается роль сервера Server Role (dc, member, standalone) [dc]: dc # Выбирается служба DNS DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ # Выбирается IP-адрес для перенаправления запросов DNS DNS forwarder IP address (write 'none' to disable forwarding) [10.0.2.254]: 77.88.8.8 # Ввод и подтверждение пароля администратора Administrator password: Passw0rd Retype password: Passw0rd Looking up IPv4 addresses Looking up IPv6 addresses No IPv6 address will be assigned Setting up share.ldb Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema Adding DomainDN: DC=samba,DC=dc Adding configuration container Setting up sam.ldb schema Setting up sam.ldb configuration data Setting up display specifiers Modifying display specifiers Adding users container Modifying users container Adding computers container Modifying computers container Setting up sam.ldb data Setting up well known security principals Setting up sam.ldb users and groups Setting up self join Adding DNS accounts Creating CN=MicrosoftDNS,CN=System,DC=samba,DC=dc Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf Setting up fake yp server settings Once the above files are installed, your Samba4 server will be ready to use Server Role: active directory domain controller Hostname: DC NetBIOS Domain: SAMBA DNS Domain: samba.dc DOMAIN SID: S-1-5-21-2614513918-2685075268-614796884 |
1.4 Назначение Samba в автоматическом режиме
Для примера назначения Samba в автоматическом режиме используем следующие параметры:
Роль сервера: dc
Расширения NIS: включены
Служба DNS: внутренний DNS BIND9_DLZ
Область Kerberos и зона DNS AD: samba.dc
Имя домена для NetBIOS: SAMBA
Пароль администратора: Passw0rd
Используется сеть 10.177.124.0/24
Адрес хоста Samba 10.177.124.242
Для указанных параметров команда назначения будет выглядеть так:
sudo samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=BIND9_DLZ --realm=SAMBA.DC --domain=SAMBA --adminpass=Passw0rd
1.5 Завершающие команды
После успешного выполнения команды назначения, перед запуском доменной службы samba, указать в файле /etc/resolve.conf зону поиска и сервер DNS
search samda.dc
nameserver 127.0.0.1
Разрешить автоматический запуск службы контроллера домена:
sudo systemctl unmask samba-ad-dc
sudo systemctl enable samba-ad-dc
Настроить службу DNS
echo 'include "/var/lib/samba/bind-dns/named.conf";' | sudo tee -a /etc/bind/named.conf
sudo chown -R root:bind /var/lib/samba/bind-dns
sudo systemctl restart bind9
Скопировать автоматически созданную конфигурацию службы Kerberos в файл /etc/krb5.conf
sudo cp -b /var/lib/samba/private/krb5.conf /etc/krb5.conf
Запустить доменную службу Samba:
sudo systemctl start samba-ad-dc
1.6 Создание реверсивных зон
С помощью команды samba-tool dns zonecreate нужно добавить зону реверсивного поиска:
samba-tool dns zonecreate samba.dc 124.177.10.in-addr.arpa -U Administrator
Password for [administrator@SAMBA.DC]:
Zone 124.177.10.in-addr.arpa created successfully
Если требуется использовать несколько реверсивных зон команду следует выполнить несколько раз с указанием параметров соответствующих подсетей.
Изменение реверсивных зон не требует перезапуска сервисов Samba или BIND.
1.7 Подготовка к построению ДДО
Настроить службу разрешения имен (DNS) домена Samba на работу с доменом ALD Pro:
Отключить проверку dnssec, для чего в файле /etc/bind/named.conf.options параметру dnssec-validation в секции options присвоить значение no:
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//========================================================================
dnssec-validation no;
listen-on-v6 { any; };
};
Добавить зону перенаправления для домена ALD Pro (aldpro.domain), указав в качестве сервера DNS IP-адрес контроллера домена ALD Pro { 10.177.124.147; } , для чего в файл /etc/bind/named.conf.local добавить строки
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
zone "aldpro.domain" in {
type forward;
forward only;
forwarders { 10.177.124.147; };
};
Настроить доменную службу Samba (службу samba-ad-sssd) на работу с DNS ALD Pro, для чего в файл /etc/samba/smb.conf в секцию [global] добавить строку dns forwarder = <IP_aldpro>.
А также сразу добавим настройки службы winbind и разрешение авторизоваться через эту службу:
# Global parameters
[global]
netbios name = DC2
realm = SAMBA.DC
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
workgroup = SAMBA
idmap_ldb:use rfc2307 = yes
dns forwarder = 10.177.124.147
#начало настройки windind
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
#конец настройки winbind
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/samba.dc/scripts
read only = No
Настроить службу Kerberos на работу с доменом ALD Pro, для чего в файл /etc/krb5.conf в секцию [realms] добавить описание области Kerberos домена ALD Pro:
[libdefaults]
default_realm = SAMBA.DC
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
SAMBA.DC = {
default_domain = samba.dc
}
#добавлено
ALDPRO.DOMAIN = {
kdc = dc1.aldpro.domain
admin_server = dc1.aldpro.domain
}
#
[domain_realm]
dc2 = SAMBA.DC
Перезапустить службы DNS (служба bind9) и контроллера домена (служба samba-ad-dc)
sudo systemctl restart bind9 samba-ad-dc
Убедиться, что на этом этапе работает
host -t srv _kerberos._tcp.aldpro.domain
_kerberos._tcp.aldpro.domain is an alias for _kerberos._tcp.hq._locations.aldpro.domain.
_kerberos._tcp.hq._locations.aldpro.domain has SRV record 0 100 88 dc1.aldpro.domain.
2. Настройка ALD Pro
Имя КД ALD Pro = dc1.aldpro.domain
IP КД ALD Pro= 10.177.124.147
Версия ALD Pro = 2.5.0
Версия ОС = ALSE 1.7.6
Build OC = 1.7.6.11
Далее по инструкции 01_Руководство_Администратора_2.5.0.pdf
глава 6.7.Доверительные отношения.
1. Установить КД с глобальным каталогом;
2. В файле /etc/bind/ipa-options-ext.conf отключить dnssec;
/* dnssec-enable is obsolete and 'yes' by default */
dnssec-validation no;
allow-recursion { any; };
allow-query-cache { any; };
3. Настроить конфиг sssd в файле /etc/sssd/sssd.conf. Для доступа к ресурсам windows с аутентификацией по kerberos (IIIS, cifs, принтеры с общим доступом по smb) необходимо отключить у клиентских компьютеров FAST аутентификацию, так как windows её не поддерживает:
[domain/aldpro.domain]
#добавить отключение
krb5_use_fast = never
id_provider = ipa
ipa_server_mode = True
......
4. Выполнить команду:
sudo net conf setparm global "restrict anonymous" "0"
5. Перезагрузить инстанс ALD Pro:
aldproctl restart
6. Проверить доступность SambaDC
root@dc1:/home/astra# nslookup samba.dc
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
Name: samba.dc
Address: 10.177.124.242
7. Выполнить построение ДДО со стороны ALD Pro:
#Для получение билета керберос администратора домена ALD Pro
kinit admin
#Построение ДДО
ipa trust-add --type=ad samba.dc --admin administrator --password --two-way=true
8. Проверить ДДО и idrange:
#Проверить появились ли доверительные отношения
ipa trust-find
---------------------------
найдено 1 отношение доверия
---------------------------
Имя области (realm): samba.dc
Имя домена NetBIOS: SAMBA
Идентификатор безопасности домена: S-1-5-21-3277548201-3297483074-4236805558
Тип отношения доверия: Домен Active Directory
---------------------------------
Количество возвращённых записей 1
#Проверка созданного idrange
ipa idrange-find
-------------------
найдено 2 диапазона
-------------------
Имя диапазона: ALDPRO.DOMAIN_id_range
Первый идентификатор POSIX диапазона: 1032400000
Количество идентификаторов в диапазоне: 200000
Первый RID соответствующего диапазона RID: 1000
Первый RID вторичного диапазона RID: 100000000
Тип диапазона: local domain range
Имя диапазона: SAMBA.DC_id_range
Первый идентификатор POSIX диапазона: 1089800000
Количество идентификаторов в диапазоне: 200000
Первый RID соответствующего диапазона RID: 0
SID доверенного домена: S-1-5-21-3277548201-3297483074-4236805558
Тип диапазона: Active Directory domain range
---------------------------------
Количество возвращённых записей 2
---------------------------------
3. Проверка работы ДДО
3.1 На стороне SambaDC
# можно выполнить в формате id 'aldpro.domain\admin'
id admin@aldpro.domain
uid=3000048(ALDPRO\admin) gid=3000050(ALDPRO\admins) группы=3000050(ALDPRO\admins),3000048(ALDPRO\admin),3000051(ALDPRO\print_admins)
# важно указать realm большими буквами
kinit admin@ALDPRO.DOMAIN
Password for admin@ALDPRO.DOMAIN:
klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin@ALDPRO.DOMAIN
Valid starting Expires Service principal
26.06.2025 14:28:13 27.06.2025 14:03:00 krbtgt/ALDPRO.DOMAIN@ALDPRO.DOMAIN
#авторизоваться пользователем из другого домена
sudo login admin@aldpro.domain
Password:
Последний вход в систему:Чт июн 26 13:02:56 MSK 2025на pts/0
ALDPRO\admin@dc2:/$
3.2 На стороне ALD Pro
# можно выполнить в формате id 'samba.dc\administrator'
id administrator@samba.dc
uid=1089800500(administrator@samba.dc) gid=1089800500(administrator@samba.dc) группы=1089800500(administrator@samba.dc),1089800520(group policy creator owners@samba.dc),1089800519(enterprise admins@samba.dc),1089800512(domain admins@samba.dc),1089800518(schema admins@samba.dc),1089800513(domain users@samba.dc)
#Проверка получение билета керберос для пользователя из другого домена
kinit administrator@samba.dc
Password for administrator@samba.dc:
klist
Ticket cache: KEYRING:persistent:0:krb_ccache_TtjNWqq
Default principal: Administrator@SAMBA.DC
Valid starting Expires Service principal
26.06.2025 14:35:22 27.06.2025 00:35:22 krbtgt/SAMBA.DC@SAMBA.DC
renew until 27.06.2025 14:35:19
#Вход под пользователем из другого домена
sudo login administrator@samba.dc
Пароль:
Последний вход в систему:Чт июн 26 17:22:11 MSK 2025на pts/1
administrator@samba.dc@dc1:~$
4. Настройка модуля миграции
4.1 На стороне SambaDC
Необходимо открыть файл /etc/samba/smb.conf и добавить строчку
ldap server require strong auth = no
. Без этого параметра будем получать ошибку
ldap.STRONG_AUTH_REQUIRED: {'desc': 'Strong(er) authentication required', 'info': 'BindSimple: Transport encryption required.'}
# Global parameters
[global]
netbios name = DC2
realm = SAMBA.DC
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
workgroup = SAMBA
idmap_ldb:use rfc2307 = yes
dns forwarder = 10.177.124.147
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
ldap server require strong auth = no # добавленная строка
[sysvol]
path = /var/lib/samba/sysvol
read only = No
[netlogon]
path = /var/lib/samba/sysvol/samba.dc/scripts
read only = No
2. Перезагрузить самбу или ВМ полностью
systemctl restart samba-ad-dc
3. Создадим новую ОУ, пользователя и группу в SambaDC
Создание ОУ
sudo samba-tool ou add 'OU=OrgUnit' Added ou "OU=OrgUnit,DC=samba,DC=dc"
Cоздание пользователя и перемещение его в новую ОУ
#создание пользователя
sudo samba-tool user create PetrovDD
New Password:
Retype Password:
User 'PetrovDD' added successfully
#перемещения пользователя в OU
sudo samba-tool user move petrovdd 'OU=OrgUnit,DC=samba,DC=dc'
Moved user "petrovdd" into "OU=OrgUnit,DC=samba,DC=dc"
Cоздание группы и перемещение ее в новую ОУ
#Создание группы
sudo samba-tool group add MyGroup
Added group MyGroup
#Перемещение группы в OU
sudo samba-tool group move MyGroup 'OU=OrgUnit,DC=samba,DC=dc'
Moved group "MyGroup" into "OU=OrgUnit,DC=samba,DC=dc"
Посмотреть списки пользователей
sudo samba-tool user list
Посмотреть списки групп
sudo samba-tool group list
4.2 На стороне ALD Pro
Подключаем источник миграции и запускаем миграцию.

Результат запущенной миграции


5. Настройка модуля синхронизации
5.0 Необходимо создать нового пользователя и новую ОУ, или удалить пользователей, группу и ОУ, которые были перенесены с помощью модуля миграции.
Так как, модуль синхронизации будет проверять наличие объектов в домене ALD Pro и будут конфликты с уже мигрированными объектами.
5.1 Добавляем данные о SambaDC в веб панель ALD Pro и заполняем следующим образом:
Имя сервера: dc2.samba.dc
Имя пользователя: administrator@samba.dc
Пароль: указываем пароль от админа из домена samba.dc
В сертификат необходимо добавить файл, который лежит на контроллере SambaDC по пути /var/lib/samba/private/tls/cert.pem

5.2 ALD Pro автоматически будет заполнен
5.3 Переходим в источник и выбираем наши ОУ, которые будут синхронизированы и нажимаем сохранить

5.4 На первом КД ALD Pro, где установлена служба syncer
выполняем команду, или ждем срабатывания по таймеру:
systemctl start syncer
5.5 Проверяем, что пользователи и группы появились в веб панели ALD Pro

Итог
Благодаря описанным в статье инструкциям, можно подтвердить работоспособность ALD Pro в паре с доменом на базе SambaDC.
В поле импортозамещения присутствует несколько вендоров, чьи решения основаны на SambaDC в той или иной форме:
Одним из них может являться Альт Домен.
Основа решения — международный свободный проект Samba
Большое сообщество разработчиков, постоянное развитие и обновление, самые актуальные доработки, признание организациями по всему миру, широкий опыт использования.
Вторым из них может являться RED ADM.
Скачал Samba в вашем репозитории РЕД ОС. Нет там поддержки 2012R2, только 2008
В репозитории РЕД ОС базовая Samba DC, которая поддерживает только 2008R2. Данная версия Samba DC может использоваться со Стандартной редакции РЕД АДМ (доступен в репозитории).Репликация с 2012R2 доступна в Промышленной редакции РЕД АДМ, в которую входит собственная подсистема Службы каталога с расширенным функционалом (на базе Samba DC).