Установка DC на AltSrv11

 

-------------------------------------------------------Желательно отключить ip v6 (не обязательно все работает и так)
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1

sudo nano /etc/sysctl.conf     - вставить значение
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

sudo nano /etc/default/grub     - изменить grab
добавьте параметр ipv6.disable=1:
Было: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Стало: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"

------------------------------------------------------для работы команда sudo 
su -
chmod u+w /etc/sudoers
vim /etc/sudoers

добавить строку: 
[имя пользователя] ALL=(ALL:ALL) ALL

------------------------------------------------------Установка роли сервера:

alteratorctl editions set edition_domain
alteratorctl editions

--------------------------------------------------------------------------------установка AD
Настройка сервера времени chrony в качестве NTP-сервера:
apt-get install chrony
control chrony server

Настройте синхронизацию с российским пулом NTP:
sed -i -r 's/^(pool.*)/#1npool ru.pool.ntp.org iburst/' /etc/chrony.conf
systemctl enable --now chronyd
systemctl status chronyd.service

Установка имени контроллера домена:
hostnamectl set-hostname dc1.test.alt
указать собственный IP-адрес в качестве первичного DNS. Для этого создать файл /etc/net/ifaces/enp0s3/resolv.conf со следующим содержимым:
nameserver 127.0.0.1
nameserver 8.8.8.8
search test.alt

обновить DNS: 
 resolvconf -u
лучше перезапустить сеть:
sudo systemctl restart network


убедиться в наличии следующих строк в файле /etc/resolv.conf:
nameserver 127.0.0.1
search test.alt

Чтобы все локальные DNS-запросы обрабатывались через Samba, в файле /etc/resolvconf.conf должна присутствовать строка:
name_servers=127.0.0.1

resolvconf -u

в файле конфигурации systemd-resolved (/etc/systemd/resolved.conf) установите значение:
DNSStubListener=no

перезапустите службу systemd-resolved:
# systemctl restart systemd-resolved

///////////////если DNS у  samba будет внешним.
Установка bind:
sudo apt-get install bind bind-utils

(делать после установки samba домена)добавление информации о зоне доверенного домена в файл /etc/bind/options.conf - это ссылка.  (фактическое расположение файла /var/lib/bind/etc/options.conf)
zone "example.alt" {
type forward;
forwarders { 192.168.0.172; };
};
//////////////////////

Для установки сервиса Samba Active Directory необходимо установить пакет alterator-service-samba-ad:
# apt-get install alterator-service-samba-ad

Если не устанавливается. Необходимо :
apt-get update
apt-get install alteratorctl
проверить установку :
alteratorctl services list

Для работы в графическом интерфейсе требуется установить приложение alt-services:
# apt-get install alt-services

Создание нового домена
Создание контроллера домена test.alt с паролем администратора Pa$$word (ключь  --adminPassword сейчас считается ошибочным можно просто не указывать установщик просит указать пароль сам.):
alteratorctl services deploy service-samba-ad
--mode=create
--realm=test.alt
--netBiosName=test
--adminPassword='Pa$$word'
--dnsSettings.dnsBackend=SAMBA_INTERNAL
--dnsSettings.forwarders.0=8.8.8.8
--functionalLevel=2016

alteratorctl services deploy service-samba-ad
--mode=create
--realm=test.alt
--netBiosName=test
--adminPassword='Pa$$word'
--dnsSettings.dnsBackend=BIND9_DLZ
--use-rfc2307
--functionalLevel=2016

-----------------------------------пример для развёртывания c alpha.test.alt
alteratorctl services deploy service-samba-ad
--mode=create
--realm=alpha.test.alt
--netBiosName=alpha
--adminPassword='sa'
--dnsSettings.dnsBackend=SAMBA_INTERNAL
--dnsSettings.forwarders.0=190.190.190.10
--functionalLevel=2016
В случае ошибки: Параметр 'adminPassword' не принадлежит контексту 'deploy'.
alteratorctl services deploy service-samba-ad
--mode=create
--realm=alpha.test.alt
--netBiosName=alpha
--dnsSettings.dnsBackend=SAMBA_INTERNAL
(--dnsSettings.dnsBackend=BIND9_DLZ )
--dnsSettings.forwarders.0=8.8.8.8
--functionalLevel=2016

