Инструкция по установке контроллера домена на базе Samba AD DC в Debian 13
В современных IT-инфраструктурах централизованное управление пользователями и ресурсами является критически важным. Контроллер домена (Domain Controller) решает эту задачу, предоставляя единую точку аутентификации, авторизации и управления политиками безопасности. В этом руководстве мы развернем полнофункциональный контроллер домена на базе Samba AD DC — открытого решения, совместимого с Microsoft Active Directory.
Содержание
- Преимущества внедрения контроллера домена
- Технические характеристики нашего развертывания
- Предварительные требования
- Подготовка системы
- Настройка сети
- Настройка времени
- Установка Samba AD DC
- Настройка DNS и Kerberos
- Запуск службы
- Проверка работы
- Основные команды управления
- Управление DNS
- Руководство для начинающих
- Заключение
Преимущества внедрения контроллера домена
- Централизованное управление: Единая база пользователей, групп и компьютеров
- Безопасность: Единые политики паролей, доступов и аудита
- Упрощение администрирования: Массовые операции через групповые политики
- Масштабируемость: Поддержка от малых офисов до крупных предприятий
- Кроссплатформенность: Интеграция Windows, Linux и macOS клиентов
Технические характеристики нашего развертывания
| Параметр | Значение |
|---|---|
| Домен | ITSCH.LAN |
| Имя сервера | dc1.itsch.lan |
| IP-адрес | 192.168.0.11/24 |
| Шлюз по умолчанию | 192.168.0.1 |
| Минимальные требования | 2 vCPU, 4 ГБ ОЗУ, 20 ГБ HDD |
| Рекомендуемые требования | 4 vCPU, 8 ГБ ОЗУ, 200 ГБ SSD |
Предварительные требования
- Чистая установка Debian 13 (Bookworm)
- Права суперпользователя (root или sudo)
- Статический IP-адрес в сети
- Доступ в Интернет для загрузки пакетов
- Соответствие системным требованиям
1. Подготовка системы
Производим обновление системы:
apt update && apt upgrade -y
Устанавливаем необходимые пакеты:
apt install mc curl wget net-tools dnsutils -y
Присваиваем имя нашему серверу в сети:
hostnamectl set-hostname dc1.itsch.lan
echo "192.168.0.11 dc1.itsch.lan dc" >> /etc/hosts
2. Настройка сети
Определение имени сетевого интерфейса:
INTERFACE=$(ip link show | grep -E '^[0-9]:' | grep -v lo | awk -F': ' '{print $2}' | head -1)
Настраиваем сетевой интерфейс:
cat > /etc/network/interfaces << EOF
# Loopback interface
auto lo
iface lo inet loopback
# Primary network interface
auto ${INTERFACE}
iface ${INTERFACE} inet static
address 192.168.0.11
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 127.0.0.1 192.168.0.1
dns-search itsch.lan
EOF
Применяем настройки:
systemctl restart networking
Проверяем изменения:
ip addr show ${INTERFACE}
3. Настройка времени
Устанавливаем службу синхронизации времени:
apt install chrony -y
Активируем флаг автоматической синхронизации времени через NTP:
timedatectl set-ntp true
Добавляем chrony в автозапуск при загрузке системы и запускаем службу без перезагрузки:
systemctl enable --now chrony
Выводим подробный список NTP‑серверов:
chronyc sources -v
Получаем сводную информацию о времени в системе:
timedatectl status
4. Установка Samba AD DC
Устанавливаем необходимые пакеты:
apt install samba winbind krb5-user krb5-config -y
Kerberos — это сетевой протокол аутентификации, позволяющий узлам в незащищённой сети безопасно подтверждать личность друг друга с помощью билетов (tickets), выданных доверенным центром (KDC — Key Distribution Center).
Kerberos нужен для ключевых функций контроллера домена.
Указываем область для Kerberos: ITSCH.LAN

Указываем сервер Kerberos для области ITSCH.LAN: dc1.itsch.lan

Указываем управляющий сервер для области ITSCH.LAN в Kerberos: dc1.itsch.lan

Останавливаем старые службы:
systemctl stop smbd nmbd winbind
systemctl disable smbd nmbd winbind
Удаляем старый конфиг:
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Создаём домен:
samba-tool domain provision --use-rfc2307 --interactive
Параметры:
- Realm: ITSCH.LAN
- Domain: ITSCH
- Server Role: dc
- DNS backend: SAMBA_INTERNAL
- DNS forwarder: 192.168.0.1
- Administrator password: [задайте надежный пароль]
5. Настройка DNS и Kerberos
Копируем Kerberos конфиг:
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Настраиваем DNS:
echo "nameserver 127.0.0.1" > /etc/resolv.conf
echo "nameserver 192.168.0.1" >> /etc/resolv.conf
echo "search itsch.lan" >> /etc/resolv.conf
6. Запуск службы
systemctl unmask samba-ad-dc
systemctl enable samba-ad-dc
systemctl start samba-ad-dc
systemctl status samba-ad-dc
7. Проверка работы
Проверяем уровень домена:
samba-tool domain level show
Проверяем Kerberos:
kinit administrator@ITSCH.LAN
klist
Проверяем DNS:
host -t A dc.itsch.lan
host -t SRV _ldap._tcp.itsch.lan
Проверяем SMB (установим smbclient если нет):
apt install smbclient -y
smbclient -L localhost -U administrator
8. Основные команды управления
Управление пользователями:
samba-tool user add ivan --given-name="Иван" --surname="Иванов" --random-password
samba-tool user list
samba-tool user setpassword ivan --newpassword="НовыйПароль123"
samba-tool user delete ivan
Управление группами:
samba-tool group add "IT Department"
samba-tool group addmembers "IT Department" ivan
samba-tool group list
samba-tool group listmembers "IT Department"
Информация о домене:
samba-tool domain info 127.0.0.1
samba-tool drs showrepl
samba-tool domain trust list
9. Управление DNS
samba-tool dns add localhost itsch.lan server A 192.168.0.11
samba-tool dns query localhost itsch.lan @ ALL
samba-tool dns delete localhost itsch.lan server A
10. Руководство для начинающих
Показать все команды samba-tool:
samba-tool --help
Поиск по командам:
samba-tool --help | grep -i user
samba-tool --help | grep -i group
samba-tool --help | grep -i domain
Заключение
Контроллер домена Samba Active Directory функционирует. Управлять им можно с помощью команд samba-tool.
Для присоединения клиентов используйте домен ITSCH.LAN и DNS сервер 192.168.0.11.
