18 подписчиков

Alt Linux - Samba Active Directory(АД на Самбе, в общем)

1K прочитали

На Альт Линуксе есть 2 варианта создания домена: на Samba и на FreeIPA. Самба больше похожа на виндовую AD, плюс тут есть возможность настройки двухсторонних доверительных отношений, что позволяет, например, предоставлять доступ к виндовым сетевым папкам пользователям альтовского домена.

Также, есть 2 варианта установки: использовать внутренний ДНС Самбы или использовать в качестве ДНС-а Bind. Я опишу 2-ой вариант, потому что в нем есть возможность сделать обновление ip-адресов компьютеров. Особенности установки/настройки Самбы "из коробки": нет обратной зоны в ДНС, в ДНС-е Самбы(в отличие от виндовой AD здесь ДНС-ом рулит сама Самба) появляются записи только комп-ов, которые находятся в домене, при изменении IP-адресов этих комп-ов Самба в ДНС-е ничего не меняет.

Но не пугайтесь, все это поправимо.

Контроллер домена, сервер DHCP и DNS у нас будут установлены на одном сервере. Установка и настройка DHCP описана здесь: установка DHCP. Также, можно заранее(или потом) установить на отдельный сервер(или серверы) сервер сетевой установки и сервер обновлений.

Прописываем через ЦУС(в него можно зайти по ссылке https://ip_адрес:8080) на сервере, который будет у нас домен-контроллером, а также сервером DHCP и DNS статический ip-адрес, маску, шлюз, в поле ДНС-сервер пишем 127.0.0.1, в поле домен поиска- название нашего домена- в нашем примере он будет называться xz.local Запускаем установку Samba+Bind:

apt-get install bind-utils -y
apt-get install -y bind
apt-get install -y alterator-domain-policy
apt-get install -y alterator-net-domain
systemctl enable bind
control bind-chroot disabled
grep -q KRB5RCACHETYPE /etc/sysconfig/bind || echo 'KRB5RCACHETYPE="none"' >> /etc/sysconfig/bind
grep -q 'bind-dns' /etc/bind/named.conf || echo 'include "/var/lib/samba/bind-dns/named.conf";' >> /etc/bind/named.conf
mcedit /etc/bind/options.conf
systemctl stop bind
rm -f /etc/samba/smb.conf
rm -rf /var/lib/samba
rm -rf /var/cache/samba
mkdir -p /var/lib/samba/sysvol
apt-get reinstall task-samba-dc -y
apt-get install task-samba-dc -y
apt-get install gpui -y
apt-get -y install admx-basealt
apt-get -y install admc
apt-get -y install admx-samba
apt-get -y install admx-chromium
apt-get -y install admx-firefox
apt-get -y install admx-msi-setup
apt-get -y install telnet
apt-get -y install traceroute
systemctl stop bind
systemctl disable --now avahi-daemon && systemctl disable --now avahi-daemon.socket
systemctl stop avahi-daemon && systemctl disable avahi-daemon
samba-tool domain provision --realm=xz.local --domain=xz --adminpass='Rjk,fcf1' --dns-backend=BIND9_DLZ --server-role=dc
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
systemctl enable --now bind
systemctl start bind
systemctl enable --now samba
systemctl start samba

В процессе установки откроется на редактирование файл /etc/bind/options.conf

В нем в разделе options дописываем строки:

tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
minimal-responses yes;
dnssec-validation no;

Строка dnssec-validation no; нужны вот для чего. Подразумевается, что у вас в данный момент есть виндовая АД, со своим ДНС-ом. Для того, чтобы альтовский домен мог узнавать ip-адреса комп-ов, входящих в виндовый домен, тут же в поле forwarders(см ниже) мы пропишем ему виндовый ДНС. Если эту сроку не прописать, то BIND будет слать этому ДНС-у безопасные запросы, которые он не понимает, и поэтому на них не ответит. Итак, дальше прописываем 2 эти строки.

forward first;

forwarders { 192.168.0.11;};

Поле listen-on { 127.0.0.1; }; дополняем ip-адресом нашего сервера, чтобы получилось примерно так: listen-on { 127.0.0.1; 192.168.0.2; };

Отредактировали- вышли по Esc с сохранением. В конце- перезагружаем.

Еще стоит в ДНС виндовой АД добавить Сервер пересылки с доменом xz.local и адресом нашего альтовского ДНС-а, чтобы комп-ы, которые входят в виндовый домен могли пинговать по полному имени наши альтовские компы

После перезагрузки идем в терминал и запускаем kinit administrator Попросит пароль- он такой: Rjk,fcf1 Выйдет сообщение такого вида: Warning: Your password will expire in...

Если выйдет ошибка, что не может что-то там найти- значит, что-то сделали неправильно.

После этого можно запустить ADMC из меню графической оболочки.

Как я уже писал, после установки у нас не будет обратной зоны, то есть запрос nslookup имя_компа срабатывать будет, а запрос nslookup ip_адрес - нет.

Добавим обратную зону, т.к. "из коробки" она не устанавливается:

samba-tool dns zonecreate 127.0.0.1 0.168.192.in-addr.arpa -Uadministrator

Проверим, что получилось: samba-tool dns zonelist 127.0.0.1 -Uadministrator

Теперь нам нужно установить и настроить DHCP-сервер, чтобы он раздавал IP-адреса и передавал информацию о них ДНС-у Самбы.

Делаем вот так:

Кстати, если вы не создаете сеть с нуля, а переводите с Windows, то можно сделать вот так:

Переход с Windows на AltLinux
Андрей Ага25 сентября 2023

Ну и на этом все.