Найти в Дзене

Контроллер домена Ubuntu 20.04.1 – Ubuntu AD-DC - dhcp-dyndns 2020

Оглавление

Данная статья подходит только для последних версий самбы хранящихся в репозиториях Ubuntu 20 или новее.

Данная статья находится в стадии доработки т.к. выход новых обновлений для пакетов необходимых для работы линуксового контроллера домена, требует актуализации изложенного материала

Это полноценная статья по настройке контроллера домена от и до.

С недавних пор в контроллерах домена Linux, поднятых с помощью Samba, с использованием старых инструкций и мануалов, перестало работать обновление DNS зоны силами ISC-DHCP сервера. К превеликому несчастью, это затронуло и мою прекрасную инструкцию Контроллер домена Ubuntu 20.04 – Ubuntu 20.04 AD-DC . Чем ознаменовало целых две недели непрерывного ремастеринга инструкции, тестов, перезагрузок, переустановок и охоты на баги. Результатом этого всего ада, является текущая инструкция. Контроллер домена Ubuntu 20.04.1 . Она очень похожа на предыдущую, но нет. Как предыдущая версия инструкции не будет работать в новых версиях самбы. Так текущая инструкция не будет работать в старых. Эти две инструкции это своего рода рубеж между эпохами. Когда Samba отказались от обновлений DNS зоны с помощью утилиты nsupdate, в пользу утилиты samba-tool. Я до последнего пытался выпустить лишь обновление для раздела настройки DHCP сервера. Но изменения затрагивают различные моменты на протяжении всей статьи. Потому публикую всё целиком.

P.S. Данному блогу экстренно требуются подписчики, просмотры, репосты лайки, комменты и вот это вот всё. Без них котеечка маскот грустит и пробует себя в более гуманитарных областях :)

1 - Установка Ubuntu Server 20.04.1
Ни чем не отличается от
установки Ubuntu Server 18.04
Полезные команды после установки
# Обновить системуsudo apt update && sudo apt dist-upgrade -y# Установить набор сетевых утилит включающий привычный многим ifconfigsudo apt install net-tools# Узнать текущий ip адресip addr showifconfig# Узнать текущий шлюз по умолчаниюip route show

2 - Задаём имя сервера

3 - Задаём статический IP

4 - Контроллер домена Ubuntu – Настройка BIND9 – Часть 1
Примечательно, что начинается установка домена с установки DNS сервера, пакета, распространяемого отдельно от samba4. Можно и потом, но таки в этом случае придётся делать дополнительные телодвижения. Дабы этого избежать сперва надо установить bind и провести его частичную настройку. Установим, создадим зоны, проведём первичную конфигурацию

4.1 - Ставим BIND9_DLZ

sudo apt install bind9 bind9utils -y

Прежде всего проверяем версию bind

named -v
На момент написания, в репозитории focal была версия 9.16.1
На момент написания, в репозитории focal была версия 9.16.1

4.2 - Cмотрим где bind держит named.conf

named -V | grep sysco

В результате увидим что-то типа этого:

Узнаём директорию bind9
Узнаём директорию bind9

–sysconfdir=/etc/bind – это папка где лежит файл named.conf

4.3 - Смотрим где днс сервер держит кеш

sudo cat /etc/passwd | grep bind

В результате видим что-то типа этого:

bind:x:109:114::/var/cache/bind:/usr/sbin/nologin

Эта директория понадобится нам при дальнейшей настройке

4.4 - Проверяем named.conf

nano /etc/bind/named.conf

В результате видим:

содержимое named.conf
содержимое named.conf

Нам понадобятся файлы выделенные красным

4.5 - Правим named.conf.options
В первую очередь делаем бэкап и правим файл

sudo cp /etc/bind/named.conf.options /etc/bind/named.conf.options_bak
sudo nano /etc/bind/named.conf.options

Удаляем его содержимое и заменяем следующим:

// Управление списками доступа
acl internals { 127.0.0.0/8; 192.168.1.0/24; };

