- Введение
- Установка Bind
- Настройка BIND
- Создание файла зоны localhost и файла реверсивной зоны 0.0.127.in-addr.arpa
- Запуск сервиса
- Для запуска/перезапуска сервиса BIND используйте команды
- Проверка зон
- Проверка зоны перенаправления localhost
- Проверка реверсивной зоны 0.0.127.in-addr.arpa.
- Настройка модуля BIND9_DLZ
- Ошибка /usr/sbin/samba_dnsupdate: ; TSIG error with server: tsig verify failure
- Ошибка «status: FORMERR» при обращении к DNS-серверу Windows AD
- Настройка сети в Astra Linux «Смоленск»
- Похожие посты:
- Введение
- Настройка обновления с клиентских машин (SSSD)
- Настройка централизованного обновления через сервер DHCP
- Создание ключей
- Настройка сервера DNS FreeIPA
- Настройка сервера DHCP
- Установка клиентов с включением автоматического обновления
- Проверка успешности настройки
Введение
Статья основана на материалах из wiki.samba.org
В материалы внесены существенные изменения, отражающие работу с современной версией Bind9.
Для того, чтобы создать контроллер домена Samba Active Directory (AD), в первую очередь нужно создать и настроить DNS-сервер.
Для использования с ОС Astra Linux рекомендуется DNS-сервер BIND9, входящий в комплект дистрибутивов.
Далее описывается базовая инсталляция BIND9, которую, в дальнейшем, можно будет использовать для Samba AD DC.
Для перехода с использования внутренней службы DNS Samba на использование сервера Bind9 также см. Изменение службы DNS контроллера домена AD Samba.
Установка Bind
Процедуру установки пакета bind cм. DNS-сервер BIND9
Настройка BIND
Добавлять зоны перенаправления и реверсивные зоны домена AD в файлы named.conf не нужно, так как эти зоны хранятся динамически в AD.
Создание файла зоны localhost и файла реверсивной зоны 0.0.127.in-addr.arpa
Файлы зоны localhost и файла реверсивной зоны 0.0.127.in-addr.arpa при установке пакета создаются автоматически (файлы /etc/bind/db.local и /etc/bind/db.127 соответственно).
Запуск сервиса
Для запуска/перезапуска сервиса BIND используйте команды
Проверка зон
Следующие примеры запрашивают у сервиса DNS информацию о локальной машине (127.0.0.1).
Проверка зоны перенаправления localhost
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
localhost has address 127.0.0.1
Проверка реверсивной зоны 0.0.127.in-addr.arpa.
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.
Настройка модуля BIND9_DLZ
Эту настройку следует выполнять после выполнения назначения Samba на роль контроллера AD, так как нужный конфигурационный файл /var/lib/samba/bind-dns/named.conf появится только после этого назначения.
Во время назначения Samba на роль контроллера домена AD автоматически создается конфигурационный файл /var/lib/samba/bind-dns/named.conf службы BIND9:
# This DNS configuration is for BIND 9.8.0 or later with dlz_dlopen support.
#
# This file should be included in your main BIND configuration file
#
# For example with
# include «/var/lib/samba/bind-dns/named.conf»;
#
# This configures dynamically loadable zones (DLZ) from AD schema
# Uncomment only single database line, depending on your BIND version
#
dlz «AD DNS Zone» <
# For BIND 9.8.x
# database «dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so»;
# For BIND 9.9.x
# database «dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so»;
# For BIND 9.10.x
# database «dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_10.so»;
# For BIND 9.11.x
database «dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_11.so»;
>;
Для включения модуля BIND9_DLZ:
Добавить в конфигурационный файл /etc/bind/named.conf команду включения конфигурации samba:
Определить используемую версию bind командой:
С помощью любого текстового редактора убедиться, что в файле /var/lib/samba/bind-dns/named.conf раскомментировна строка, соответствующая используемой версии BIND. При написании этой статьи использовалась версия BIND 9.11.
Разрешить доступ к файлу /var/lib/samba/bind-dns/named.conf :
Ошибка /usr/sbin/samba_dnsupdate: ; TSIG error with server: tsig verify failure
Сообщения в системном журнале вида «/usr/sbin/samba_dnsupdate: update failed: REFUSED» и связанные с ними сообщения об ошибках обновления DNS можно игнорировать.
Ошибка «status: FORMERR» при обращении к DNS-серверу Windows AD
dig SRV _ldap._tcp.windomain.ru
; > DiG 9.11.3-1ubuntu1.5-Debian > SRV _ldap._tcp.windomain.ru
;; global options: +cmd
;; Got answer:
;; ->>HEADER;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: ad69f89824966028 (echoed)
;; QUESTION SECTION:
;_ldap._tcp.windomain.ru. IN SRV
;; Query time: 0 msec
;; SERVER: 10.0.2.10#53(10.0.2.10)
;; WHEN: Fri Dec 06 08:52:19 MSK 2019
;; MSG SIZE rcvd: 64
Ошибка возникает из-за того, что DNS-сервер Windows AD, вопреки действующим стандартам, считает ошибкой низвестные ему опции запроса (стандарты требуют просто игнорировать такие опции).
Вариант обхода — использовать в команде dig опцию +nocookie (или +noends):
; > DiG 9.11.3-1ubuntu1.5-Debian > SRV _ldap._tcp.windomain.ru +nocookie
;; global options: +cmd
;; Got answer:
;; ->>HEADER;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;_ldap._tcp.windomain.ru. IN SRV
;; ANSWER SECTION:
_ldap._tcp.windomain.ru. 600 IN SRV 0 100 389 swin.windomain.ru.
_ldap._tcp.windomain.ru. 900 IN SRV 0 100 389 ad.windomain.ru.
;; ADDITIONAL SECTION:
swin.windomain.ru. 3600 IN A 10.0.2.10
ad.windomain.ru. 900 IN A 10.0.2.250
;; Query time: 0 msec
;; SERVER: 10.0.2.10#53(10.0.2.10)
;; WHEN: Fri Dec 06 08:58:06 MSK 2019
;; MSG SIZE rcvd: 156
Настройка сети в Astra Linux «Смоленск»
Краткое руководство по настройке сетевого интерфейса и доступа по протоколу SSH, а также установке необходимых сетевых утилит в консольной версии ОС специального назначения Astra Linux Special Edition «Смоленск» версий 1.6 и 1.7.1
Для развёртывания серверов в консольной версии данной ОС в первую очередь необходимо настроить сетевой интерфейс. Для этого при входе в консоль необходимо выставить Integrity Level (уровень целостности) 63. В версии 1.6 он устанавливается принудительно, а в версии 1.7.1 его можно отключить, но в целях безопасности разработчики не рекомендуют его отключать.
Открываем файл /etc/network/interfaces
# sudo nano /etc/network/interfaces
и в конце файла дописываем параметры сети, например:
# Ethernet network interface auto eth0 iface eth0 inet static address 192.168.1.35 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1
Затем создадим файл /etc/resolv.conf
и прописываем адреса DNS-серверов, например:
После этого запускаем сетевой интерфейс eth0
Проверяем, применились ли изменения
и пропингуем что-нибудь, например yandex.ru
Если всё прописано правильно, то в консоли должны отображаться ответы.
Что касается сетевых утилит, то в версии 1.7.1 они устанавливаются автоматически. В версии 1.6 их можно выбрать при установке, отметив чекбокс на пункте Средства работы в сети
Если по каким-то причинам они не были установлены, тогда вставляем установочный диск или монтируем ISO-образ установочного диска в /mnt/cdrom/
# mount /home/user/iso/smolensk_image.iso /mnt/cdrom
и устанавливаем пакет net-tools
# sudo apt install net-tools
После установки пакета нам будут доступны различные сетевые утилиты, такие как ifconfig, netstat и другие.
Для использования утилит для работы с DNS типа nslookup и host устанавливаем пакет dnsutils
# sudo apt install dnsutils
Также, если по каким-либо не были установлены Средства удалённого доступа SSH, необходимо установить соответствующие пакеты
# sudo apt install openssh-server openssh-client ssh
В версии 1.6 пакет ssh необходимо установить в любом случае
Проверяем состояние запуска службы
Если она активна, значит всё установилось правильно. Теперь к машине можно подключаться с помощью ssh-клиентов.
Далее нам необходимо включить файрволл UFW. Для этого проверим статус запуска
Он должен показать статус inactive.
Для разрешения подключения по SSH включаем соответствующее правило
Теперь файрволл должен запуститься и загружаться вместе с системой.
Проверяем. Для этого перезагрузим систему. В версии 1.7.1 скомандуем
а в версии 1.6 запускаем команду
и ждём минуту, когда система начнёт перезагружаться.
После перезагрузки всё должно нормально работать.
Похожие посты:
Введение
В больших сетях очевидна необходимость использования сервера DHCP для автоматического назначения IP-адресов компьютерам, при этом возникает необходимость поддержания соответствия имён компьютеров и назначенных им адресов. При этом:
- устанавливаемая на клиентских машинах служба SSSD умеет сообщать контроллеру домена о своём IP-адресе;
- входящий в дистрибутив Astra Linux сервер DHCP isc-dhcp-server имеет возможность автоматически сообщать доменному серверу DNS (DNS-сервер BIND9) о назначаемых клиентам адресах.
Таким образом обновление адресов можно выполнять либо по инициативе клиентских машин, либо централизованно с помощью DHCP-сервера.
Настройка обновления с клиентских машин (SSSD)
Для включения обновления в файл конфигурации службы SSSD /etc/sssd/sssd.conf в секцию с параметрами домена FreeIPA следует добавить опции:
[domain/. ] . # Включить обновление прямых записей (A/AAAA записей) dyndns_update = true # Включить обновление обратных записей (PTR записей) dyndns_update_ptr = true # Интервал обновления в секундах. По умолчанию - 0, и обновление выполняется только один раз при запуске службы SSSD. # Если интервал менее 60 секунд, то обновление выполняется раз в 60 секунд. # Если адрес после предыдущего обновления не изменялся - обновление не выполняется. dyndns_refresh_interval = 60
Авторизация по ключам Kerberos для такого обновления настраивается автоматически при установке сервера и клиентов FreeIPA.
При установке клиента можно использовать ключ —enable-dns-updates, автоматически задающий нужные настройки:
однако при этом будет добавлена только опция dyndns_update = true (однократное обновление A/AAAA записей при запуске системы при условии обнаружения изменений). Обновление PTR записей выполняться не будет.
Настройка централизованного обновления через сервер DHCP
Создание ключей
Создать ключ для сервера DHCP. Ключ будет автоматически сохранен в файле /etc/bind/rndc.key:
Настройка сервера DNS FreeIPA
Запустить WEB-интерфейс управления сервера FreeIPA и в свойствах необходимой ПРЯМОЙ зоны в разделе «Политика обновления BIND» добавить запись:
grant rndc-key wildcard * ANY;
В свойствах соответствующей ОБРАТНОЙ зоны в том же разделе «Политика обновления BIND» добавить запись:
grant rndc-key wildcard * PTR;
Сохранить изменения и перезапустить службы FreeIPA:
Настройка сервера DHCP
Установить DHCP-сервер в соответствии с инструкциями.
В файле настроек /etc/default/isc-dhcp-server указать интерфейс, через который должна работать служба:
Отредактировать файл конфигурации /etc/dhcp/dhcpd.conf (в примере подразумевается домен samdom.example.com и сеть 10.0.2.0/24 с адресом сервера FreeIPA/DNS 10.0.2.102):
ddns-updates on;
ddns-update-style standard;
include «/etc/bind/rndc.key»;
ddns-domainname «»;
update-static-leases on;
option domain-name «samdom.example.com«;
option domain-search «samdom.example.com«;
option domain-name-servers 10.0.2.102;
option dhcp-server-identifier 10.0.2.102;
#Следующая строка нужна только если используется Samba с WINS
#option netbios-name-servers 10.0.2.102;
default-lease-time 129600;
max-lease-time 1296000;
authoritative;
server-name «ipa.samdom.example.com«;
server-identifier 10.0.2.102;
#Эта подсеть должна соответствовать подсети вашей локальной сети, обращенной к устройству Ethernet.
Subnet 10.0.2.0 netmask 255.255.255.0 option broadcast-address 10.0.2.255;
option subnet-mask 255.255.255.0;
option routers 10.0.2.1;
pool range 10.0.2.10 10.0.2.100;
allow known-clients;
allow unknown-clients;
max-lease-time 86400;
default-lease-time 43200;
>
zone samdom.example.com. primary 127.0.0.1;
key «rndc-key»;
>
zone 2.0.10.in-addr.arpa. primary 127.0.0.1;
key «rndc-key»;
>
>
В отладочных целях можно задать заведомо маленький диапазон адресов:
и для гарантированного изменения адреса клиента заменять его на непересекающийся диапазон:
На клиентах обновить и проверить адрес можно командами:
После внесения изменений в конфигурационные файлы необходимо перезапускать сервис DHCP:
Если после неудачного запуска причина неудачного запуска устранена, а сервер всё равно не может стартовать, сообщая, что он уже запущен, следует удалить вручную файл /var/run/dhcpd.pid.
Установка клиентов с включением автоматического обновления
DHCP-сервер передавая записи об адресах клиентов DNS-серверу подписывает переданные записи своим ключём. Это исключает возможность изменения «чужих» записей. Поэтому, чтобы динамическое обновление работало, нужно создать запись с помощью DHCP-сервера. Для этого нужно обновить адрес от имени полного доменного имени компьютера (FQDN). Это можно сделать следующими командами, выполняемыми до выполнения команды ввода клиента в домен:
- client — имя клиентского компьютера;
- somedom.example.com — имя домена;
- client.somedom.example.com — полное доменное имя компьютера.
Эти команды должны быть выполнены до ввода компьютера в домен.
Проверка успешности настройки
Проверить работу динамического обновления можно запустив отдельный компьютер, настроенный на получение сетевого адреса по DHCP.
После включения такого компьютера и получения им адреса этот компьютер станет доступен по имени.
Например, для компьютера с именем client можно попробовать для проверки следующие команды: