Инструкция по установке контроллера домена на базе Samba AD DC в Debian 13

В современных IT-инфраструктурах централизованное управление пользователями и ресурсами является критически важным. Контроллер домена (Domain Controller) решает эту задачу, предоставляя единую точку аутентификации, авторизации и управления политиками безопасности. В этом руководстве мы развернем полнофункциональный контроллер домена на базе Samba AD DC — открытого решения, совместимого с Microsoft Active Directory.

Преимущества внедрения контроллера домена

Технические характеристики нашего развертывания

Параметр Значение
Домен 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

Предварительные требования

  1. Чистая установка Debian 13 (Bookworm)
  2. Права суперпользователя (root или sudo)
  3. Статический IP-адрес в сети
  4. Доступ в Интернет для загрузки пакетов
  5. Соответствие системным требованиям

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

Параметры:

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.