options {
version "Go Away 0.0.7";
auth-nxdomain yes;
directory "/var/cache/bind"; # Папка с кешем bind
notify no;
empty-zones-enable no;
//tkey-gssapi-keytab "/var/lib/samba/bind-dns/dns.keytab";
minimal-responses yes;

// Список хостов и подсетей допущенных к работе с текущим DNS сервером
allow-query { "internals"; };
allow-query-cache { "internals"; };

// Список хостов и подсетей разрешенных к выполнению рекурсивных запросовAdd any subnets or hosts you want to allow to use recursive queries
recursion yes;
allow-recursion { "internals"; };

# Перенаправлять запросы, на которые нет информации в локальной зоне
# на следующие сервера:
forwarders {
192.168.1.1; # IP адрес DNS форвардера
8.8.8.8; # IP адрес DNS форвардера
8.8.4.4; # IP адрес DNS форвардера
};

# Запрет на трансфер зоны
allow-transfer {
none;
};

dnssec-validation no;

// Оставляем только IPv4
listen-on-v6 { none; };
// Адреса на которых будут обрабатываться запросы
listen-on port 53 { 192.168.1.100; 127.0.0.1; };
};

4.6 - Правим named.conf.local

Открываем файл на редактирование

sudo nano /etc/bind/named.conf.local

И добавляем в конец следующую строку

include "/var/lib/samba/bind-dns/named.conf";

4.7 - Правим named.conf.default-zones

sudo cp /etc/bind/named.conf.default-zones /etc/bind/named.conf.default-zones_bak
sudo nano /etc/bind/named.conf.default-zones

Удаляем его содержимое и заменяем следующим:

# Корневые сервера
# (Необходимы для рекурсивных запросов)
zone "." {
type hint;
file "named.root";
};

# localhost zone
zone "localhost" {
type master;
file "master/localhost.zone";
};

# 127.0.0. zone.
zone "0.0.127.in-addr.arpa" {
type master;
file "master/0.0.127.zone";
};

4.8 - Переходим разделу: “Контроллер домена Ubuntu – Настройка – Часть 1”

Теперь необходимо перейти к первой части, установке и конфигурации samba4

5 - Контроллер домена Ubuntu – Настройка – Часть 1

5.1 - Отключаем systemd-resolved


5.1.1 - Останавливаем сервис

sudo service systemd-resolved stop

5.1.2 - Убираем из автозапуска

sudo systemctl disable systemd-resolved.service

5.1.3 - Удаляем симлинк /etc/resolv.conf

sudo rm /etc/resolv.conf

5.1.4 - Открываем и изменяем конфиг

sudo nano /etc/resolv.conf

5.1.5 - Настраиваем адрес сервера имён как на картинке.

nameserver 192.168.1.1
search adminguide.lan

Сейчас, nameserver должен быть настроен на адрес нашего текущего DNS сервера, который расположен например на роутере или ещё где
В search указывается имя нашего будущего домена
Сохраняем изменения Ctrl+O

5.2 - Настраиваем файл /etc/hosts

Обязательно чтобы AD DC мог резолвиться по имени на свой IP адрес внутри настраиваемой сети, даже при пинге с самого AD DC
Открываем файл на редактирование

sudo nano /etc/hosts

и вносим изменения

127.0.0.1 localhost.localdomain localhost
192.168.1.100 ag-dc-1.adminguide.lan ag-dc-1

Незабываем сохранить (Ctrl+O)

5.3 - Проверяем что в системе не работают самбовые процессы

ps ax | egrep "samba|smbd|nmbd|winbindd"

Не должно быть ни одного процесса, как на картинке:

-5

5.4 - Инсталлируем Samba

Очень важно помнить, что контроллер домена на самбе, инициализируется раз и навсегда. Возможность изменить его название в будущем – отсутствует в принципе. Как-то назвав его однажды, с таким именем он и будет существовать до скончания веков или пока вы его не убьёте. Назвав домен ADMINGUIDE.LAN, он на всегда останется с этим именем ADMINGUIDE.LAN . Samba4 не поддерживает переименовывание домена. После его инициализации, для изменения названия, вы должны будете исключить из домена все машины которые успели в него ввести, удалить AD DC, с нуля всё настроить и ввести машины уже в него. Так что я настоятельно рекомендую продумать каждый шаг прежде чем начинать инициализировать домен, прочитать данную инструкцию до самого конца, продумать ньюансы, чтобы избежать ошибок в будущем.

5.4.1 - Устанавливаем samba4 и все нужные пакеты с помощью следующей строки:

sudo apt -y install samba krb5-config winbind smbclient krb5-user

5.4.2 - Дефолтная область для Керберос 5

Область по умолчанию для Kerberos v5: ADMINGUIDE.LAN
Область по умолчанию для Kerberos v5: ADMINGUIDE.LAN

5.4.3 - Сервер Kerberos для вашей области

