Задать вопрос
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

Настройка DNS-сервера BIND

DNS, или доменная система имён (Domain Name System) – система, которая используется в компьютерных сетях для преобразования человеко-читаемых доменных имен в IP-адреса компьютеров для идентификации друг друга в сети. 

DNS выполняет важную роль в интернете, обеспечивая прозрачное разрешение доменных имен в соответствующие IP-адреса. Когда вы вводите адрес веб-сайта в браузере, ваш компьютер отправляет запрос DNS-серверу, который возвращает соответствующий IP-адрес. Затем ваш компьютер использует этот IP-адрес для установления соединения с сервером, хранящим запрашиваемый веб-ресурс.

В этом руководстве мы покажем, как настроить DNS-сервер BIND. 

Подготовка

Для успешного выполнения настроек требуется наличие как минимум двух серверов с операционной системой Ubuntu в одном центре обработки данных (ЦОД). Вы можете арендовать их в Spaceweb и настроить под свои нужды:


Необходимо будет подготовить два сервера, работающих на Ubuntu 22.04, которые будут использоваться в роли первичного (ns1) и вторичного (ns2) DNS-серверов.

Важно! Вам потребуются права суперпользователя на каждом из серверов. 

Как настроить DNS с помощью сервера имён BIND на Ubuntu

Установка BIND на DNS-серверах

  1. Сначала обновите пакеты:

sudo apt update && sudo apt upgrade -y

  1. Установите пакет BIND из репозитория Linux, выполнив следующую команду:

sudo apt install bind9

  1. Также вы можете установить инструменты мониторинга сети и пакет документации:

sudo apt install dnsutils bind9-doc

  1. После завершения установки BIND запустите его:

sudo service bind9 start

Основной файл конфигурации сервера находится в директории «/etc/bind/named.conf» и содержит общие настройки, которые часто распределяются по нескольким файлам. Настройка DNS связана именно с параметрами внутри этого файла.

Еще один файл конфигурации – «named.conf.options». В нем задаются общие параметры для сервера DNS. 

Вот пример данных, которые вы можете в нем указать:

Важно! Пожалуйста, замените значения IP-адресов и диапазонов на актуальные в соответствии с вашей сетевой конфигурацией.

Проверьте корректность внесенных изменений. Для этого воспользуйтесь утилитой демона named — «named-checkconf»:

sudo named-checkconf

Теперь BIND-сервер будет готов к работе.

Настройка первичного DNS-сервера

Первичный DNS-сервер – это сервер, который содержит основную (первичную) копию данных для определенной зоны домена в системе доменных имен DNS. Он является источником авторитетной информации для этой зоны.

  1. Сначала создайте директорию, в которой будем хранить файлы зон:

sudo mkdir /etc/bind/masterzones

  1. Теперь создайте файл для описания локальной зоны «test.example.ru.local»:

sudo touch /etc/bind/masterzones/test.example.ru.local.zone

  1. Откройте файл для редактирования и добавьте SOA-, NS- и A-записи. 

sudo nano /etc/bind/masterzones/test.example.ru.local.zone

Пример содержимого файла:

  1. Сохраните изменения и закройте файл.
  2. Выполните проверку созданного файла зоны с помощью «named-checkzone»:

sudo named-checkzone test.example.ru. /etc/bind/masterzones/test.example.ru.local.zone

  1. Теперь отредактируйте файл «named.conf.local», добавив информацию о новой локальной зоне:

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

  1. Добавьте следующую запись:

zone "test.example.ru." {
    type master;
    file "/etc/bind/masterzones/test.example.ru.local.zone";
};

Пример:

  1. Сохраните изменения и закройте файл.
  2. Проверьте корректность общих настроек и файлов зон:

sudo named-checkconf
sudo named-checkconf -z

  1. Если проверка завершится успешно, перезапустите BIND, чтобы применить изменения:

sudo service bind9 restart

  1. Убедитесь, что BIND работает без ошибок:

sudo service bind9 status

  1. Перейдем к настройке представлений. Для этого нужно отредактировать файл «/etc/bind/named.conf»:

sudo nano /etc/bind/named.conf

  1. Добавьте следующие строки:

include "/etc/bind/named.conf.options";

acl "local" { 192.168.0.0/168; };
view "local" {
    include "/etc/bind/named.conf.local";
    match-clients { local; };
};

  1. Сохраните изменения и закройте файл.
  2. Теперь отредактируйте файл «/etc/bind/named.conf.local» в соответствии с вашими зонами.
  3. Перезапустите BIND для применения изменений:

sudo service bind9 restart

  1. После перезапуска сервера выполните запрос с другого компьютера в вашей локальной сети для проверки наличия SOA-записи:

dig @192.168.1.5 -t SOA test.example.ru.

Убедитесь, что запрос возвращает необходимую информацию.

На этом этапе настройка основного DNS-сервера завершена. 

Настройка вторичного сервера

  1. Обновите список пакетов и установите Bind9 и все необходимые утилиты, включая dnsutils:

sudo apt update && sudo apt upgrade -y
sudo apt install bind9
sudo apt install dnsutils 
sudo service bind9 start

  1. Создайте каталог «/etc/bind/slave» для хранения файлов зон и предоставим необходимые права:

sudo mkdir /etc/bind/slave
sudo chmod g+w /etc/bind/slave

  1. Добавьте настройки зоны в файл «/etc/bind/named.conf.local»:

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

  1. Добавьте следующую запись:

zone "test.example.ru." {
    type slave;
    file "/etc/bind/slave/test.example.ru.local.zone";
    masters { 192.168.1.5; };
};

  1. Далее добавьте настройки представлений в основной конфигурационный файл «named.conf»:

sudo nano /etc/bind/named.conf

  1. Введите:

include "/etc/bind/named.conf.options";
acl "local" { 192.168.0.0/168; };
view "local" {
    match-clients { local; };
    include "/etc/bind/named.conf.local";
};

  1. Проверьте синтаксис конфигурационных файлов:

sudo named-checkconf
sudo named-checkconf -z

  1. Если ошибок нет, перезагрузите BIND:

sudo service bind9 restart

  1. Затем выполните трансфер зоны со вторичного сервера:

sudo rndc retransfer test.example.ru.

  1. На первичном сервере ограничьте передачу зоны указанием IP-адреса вторичного DNS-сервера. Для этого добавьте директиву «allow-transfer» в «named.conf»:

sudo nano /etc/bind/named.conf

  1. Скопируйте туда следующую запись, заменив «<IP_вторичного_сервера>» на реальный IP:

allow-transfer { <IP_вторичного_сервера>; };

  1. Перезагрузите сервер:

sudo service bind9 restart

Теперь ваши DNS-серверы настроены, и вторичный сервер выполняет трансфер зоны от первичного. 

MX-записи

  1. Отредактируйте файл зоны «/etc/bind/masterzones/test.example.ru.local.zone»:

sudo nano /etc/bind/masterzones/test.example.ru.local.zone

  1. Добавьте ресурсные записи для почтового хоста «mx.test.example.ru.»:

$ORIGIN test.example.ru.
mx                      IN      A       <IP_адрес_mx>
                        MX      10 mx.test.example.ru. 

  1. Проверьте синтаксис файла зоны:

sudo named-checkzone test.example.ru. /etc/bind/masterzones/test.example.ru.local.zone

  1. Если ошибок нет, перезагрузите BIND:

sudo service bind9 reload

Теперь ваш DNS-сервер обновлен с новыми ресурсными записями почты для домена «test.example.ru.». 

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

Обратная зона DNS – это особая доменная зона, которая используется для связывания IP-адресов с соответствующими им доменными именами. Она обратно преобразует IP-адреса в доменные имена, позволяя определить имя узла по его IP-адресу. Это особенно полезно в сетевых и интернет-сервисах, где требуется идентификация устройств по их IP-адресам.

PTR-записи, используемые в обратной зоне, определяют домен по адресу и часто используются для проверки почтовых серверов.

  1. Создайте новый файл зоны для обратного просмотра:

sudo nano /etc/bind/masterzones/168.192/in-addr.arpa.zone

  1. Добавьте в него новые настройки. Например:

  1. Проверьте синтаксис созданной зоны:

sudo named-checkzone 168.192.in-addr.arpa /etc/bind/masterzones/168.192.in-addr.arpa.zone

  1. Добавьте зону в конфигурационный файл «named.conf.local»:

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

  1. Добавьте следующую конфигурацию:

zone "168.192.in-addr.arpa." {
    type master;
    file "/etc/bind/masterzones/168.192.in-addr.arpa.zone";
    allow-transfer { 192.168.0.6; };
};

Пример: 

  1. Проверьте синтаксис измененных конфигураций:

sudo named-checkconf

  1. Перезапустите BIND:

sudo service bind9 restart

  1. Для вторичного сервера добавьте аналогичную конфигурацию в «named.conf.local»:

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

  1. Пропишите:

zone "168.192.in-addr.arpa." {
    type slave;
    file "/etc/bind/slave/168.192.in-addr.arpa.zone";
    masters { 192.168.0.5; };
};

Пример: 

  1. Проверьте синтаксис изменений и перезагрузите BIND на вторичном сервере:

sudo named-checkconf
sudo service bind9 restart

Теперь обратная зона DNS настроена на вашем сервере BIND, и вы можете приступить к настройке внешней доменной зоны.