alteratorctl services deploy service-samba-ad --mode=create --realm=beta.test.alt --netBiosName=beta --dnsSettings.dnsBackend=BIND9_DLZ --dnsSettings.forwarders.0=8.8.8.8 --functionalLevel=2016

-----------------------------------------
если dnsBackend это Bind 
sudo systemctl enable bind
sudo systemctl start bind

После успешного развёртывания запустите домен:
# alteratorctl services start service-samba-ad

Для Samba DC на базе Heimdal Kerberos необходимо установить компонент samba-dc:
apt-get update
# alteratorctl components install samba-dc

Проверить возможность получения билета Kerberos:
kinit administrator@EXAMPLE.ALT    - имя домена должно быть в верхнем регистре
klist
kdestroy                - удаление билетов

/// Желательно перезапустить сервер:
sudo restart

----------------------------------------------------------Установка резервного AD

apt-get update
apt-get install alteratorctl
Для установки сервиса Samba Active Directory необходимо установить пакет alterator-service-samba-ad:
# apt-get install alterator-service-samba-ad

alteratorctl services deploy service_samba_ad
--mode=join
--mode.join.adminLogin=Administrator
--mode.join.serverRole=dc
--mode.join.ipAddressDc=190.190.190.10
--realm=test.alt
--netBiosName=test
--adminPassword='Pa$$word'
--dnsSettings.forwarders.0=8.8.8.8
--functionalLevel=2016


После успешного развёртывания запустите домен:
# alteratorctl services start service-samba-ad

получаем кейберос билет:
kinit adm@TEST.ALT

На добавленном DC создать нового пользователя домена:
samba-tool user add test --given-name='Тест' --surname='Тестов' 

Для Samba DC на базе Heimdal Kerberos необходимо установить компонент samba-dc:
# alteratorctl components install samba-dc

проверка: 

host -t A test.alt
samba-tool drs showrepl -Uadministrator

---------------------------------------------------------Установка RODC AD (резервный AD без возможности записи)

apt-get update
apt-get install alteratorctl
Для установки сервиса Samba Active Directory необходимо установить пакет alterator-service-samba-ad:
# apt-get install alterator-service-samba-ad

пере именование хоста: hostnamectl set-hostname rodc.test.alt

Добавление контроллера домена в роли RODC к существующему домену:
alteratorctl services deploy service_samba_ad
--mode=join
--mode.join.adminLogin=Administrator
--mode.join.serverRole=rodc
--mode.join.ipAddressDc=190.190.190.10
--realm=test.alt
--netBiosName=test
--adminPassword='Pa$$word'
--dnsSettings.forwarders.0=8.8.8.8
--functionalLevel=2016

получаем кейберос билет:(если надо)
kinit adm@TEST.ALT

Denied RODC Password Replication Group — пользователи, чьи пароли нельзя
реплицировать и кешировать на RODC.
samba-tool group listmembers "Denied RODC Password Replication Group"

Allowed RODC Password Replication Group — пользователи, чьи пароли можно
реплицировать на RODC (по умолчанию — пуста)
samba-tool group listmembers "Allowed RODC Password Replication
Group"

тестовый пользователь(выполняется на основном AD в нашем случае dc1):
samba-tool user add ivanov
--given-name='Иван'
--surname='Иванов'
--mail-address='ivanov@test.alt'

добавляем в группу для репликации(выполняется на основном AD в нашем случае dc1):
samba-tool group addmembers "Allowed RODC Password Replication Group" ivanov

выполняется на RODC сервере. реплицируется тестовый пользователь.
sudo samba-tool rodc preload ivanov --server=dc1.test.alt -U adm@test.alt

----------------------------------------------------------Установка ADCM
GUI для управлени samba DC

sudo apt-get update
sudo apt-get install admc

----------------------------------------------------------Установка RFC2307 
Основные причины:
Сквозная авторизация (SSO): Позволяет пользователям заходить на Linux-серверы под своими доменными учетками, сохраняя при этом привычные атрибуты (домашняя папка, оболочка/shell).
Управление правами доступа (POSIX): Вы сможете назначать права на файлы и папки в Linux (через chown или chmod), используя доменных пользователей и группы.
Совместимость с сетевыми дисками: Если вы монтируете ресурсы по NFS, RFC2307 гарантирует, что числовой ID пользователя (UID) на сервере и клиенте будет одинаковым.