Сервер kerberos для нашей области: ag-dc-1.adminguide.lan
Сервер kerberos для нашей области: ag-dc-1.adminguide.lan

5.4. 4 - Управляющий сервер вашей области Kerberos

Управляющий сервер kerberos для нашей области: ag-dc-1.adminguide.lan
Управляющий сервер kerberos для нашей области: ag-dc-1.adminguide.lan

5.4. 5 - Ожидаем окончание установки

Результаты установки Samba 4
Результаты установки Samba 4

5.4.6 - Бэкапим файл с исходными настройками Samba

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bkp

5.5 - Инициализируем контроллер домена Ubuntu 20.04

5.5.1 - Запускаем инициализацию с опцией –interactive
Из своего AD DC, мы будем рулить юзерами и группами компьютеров с линуксовыми операционками. Потому заразаранее активируем совместимость с NIS, используя команду –use-rfc2307

sudo samba-tool domain provision --use-rfc2307 --interactive

Включение поддержки Network Information Service (NIS), никак не повредит работе AD DC, несмотря даже на ситуацию в которой он никогда столкнётся с Linux серверами или компьютерами. В тоже время, если настроить контроллер без этой опции, и когда-нибудь в него будут введены машины с линуксом, придётся модифицировать схему AD и добавлять поддержку NIS. Делать это конечно же придётся с большим риском убить контроллер.

5.5.2 - Указываем параметры домена

Если в процессе настройки не было допущено ошибок, те параметры которые вам нужно настраивать, кроме DNS backend инсталлятор поместит в квадратные скобки как дефолтные значения.

Realm [ADMINGUIDE.LAN]:
Domain [ADMINGUIDE]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.1.1]:
Administrator password:
Retype password:

В тот момент когда установщик попросит ввести пароль, лучшее задать такой, что понадёжнее, т.к. мы будем использовать его для авторизации под администратором AD DC.
Если в данный момент в дефолтных значениях фигурируют не те значения которое вы ожидаете, скорее всего допущен серьёзный косяк, лучше начать настраивать заново.

-10

5.5.3 - Проверяем последствия инициализации

Если мы увидим информацию аналогичную приведённой ниже – это значит что контроллер домена на Ubuntu успешно завершил инициализацию:
В конце видим где самба держит конфиг named и конфиг krb5

-11

5.6 - Переходим к разделу “Контроллер домена Ubuntu – Конфигурация BIND9 – Часть 2”

6 - Контроллер домена Ubuntu - Конфигурация BIND9 - Часть 2

6.1 - Активируем интеграцию DLZ

sudo nano /var/lib/samba/bind-dns/named.conf

Смотрим фаел. Если всё было сделано правильно, там автоматом будет раскомменчена строка отвечающая за интеграцию нашей версии самбы с нашей версией bind9. Главная проблема в том, что в данный момент в репозиториях Focal нету совместимых на уровне версий dlz, пакетов samba4 и bind9. Примечательно что версия samba4 находящаяся на данный момент в репозитории, на уровне dlz поддерживает BIND 9.11.x . В то время как находящийся в репозитории пакет BIND9, на данный момент версии 9.16.х . Со временем, это вероятнее всего изменится и я актуализирую статью, а пока надо раскомментить строку для BIND 9.12.x

Интеграция BIND9_DLZ
Интеграция BIND9_DLZ

Этот же файл надо заинклудить в основную конфигурацию named

sudo nano /etc/bind/named.conf

Добавляем в конец

include "/var/lib/samba/bind-dns/named.conf";
Правка named.conf
Правка named.conf

6.2 - Проверяем права на dns.keytab

ls -l /var/lib/samba/private/dns.keytab

AdminGuide.Ru@ag-dc-1:~$ ls -l /var/lib/samba/private/dns.keytab
-rw-r----- 2 root bind 802 Apr 3 19:36 /var/lib/samba/private/dns.keytab

6.3 - Проверяем права на папку /bind-dns/

ls -l /var/lib/samba/

AdminGuide.Ru@ag-dc-1:~$ ls -ld /var/lib/samba/
drwxrwx--- 3 root bind 4096 Apr 6 11:44 bind-dns

6.4 - Смотрим права на /etc/krb5.conf

ls -l /etc/krb5.conf

AdminGuide.Ru@ag-dc-1:~$ ls -l /etc/krb5.conf
-rw-r--r-- 1 root bind 2891 Apr 3 17:51 /etc/krb5.conf

