Подробный гайд: Установка и развертывание Active Directory на ALT Server
Важно:
- В связи с обновлениями безопасности Windows Server от июля 2025 года, для совместимости требуется Samba 4.21.7 или новее (или 4.22.3+). Рекомендуется использовать Альт Домен 11.
Системные требования к контроллеру домена
| Компонент | Минимальные | Рекомендуемые (производственная среда) |
|---|---|---|
| RAM | 2 ГБ | 4 ГБ + 2 ГБ на каждые 1000 пользователей |
| CPU | 2 vCPU | 4 vCPU |
| Диск | 10 ГБ | 20+ ГБ (с учётом логов, бэкапов, аватаров) |
| DNS | Внутренний (SAMBA_INTERNAL) или BIND9_DLZ | BIND9_DLZ для сложных инфраструктур |
Примечание:
- Имя домена должно содержать минимум два компонента (например,
test.alt). Избегайте суффикса.local.
Этап 1: Установка ОС «Альт Сервер»
Создание загрузочного носителя
# Запись образа на USB (замените /dev/sdX на ваше устройство)
dd oflag=direct if=alt-server-x86_64.iso of=/dev/sdX bs=1M status=progress; sync
Установка системы
- Загрузитесь с носителя, выберите «Install ALT Server»
- Выберите язык, примите лицензионное соглашение
- Настройте дату/время и часовой пояс
- Разметка диска: выберите профиль «Установка сервера» (для UEFI создаст EFI-раздел автоматически)
5. Выбор пакетов: отметьте:
- «Сервер Samba DC (контроллер AD)»
- «Административные шаблоны» (в группе «Групповые политики»)
- «Графическая система» (если нужны ADMC/GPUI на этом сервере)
- Задайте имя хоста (например,
dc1.test.alt), IP-адрес, шлюз и DNS - Создайте учётные записи
rootи пользователя - Завершите установку и перезагрузитесь
- Задайте имя хоста (например,
Обновление системы
sudo apt-get update
sudo apt-get dist-upgrade
sudo update-kernel
sudo apt-get clean
sudo reboot
Этап 2: Создание первого контроллера домена
Установка пакетов (если не выбраны при установке)
# Для Heimdal Kerberos (по умолчанию)
sudo apt-get install task-samba-dc
# Или для MIT Kerberos:
# sudo apt-get install task-samba-dc-mitkrb5
Настройка имени хоста и сети
# Проверка имени
hostnamectl set-hostname dc1.test.alt
domainname test.alt
# Настройка DNS-резолвера
echo "search test.alt" > /etc/net/ifaces/eth0/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/net/ifaces/eth0/resolv.conf
resolvconf -u
Остановка конфликтующих служб
for service in smb nmb krb5kdc slapd bind; do
sudo systemctl disable --now $service
done
Создание домена (интерактивный режим)
sudo samba-tool domain provision --use-rfc2307 --interactive
Ответьте на вопросы:
Realm: TEST.ALT
Domain: TEST
Server Role: dc
DNS backend: SAMBA_INTERNAL
DNS forwarder: 8.8.8.8 # внешний DNS для разрешения интернет-имён
Administrator password: Pa$$w0rd! # минимум 7 символов, 3 из 4 групп: заглавные, строчные, цифры, спецсимволы
Создание домена (пакетный режим для скриптов)
sudo samba-tool domain provision \
--realm=test.alt \
--domain=TEST \
--adminpass='Pa$$w0rd!' \
--dns-backend=SAMBA_INTERNAL \
--server-role=dc \
--use-rfc2307 \
--option="dns forwarder=8.8.8.8"
Настройка Kerberos
# Копирование конфигурации Samba в систему
sudo cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
# Проверка конфигурации
grep -E "default_realm|dns_lookup" /etc/krb5.conf
Запуск службы
sudo systemctl enable --now samba
sudo systemctl status samba
Если служба не запускается — перезагрузите сервер.
Этап 3: Проверка работоспособности домена
Базовая информация
# Информация о домене
samba-tool domain info 127.0.0.1
# Список общих ресурсов
smbclient -L localhost -Uadministrator
# Проверка DNS
host -t SRV _kerberos._udp.test.alt.
host -t SRV _ldap._tcp.test.alt.
host -t A dc1.test.alt.
Тест Kerberos
# Получение билета
kinit administrator@TEST.ALT
Password for administrator@TEST.ALT:
# Просмотр билета
klist
# Тест аутентификации
smbclient //localhost/netlogon -Uadministrator -c 'ls'
Создание тестового пользователя
samba-tool user create ivanov \
--given-name='Иван' \
--surname='Иванов' \
--mail-address='ivanov@test.alt'
# Установка бессрочного пароля
samba-tool user setexpiry ivanov --noexpiry
# Проверка
samba-tool user list | grep ivanov
Этап 4: Добавление второго контроллера домена (репликация)
Подготовка второго сервера (dc2.test.alt)
# Установка пакетов
sudo apt-get install task-samba-dc
# Настройка имени
hostnamectl set-hostname dc2.test.alt
# Остановка служб
for service in smb nmb krb5kdc slapd bind; do
sudo systemctl disable --now $service
done
# Очистка старых данных
sudo rm -rf /var/lib/samba /var/cache/samba /etc/samba/smb.conf
sudo mkdir -p /var/lib/samba/sysvol
Регистрация нового DC в DNS (на первом контроллере)
samba-tool dns add 192.168.0.132 test.alt DC2 A 192.168.0.133 -Uadministrator
Настройка Kerberos и DNS на втором DC
# /etc/krb5.conf
[libdefaults]
default_realm = TEST.ALT
dns_lookup_realm = false
dns_lookup_kdc = true
# /etc/resolvconf.conf
name_servers=192.168.0.132
search_domains=test.alt
sudo resolvconf -u
Присоединение к домену
# Получение билета
kinit administrator@TEST.ALT
# Присоединение как контроллер домена
sudo samba-tool domain join test.alt DC \
-Uadministrator@TEST.ALT \
--realm=test.alt \
--option="dns forwarder=8.8.8.8" \
--option='idmap_ldb:use rfc2307 = yes'
# Запуск службы
sudo systemctl enable --now samba
Проверка репликации
# На втором DC
samba-tool drs showrepl --summary
# Ожидаемый вывод:
# Last attempt @ ... was successful
# 0 consecutive failure(s).
Этап 5: Ввод клиентской машины в домен
Установка пакетов на клиенте (ОС «Альт Рабочая станция»)
sudo apt-get install task-auth-ad-sssd alterator-gpupdate
Настройка сети
# Имя хоста
sudo hostnamectl set-hostname ws01.test.alt
# DNS (в /etc/net/ifaces/eth0/resolv.conf)
nameserver 192.168.0.132
search test.alt
sudo resolvconf -u
Ввод в домен
# Через консоль
sudo system-auth write ad test.alt ws01 TEST 'administrator' 'Pa$$w0rd!'
# Или через ЦУС:
# 1. Запустите Центр управления системой (acc)
# 2. Пользователи -> Аутентификация
# 3. Выберите «Домен Active Directory», заполните поля
# 4. Укажите «SSSD» и включите групповые политики
Проверка подключения
# Перезагрузка
sudo reboot
# После входа:
getent passwd ivanov@TEST.ALT
net ads testjoin # Должно вернуть "Join is OK"
net ads info
Административные инструменты
Установка ADMC и GPUI
# На машине с графическим интерфейсом
sudo apt-get install admc gpui admx-basealt admx-chromium admx-firefox admx-yandex-browser admx-msi-setup
# Установка политик Microsoft
sudo admx-msi-setup
# Загрузка ADMX-файлов в SysVol
samba-tool gpo admxload -U Administrator
Запуск
# Получение билета
kinit administrator@TEST.ALT
# ADMC — управление объектами домена
admc
# GPUI — редактирование групповых политик
gpui-main -p "smb://dc1.test.alt/SysVol/test.alt/Policies/{GUID}"
Диагностика и устранение неполадок
Полезные команды
# Проверка конфигурации Samba
testparm -s
# Журналы
journalctl -u samba -f
tail -f /var/log/samba/log.samba
# Диагностика репликации
samba-tool drs showrepl -v
# Проверка DNS
dig @127.0.0.1 test.alt SRV
nslookup -type=SRV _ldap._tcp.test.alt 127.0.0.1
# Сброс кэша SSSD на клиенте
sss_cache -E
systemctl restart sssd
Частые проблемы
| Проблема | Решение |
|---|---|
kinit не получает билет |
Проверьте время на сервере и клиенте (разница <= 5 мин), настройте NTP |
| DNS-записи не разрешаются | Убедитесь, что nameserver 127.0.0.1 в /etc/resolv.conf, служба samba запущена |
| Клиент не входит в домен | Проверьте system-auth write, права администратора, доступность портов 88/389/445 |
| Репликация не работает | Проверьте samba-tool drs showrepl, синхронизацию времени, доступность портов между DC |
Безопасность и рекомендации
. Обновления:
- Регулярно обновляйте Samba (
apt update && apt upgrade samba)
Резервное копирование:
# Онлайн-бэкап
samba-tool domain backup online --targetdir=/backup/samba
Мониторинг:
- Настройте аудит через
samba-tool audit
Парольная политика:
samba-tool domain passwordsettings set --min-pwd-length=12 --complexity=on
Отказоустойчивость:
- Минимум 2 контроллера домена в разных физических локациях
При возникновении вопросов используйте samba-tool --help и официальную документацию.