Найти DC с ролью FSMO хозяина схемы («Schema Master»):
sudo samba-tool fsmo show | grep SchemaMasterRole SchemaMasterRole owner: CN=NTDS Settings,CN=DC1,CN=Servers,CN=DefaultFirst-Site-Name,CN=Sites,CN=Configuration,DC=test,DC=alt

sudo systemctl stop samba

Создать копию файла схемы ypServ30.ldif, например:
sudo cp /usr/share/samba/setup/ypServ30.ldif /tmp/

Заменить переменные в скопированном файле LDIF именем домена (DN), именем NetBIOS и доменом NIS вашей установки, например:
sudo sed -i -e 's/${DOMAINDN}/DC=test,DC=alt/g' -e 's/${NETBIOSNAME}/DC/g' -e 's/${NISDOMAIN}/test/g' /tmp/ypServ30.ldif

Импортировать измененный файл LDIF в локальную базу данных Samba/var/lib/samba/private/sam.ldb:
sudo ldbmodify -H /var/lib/samba/private/sam.ldb /tmp/ypServ30.ldif --option="dsdb:schema update allowed"=true

Включить RFC2307, добавив в секцию [global] файла /etc/samba/smb.confпараметр:
idmap_ldb:use rfc2307 = yes

systemctl start samba

------------------------------------------------------Репликация 

samba-tool drs replicate dc2.test.alt dc1.test.alt dc=test,dc=alt -Uadmin    - реплицировать от источника к назнеачению.
samba-tool drs showrepl -Uadministrator                - проверка статуса репликации
samba-tool ldapcmp ldap://dc1.test.alt ldap://dc2.test.alt -Uadministrator    - репликация Ldap

------------------------------------------------------Миграция с SAMBA_INTERNAL на BIND9_DLZ
Переход с внутреннего dns сервера samba на BIND

systemctl stop samba
ДОПИСАТЬ!!!


------------------------------------------------------Доверительные отношения
делегирование: 
alpha
# Добавляем NS-запись для под домена alpha.test.alt
sudo samba-tool dns add dc1.test.alt test.alt alpha NS dc1.alpha.test.alt -U Administrator

# Добавляем A-запись для самого DNS-сервера поддомена
sudo samba-tool dns add dc1.test.alt alpha.test.alt dc1 A 190.190.190.50 -U Administrator

beta
# Добавляем NS-запись для под домена beta.test.alt
sudo samba-tool dns add dc1.test.alt test.alt beta NS dc1.beta.test.alt -U Administrator

# Добавляем A-запись для самого DNS-сервера под домена
sudo samba-tool dns add dc1.test.alt beta.test.alt dc1 A 190.190.190.70 -U Administrator
!!!!!!!!!!!!!!!!! с этими командами не получается.

------------------------------------------------Создание двустороннего доверия между текущим и A.ALT .
Настройка Bind: 

sudo vim /etc/bind/options.conf
должен быть раздел для получения dns записей :

zone "a.alt" {
type forward;
forwarders { 190.190.190.80; };
};

перезапуск bind:
sudo systemctl restart bind

Установка доверия между текущим и A.ALT доменом:

sudo samba-tool domain trust create A.ALT --type=forest
--direction=both --create-location=both -U administrator@A.ALT

sudo samba-tool domain trust create A.ALT --type=external --direction=both --create-location=both -U administrator@A.ALT

Создание одностороннего доверия между текущи и С.ALT. Домен С.ALT доверяет текущему домену(На сервере выполнения команды.)
incoming — доверие только со стороны удалённого домена к текущему;
outgoing — доверие только от текущего домена к удалённому;
both — двустороннее доверие;

sudo samba-tool domain trust create C.ALT --type=forest --direction=outgoing --create-location=both -U administrator@C.ALT

Разобрать тип доверия: (
1. external — используется для внешнего доверия между доменами, не находящимися
в одном лесу. Рекомендуется, если для Linux-клиентов используется SSSD;

2. forest — используется для создания доверия между лесами доменов, включая все
их дочерние домены. Рекомендуется, если для Linux-клиентов используется Winbind
)

Проверка доверия:
sudo samba-tool domain trust show A.ALT

список доверительных отношений:
samba-tool domain trust list

samba-tool domain trust validate [имя домена]    - проверка доверия.
(регулярно выдает ошибку!!!)

Чтобы полностью разорвать связь с доменом, выполните команду:

sudo samba-tool domain trust delete <имя_домена> -U administrator@a.alt     - в конце указывается имя пользователя администратора домена с которым разрывается доверие.