В случае несоответствия

sudo chown root:bind /etc/krb5.conf

6.5 - Загружаем список корневых днс серверов

sudo wget -q -O /var/cache/bind/named.root http://www.internic.net/zones/named.root
sudo chown root:bind /var/cache/bind/named.root
sudo chmod 640 /var/cache/bind/named.root

6.6 - Проверяем конфиг

sudo named-checkconf
sudo service bind9 start

Если ошибок не будет обнаружено, то named-checkconf не выдаст никакой информации, можно пытаться запустить сервис. Если попытка запуска тоже не выдаст никаких критов прямо в терминал – значит хорошо. DNS сервер почти готов к работе

6.7 - Создаём файлы зон

sudo mkdir /var/cache/bind/master
sudo chown bind:bind /var/cache/bind/master

6.7.1 - localhost

sudo nano /var/cache/bind/master/localhost.zone

Копируем туда следующее:

$TTL 3D

$ORIGIN localhost.

@ 1D IN SOA @ root (
2013050101 ; serial
8H ; refresh
2H ; retry
4W ; expiry
1D ; minimum
)

@ IN NS @
IN A 127.0.0.1

P.S. Напомню что яндыгз дзен упорно не хочет вводить тег <code>, потому для получения текста с необходимыми отступами, пройдите по ссылке на adminguide.ru внизу статьи.

Изменяем владельца и права доступа

sudo chown bind:bind /var/cache/bind/master/localhost.zone
sudo chmod 640 /var/cache/bind/master/localhost.zone

6.7.2 - 0.0.127.in-addr.arpa

sudo nano /var/cache/bind/master/0.0.127.zone

$TTL 3D

@ IN SOA localhost. root.localhost. (
2013050101 ; Serial
8H ; Refresh
2H ; Retry
4W ; Expire
1D ; Minimum TTL
)

IN NS localhost.

1 IN PTR localhost.

sudo chown bind:bind /var/cache/bind/master/0.0.127.zone
sudo chmod 640 /var/cache/bind/master/0.0.127.zone

6.8 - Запускаем\перезапускаем bind9, проверяем созданные зоны

sudo service bind9 restart
host -t A localhost 127.0.0.1
host -t PTR 127.0.0.1 127.0.0.1

AdminGuide.Ru@ag-dc-1:~$ sudo service bind9 restart
AdminGuide.Ru@ag-dc-1:~$ host -t A localhost 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1 # 53
Aliases:

localhost has address 127.0.0.1
AdminGuide.Ru@ag-dc-1:~$ host -t PTR 127.0.0.1 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1 # 53
Aliases:

1.0.0.127.in-addr.arpa domain name pointer localhost.

6.9 - Переходим к разделу: “Контроллер домена Ubuntu – Настройка – Часть 2”

7 - Контроллер домена Ubuntu – Настройка – Часть 2

7.1 - Настройка запуска

Для корректной работы, все процессы самбы должна запускать сама самба и никто иной. Если процесс самбы будет запущен не самбой а например от рута и этот процесс сгенерит какой-нибудь нужный для работы контроллера домена фаел, то после этого вы можете хоть взрывать весь домен, т.к. больше у вас он не взлетит. Из-за этого, для возвращения работоспособсности, придётся вручную дебажить, искать где косяк, просто реально до посинения выискивать причину ошибки. Я занимался этим у нескольких заказчиков, не пожелаю этого никому. Проще сразу же сделать нормально.

sudo systemctl stop smbd nmbd winbind
sudo systemctl disable smbd nmbd winbind
sudo systemctl mask smbd nmbd winbind

Блокируем samba-ad-dc для ручного старта, включаем сервис и включаем его автозапуск

sudo systemctl unmask samba-ad-dc
sudo systemctl start samba-ad-dc
sudo systemctl enable samba-ad-dc

7.2 - Настройка DNS адреса

Указываем сервером имён, свой собственный айпишник AD DC