Внешняя доменная зона

  1. Добавьте внешний адрес в директиву «listen-on» в файле конфигурации «named.conf.options»:

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

  1. Обновите секцию «listen-on» следующим образом, заменив «111.222.333.444» на ваш внешний IP-адрес:

..
listen-on {
    111.222.333.444/32; # Ваш внешний IP
    192.168.0.0;
    127.0.0.0/8
}
..

  1. Создайте файл зоны для внешнего просмотра, не забыв изменить серийный номер:

sudo nano /etc/bind/masterzones/test.example.ru.zone

  1. Добавьте следующие записи, учитывая внешние IP-адреса:

$ttl 3600
$ORIGIN test.example.ru.
test.example.ru.       IN      SOA  (
    ns.test.example.ru.
    admin.test.example.ru.
    2022041205
    10800
    1200
    604800
    3600
)
@                       IN      NS      ns.test.example.ru.
@                       IN      NS      ns2.test.example.ru.
@                       IN      A       111.222.333.444 # Ваш первый внешний адрес
ns                      IN      A       111.222.333.444
ns2                     IN      A       555.666.777.888 # Ваш второй внешний адрес

  1. Создайте файл конфигурации для внешнего просмотра:

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

  1. Добавьте в него следующее:

zone "test.example.ru." {
    type master;
    file "/etc/bind/masterzones/test.example.ru.zone";
    allow-transfer { 192.168.0.6; };
};

  1. Переместите созданный файл в основной конфигурационный файл «named.conf»:

sudo nano /etc/bind/named.conf

  1. Пропишите следующий блок:

acl "external-view" { 111.222.333.444; };
view "external-view" {
    recursion no;
    match-clients { external-view; };
    include "/etc/bind/named.conf.external";
};

  1. Проверьте синтаксис конфигурации:

sudo named-checkconf -z
sudo named-checkzone test.example.ru. /etc/bind/masterzones/test.example.ru.zone

  1. Перезапустите BIND:

sudo service bind9 restart
sudo service bind9 status

  1. На вторичном DNS-сервере добавьте внешний адрес в файл конфигурации «named.conf.options»:

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

  1. Обновите секцию «listen-on», заменив «555.666.777.888» на ваш внешний IP-адрес:

..
listen-on {
    555.666.777.888/24; # ваш внешний IP
    192.168.0.0/168;
    127.0.0.0/8;
}
..

  1. Создайте файл конфигурации для внешнего просмотра:

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

  1. И введите:

zone "test.example.ru." {
    type slave;
    file "/etc/bind/slave/test.example.ru.zone";
    masters { 192.168.0.5; };
};

  1. Добавьте созданный файл в основной конфигурационный файл «named.conf»:

sudo nano /etc/bind/named.conf

  1. Пропишите такой блок:

acl "external-view" { 555.666.777.888; };
view "external-view" {
    recursion no;
    match-clients { external-view; };
    include "/etc/bind/named.conf.external";
};

  1. Выполните трансфер зоны на вторичном сервере:

sudo rndc retransfer test.example.ru. IN external-view

Теперь ваш внешний DNS настроен для обработки DNS-запросов из внешней сети, а вторичный сервер получил обновления зоны. 

Важно! Убедитесь в корректности настроек и серийного номера перед развертыванием внешнего DNS.

Настройка правил журналирования и отладка

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

  1. Создайте файл «log.conf» для определения правил журналирования:

sudo nano /etc/bind/log.conf

  1. Добавьте следующие настройки в файл для записи отладочной информации в файл «/var/lib/bind/bind.log»:

logging {
    channel bind.log {
        file "/var/lib/bind/bind.log" versions 10 size 20m;
        severity debug;
        print-category yes;
        print-severity yes;
        print-time yes;
    };
    category queries { bind.log; };
    category default { bind.log; };
    category config { bind.log; };
};

  1. Добавьте подключение созданного файла «log.conf» в основной конфигурационный файл «named.conf»:

sudo nano /etc/bind/named.conf

  1. В конце файла пропишите:

include "/etc/bind/log.conf";

  1. Сохраните изменения в файлах конфигурации и перезапустите BIND:

sudo service bind9 restart

Теперь сервер будет записывать отладочную информацию в файл «/var/lib/bind/bind.log».

Заключение

Настройка DNS-сервера BIND – это важный этап для обеспечения стабильной и эффективной работы сети. С помощью приведенных инструкций вы сможете успешно развернуть и настроить сервер, учесть особенности различных типов зон и обеспечить контроль и отладку с использованием журналирования. 
 

Предыдущая статья
Как установить Linux на Virtualbox
Следующая статья
Настройка IP-адреса на VPS