Подробный гайд: Установка и развертывание Active Directory на ALT Server

Пошаговая установка Active Directory на ALT Server: настройка Samba DC, репликация, ввод клиентов, администрирование и диагностика

2026.04.02                  


Подробный гайд: Установка и развертывание Active Directory на ALT ServerПодробный гайд: Установка и развертывание 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

Установка системы

  1. Загрузитесь с носителя, выберите «Install ALT Server»
  2. Выберите язык, примите лицензионное соглашение
  3. Настройте дату/время и часовой пояс
  4. Разметка диска: выберите профиль «Установка сервера» (для UEFI создаст EFI-раздел автоматически)

5. Выбор пакетов: отметьте:

  • «Сервер Samba DC (контроллер AD)»
  • «Административные шаблоны» (в группе «Групповые политики»)
  • «Графическая система» (если нужны ADMC/GPUI на этом сервере)
    1. Задайте имя хоста (например, dc1.test.alt), IP-адрес, шлюз и DNS
    2. Создайте учётные записи root и пользователя
    3. Завершите установку и перезагрузитесь

Обновление системы

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 и официальную документацию.