sudo nano /etc/netplan/*.yaml

Для этого необходимо сконфигурировать параметры сети по следующему принципу:

dhcp4: no
dhcp6: no
addresses: [192.168.1.100/24, ]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.100, ]

Настраиваем адрес сервера имён, так же указывая там айпишник AD DC, приведя его к виду:

sudo nano /etc/resolv.conf

nameserver 192.168.1.100
search adminguide.lan

7.3 - Контроллер домена Ubuntu – Настройка Kerberos

При инициализации AD DC, будет создан файл конфигурации керберос, где он расположен, указывается в конце отчета об инициализации. Дабы не делать двойную работу, заменяем существующий файл настроек Kerberos, только что созданным файлом.

sudo cp /var/lib/samba/private/krb5.conf /etc/

7.4 - Убеждаемся что всё работает

7.4.1 - Смотрим имеющиеся на контроллере общие каталоги

smbclient -L localhost -U%

Помним что они автоматически создаются в момент инициализации и если их нет, значит где-то косяк. А в следствии такого косяка, ничего не будет функционировать нормально или не будет даже запускаться

-14

7.4.2 - Смотрим возможность подключения к netlogon
Теперь смотрим пускает ли доменного админа в каталог netlogon

smbclient //localhost/netlogon -UAdministrator -c 'ls'

7.4.3 - Когда потребуется авторизация, вводим пароль указанный в момент инициализации. Авторизовавшись успешно вы получите доступ к каталогу

-15

7.4.4 - Проверяем правильность настройки DNS
Если bind9 был настроен некорректно, то AD DC не взлетит. Для того чтобы проверить, попытаемся извлечь из днс сервера необходимые записи

7.4.4.1 - Во-первых смотрим SRV запись _ldap

host -t SRV _ldap._tcp.adminguide.lan.

7.4.4.2 - Во-вторых смотрим SRV запись _kerberos

host -t SRV _kerberos._udp.adminguide.lan.

AdminGuide.Ru@ag-dc-1:~$ host -t SRV _kerberos._udp.adminguide.lan.
_kerberos._udp.adminguide.lan has SRV record 0 100 88 ag-dc-1.adminguide.lan.

7.4.4.3 - В-третьих проверяем A запись контроллера домена

host -t A ag-dc-1.adminguide.lan.

AdminGuide.Ru@ag-dc-1:~$ host -t A ag-dc-1.adminguide.lan.
ag-dc-1.adminguide.lan has address 192.168.1.100

7.4.4.4 - Проверяем работоспособность Kerberos

kinit administrator

AdminGuide.Ru@ag-dc-1:~$ kinit administrator
Password for administrator@ADMINGUIDE.LAN:
Warning: Your password will expire in 38 days on Fri May 15 19:36:28 2020

7.4.4.5 - В конечном итоге, смотрим кеш авторизационных тикетов Kerberos

klist

klistAdminGuide.Ru@ag-dc-1:~$ klist
Ticket cache: FILE:/tmp/krb5cc_1001
Default principal: administrator@ADMINGUIDE.LAN

Valid starting Expires Service principal
04/07/20 09:02:16 04/07/20 19:02:16 krbtgt/ADMINGUIDE.LAN@ADMINGUIDE.LAN
renew until 04/08/20 09:02:12
AdminGuide.Ru@ag-dc-1:~$

7.5 Переходим к настройке DHCP сервера

8 - Контроллер домена Ubuntu – Настройка DHCP сервера

8.1 - Для начала устанавливаем DHCP сервер

sudo apt-get install isc-dhcp-server -y

8.2 - Затем создаём пользователя домена для работы с обновлениями

sudo samba-tool user create dhcpduser --description="Unprivileged user for TSIG-GSSAPI DNS updates via ISC DHCP server" --random-password

8.3 - Так же устанавливаем истечение пароля и добавляем в группу DnsAdmins

sudo samba-tool user setexpiry dhcpduser --noexpiry
sudo samba-tool group addmembers DnsAdmins dhcpduser

AdminGuide.Ru@ag-dc-1:~$ sudo samba-tool user setexpiry dhcpduser --noexpiry
Expiry for user 'dhcpduser' disabled.
AdminGuide.Ru@ag-dc-1:~$ sudo samba-tool group addmembers DnsAdmins dhcpduser
Added members to group DnsAdmins

8.4 - Теперь экспортируем данные

sudo samba-tool domain exportkeytab --principal=dhcpduser@ADMINGUIDE.LAN /etc/dhcpduser.keytab
sudo chown dhcpd:dhcpd /etc/dhcpduser.keytab
sudo chmod 400 /etc/dhcpduser.keytab

8.5 - Создаём скрипт

sudo nano /usr/local/bin/dhcp-dyndns.sh

И вставляем следующее содержимое:

Увы, без тега <code> и <spoiler> такой кусок кода можно передать только через pastebin

Устанавливаем права на скрипт

sudo chmod 755 /usr/local/bin/dhcp-dyndns.sh

8.6 - Модифицируем файл с настройками

Создаём бекап и модифицируем конфиг

sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf_bak
sudo nano /etc/dhcp/dhcpd.conf

Заменив содержимое на следующее:

https://pastebin.com/2YG1EkUC

8.7 - Редактируем права на запуск

sudo nano /etc/apparmor.d/usr.sbin.dhcpd

Добавляем в конец файла перед закрывающей скобкой }

/usr/bin/ r,
/dev/urandom rw,
/usr/local/bin/dhcp-dyndns.sh rix,
/dev/tty wr,
/usr/sbin/samba rix,
/usr/bin/gawk rix,
/usr/bin/grep rix,
/usr/bin/hostname rix,
/usr/bin/logger rix,
/usr/bin/wbinfo rix,
/usr/bin/date rix,
/usr/bin/klist rix,
/usr/bin/host rix,
/proc/** wr,
/usr/bin/kinit rix,
/etc/dhcpduser.keytab rk,
/run/samba/winbindd/pipe wr,
/etc/dhcpduser.keytab rk,
/tmp/* wrk,
/usr/bin/nsupdate rix,
/usr/bin/samba-tool rix,
/usr/bin/sed mrix,
/usr/bin/uname mrix,
/usr/bin/wbinfo rix,
/usr/local/bin/dhcp-dyndns.sh rix,
/usr/local/lib/python3.8/dist-packages/ r,
/usr/sbin/dhcpd mr,
/usr/sbin/samba rix,
/var/lib/dhcp/dhcpd{,6}.leases* rwl,
/var/lib/wicd/* r,
/var/log/ r,
/var/log/** rw,
/{,var/}run/eucalyptus/net/ r,
/{,var/}run/eucalyptus/net/** r,
/{,var/}run/eucalyptus/net/*.leases* rwl,
/{,var/}run/eucalyptus/net/*.pid rwl,
/{,var/}run/eucalyptus/net/*.trace rwl,
/{,var/}run/{,dhcp-server/}dhcpd{,6}.pid rw,
@{PROC}/[0-9]*/net/dev r,
@{PROC}/[0-9]*/net/{dev,if_inet6} r,
owner @{PROC}/@{pid}/comm rw,
owner @{PROC}/@{pid}/task/[0-9]*/comm rw,

