Установка dns сервера astra linux

Цели

Как обычно, если не указано иное, команды выполняются от имени пользователя root .

Исходные данные

Доменная зона home.net
Подсеть 192.168.0/24
Имя основного сервера dc.home.net
IP-адрес сервера имен 192.168.0.1
Имя первого хоста arm01.home.net
IP-адрес первого хоста 192.168.0.101
Имя N-го хоста armN.home.net
IP-адрес N-го хоста 192.168.0.(100+N)

Установка сервера

Сервер установлен, но установка сделана не безопасным способом. Нужно выполнить несколько дополнительных действий, описанных подробнее в Debian Wiki — Bind.

Будем запускать сервер в изолированном окружении:

mkdir -p /var/bind9/chroot/ mknod /var/bind9/chroot/dev/null c 1 3 mknod /var/bind9/chroot/dev/random c 1 8 chmod 660 /var/bind9/chroot/dev/ mv /etc/bind /var/bind9/chroot/etc ln -s /var/bind9/chroot/etc/bind /etc/bind chown bind:bind /var/bind9/chroot/etc/bind/rndc.key chmod 775 /var/bind9/chroot/var/ chgrp bind /var/bind9/chroot/var/

Теперь нужно изменить расположение PIDFILE. Для этого в файле /etc/init.d/bind9 нужно переопределить переменную PIDFILE .

PIDFILE=/var/bind9/chroot/var/run/named/named.pid

Чтобы сервер понимал, что его запускают в изолированном окружении, нужно изменить параметры его запуска, внеся небольшие коррективы в файл /etc/default/bind9

OPTIONS="-u bind -t /var/bind9/chroot"

Перенастроим логирование rsyslog

echo "\$AddUnixListenSocket /var/bind9/chroot/dev/log" > /etc/rsyslog.d/bind-chroot.conf

Настройка опций сервера

Безопасность

Основные настройки сервера хранятся в файле /etc/bind/named.conf.options (на самом деле сейчас это всего лишь символическая ссылка, но на суть дела это не влияет). Добавим пару параметров для пущей безопасности в разделе options :

Включение в конфигурацию новой доменной зоны

В файле /etc/bind/named.conf.default-zones добавим указание на файлы прямой и обратной зоны, чтобы сервер мог обслуживать локальную сеть:

. zone "home.net" in < // Локальная сеть type master; file "/etc/bind/db.home.net"; // В этом файле будут адреса прямой зоны >; zone "0.168.192.in-addr.arpa" < // Так описывается обратная зона, т. е. первые три октета // записываются в обратном порядке и добавляется .in-addr.arpa type master; file "/etc/bind/db.0.168.192"; // В этом файле будут адреса обратной зоны >;

Прямая доменная зона

Ниже просто приведу содержимое файла /etc/bind/db.home.net .

$TTL 3h @ IN SOA dc.home.net. administrator.home.net. ( ; Вместо @ будет подставлено автоматически имя зоны из файла /etc/bind/named.conf.default-zones 2017092701 ; Это число нужно менять каждый раз при изменении этого файла ; Очень удобно взять текущее число и добавить ещё пару цифр для указания ревизии 3h ; 1h ; 1w ; 1h ) IN NS dc.home.net. ; Указываем имя основного DNS-сервера, обслуживающего зону ; Наличие пробела или табуляции в начале строки и точки ; после .net обязательно dc IN A 192.168.0.1 ; IP-адрес сервера имен imap IN CNAME dc ; Указываем, что наш DNS-сервер так же отзывается на imap.home.net smtp IN CNAME dc ; и smtp.home.net arm01 IN A 192.168.0.101 arm02 IN A 192.168.0.102 arm03 IN A 192.168.0.103 arm04 IN A 192.168.0.104 arm05 IN A 192.168.0.105 arm06 IN A 192.168.0.106 arm07 IN A 192.168.0.107 arm08 IN A 192.168.0.108 arm09 IN A 192.168.0.109 arm10 IN A 192.168.0.110

Обратная зона

Создадим файл, на который ссылается обратная зона, и заполним его по образцу:

$TTL 3h @ IN SOA dc.home.net. administrator.home.net. ( 2017092701 ; Это число тоже нужно менять 3h ; 1h ; 1w ; 1h ) IN NS dc.home.net. 1 IN PTR dc.home.net. ; Наш сервер 101 IN PTR arm01.home.net. 102 IN PTR arm02.home.net. 103 IN PTR arm03.home.net. 104 IN PTR arm04.home.net. 105 IN PTR arm05.home.net. 106 IN PTR arm06.home.net. 107 IN PTR arm07.home.net. 108 IN PTR arm08.home.net. 109 IN PTR arm09.home.net. 110 IN PTR arm10.home.net.

Запуск сервера и проверка работоспособности

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

Читайте также:  Linux if any file exists

Если вместо кучи ошибок сервер просто написал, что всё хорошо, можно проверить разрешение имен:

host arm01.home.net host 192.168.0.9

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

named-checkconf /etc/bind/named.conf named-checkzone home.net /etc/bind/db.home.net named-checkzone 192.168.0 /etc/bind/db.0.168.192

Данные утилиты из состава пакета bind9utils укажут на ошибки в конфигурационных файлах.

Клиенты

Существует несколько способов настроить обращение к DNS-серверу на клиентских машинах. По скольку речь идет об операционной системе для социальной группы ‘siloviki’, выбор инструментальных средств невелик — wicd , /etc/network/interfaces и /etc/resolv.conf .

Первый способ отметаем сразу же, поскольку с wicd довольно много проблем. Не буду останавливаться на них подробно, но обычно первое, что приходится делать на свежеустановленной системе — убрать его из автозагрузки:

service wicd stop chkconfig wicd off

Можно указать DNS-сервер в настройках сетевых интерфейсов, однако, в этом случае их нужно прописывать для каждого сетевого интерфейса, а я не люблю повторяться. В связи с этим просто откорректируем файл /etc/resolv.conf на клиентских машинах:

domain home.net search home.net nameserver 192.168.0.1

Работа в ненулевых мандатных режимах

В данном дистрибутиве реализована мандатная модель разграничения доступа, в том числе к сетевым сервисам. Чтобы обеспечить корректную работу демона named в режимах с мандатной меткой, отличной от нулевой, нужно добавить всего одну строчку в файл /etc/parsec/privsock.conf :

Источник

Введение

Статья основана на материалах из wiki.samba.org
В материалы внесены существенные изменения, отражающие работу с современной версией Bind9.

Для того, чтобы создать контроллер домена Samba Active Directory (AD), в первую очередь нужно создать и настроить DNS-сервер.
Для использования с ОС Astra Linux рекомендуется DNS-сервер BIND9, входящий в комплект дистрибутивов.

Читайте также:  Файл хранения паролей linux

Далее описывается базовая инсталляция 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»;

Читайте также:  Add dns servers to linux

# 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

Источник

Оцените статью
Adblock
detector