Рестарт AppArmor

sudo /etc/init.d/apparmor stop && sudo /etc/init.d/apparmor start

Рестарт DHCP сервера

sudo service isc-dhcp-server stop && sudo service isc-dhcp-server start

8.8 - Контроллер домена Ubuntu – Проверяем работу DHCP

В сети с ad-dc-1 у меня есть еще 1 ubuntu server с именем ag-dc-lin-client-1. Он не в домене, он не настраивался, он просто есть и он получает сетевые настройки по dhcp.
Пытаюсь пингануть этот клиентпо имени, результат нулевой.
Включаю этот сервер, жду пока загрузится. После того как сервер загрузился, пытаюсь снова, пинг идёт.
Команды ping ag-dc-lin-client-1 и ping ag-dc-lin-client-1.adminguide.lan теперь будут успешно пинговать эту машину по имени. Как и другие ваши устройства не находящиеся в домене и получающие адреса по DHCP от контроллера домена.

9 - Заключение

Таким образом мы и подошли к концу. Никогда не стоит забывать, что для улучшений ещё очень большой простор, но этот вариант позволит админу иметь в небольшом офисе лицензионный Active Directory Domain Controller с DNS и DHCP серверами, способными обслуживать не только компьютеры присоединённые к домену, но и все машины вообще. Что позволит уйти от настройки локальных сервисов на статические ip адреса, и перейти на использование динамических ip адресов в связке с dns именами устройств

Так же помните что данная статья подходит только для последних версий самбы хранящихся в репозиториях Ubuntu 20 или новее.

UPD:

19.08.2020

Из статьи удалён пункт 7.4.4.6

Создавать днс зону не надо, данный пункт был добавлен по ошибке. Если зону вы таки создали, чтобы удалить её воспользуйтесь командой:

sudo samba-tool dns zonedelete ag-dc-1.adminguide.lan 1.168.192.in-addr.arpa

Где:

ag-dc-1.adminguide.lan - имя или IP адрес вашего контроллера домена

1.168.192.in-addr.arpa - ваша обратная зона, которую вы указывали при создании