Добавить в корзинуПозвонить
Найти в Дзене

Настройка DNS сервера на ALT-Linux

Я думаю, что для человека открывшего эту статью очевидно, что настройка чего-либо в ALT-Linux отличается от обычной настройки сервиса на других дистрибутивах, иногда в мелочах, а порой она является абсолютно уникальной. Для настройки DNS cервера я буду использовать DNS bind. sudo apt-get update
sudo apt-get install bind В ALT Linux основной файл конфигурации BIND (named.conf) заменён на options.conf, он находится в /etc/bind/options.conf.
Минимальная рабочая конфигурация : options {
version "unknown"; // Скрыть версию BIND
directory "/etc/bind/zone"; // Путь к файлам зон
pid-file none; // Отключить PID-файл
// Слушать на всех интерфейсах
listen-on { any; };
listen-on-v6 { any; };
// Разрешить запросы от всех (небезопасно!)
allow-query { any; };
allow-query-cache { any; };
allow-recursion { any; };
// Отключить форвардинг (обращаться к корневым серверам)
forwarders { };
forward none;
}; Всё остальное можете оставить за
Оглавление

Я думаю, что для человека открывшего эту статью очевидно, что настройка чего-либо в ALT-Linux отличается от обычной настройки сервиса на других дистрибутивах, иногда в мелочах, а порой она является абсолютно уникальной. Для настройки DNS cервера я буду использовать DNS bind.

1. Установка BIND

sudo apt-get update
sudo apt-get install bind

2. Настройка основного конфига

В ALT Linux основной файл конфигурации BIND (named.conf) заменён на options.conf, он находится в /etc/bind/options.conf.
Минимальная рабочая конфигурация :

options {
version "unknown"; // Скрыть версию BIND
directory "/etc/bind/zone"; // Путь к файлам зон
pid-file none; // Отключить PID-файл

// Слушать на всех интерфейсах
listen-on { any; };
listen-on-v6 { any; };

// Разрешить запросы от всех (небезопасно!)
allow-query { any; };
allow-query-cache { any; };
allow-recursion { any; };

// Отключить форвардинг (обращаться к корневым серверам)
forwarders { };
forward none;
};

Всё остальное можете оставить закоментированным.

3. Создание зон

Зоны хранятся в local.conf (файл находится в /etc/bind/local.conf)

3.1. Прямая зона (домен)

zone "au-team.ru" {
type master;
file "master/au-team.ru"; // Путь относительно directory

};

//Здесь в строчку file можно заполнить разными способами, я для своего удобства помещаю основную зону в директорию master, НО возможны ещё несколько вариантов, например:

  • file "au-team.ru"; // Если вы хотите хранить зоны просто в директории zone (/etc/bind/zone) а не в master
  • file "/mnt/folder/zone/au-team.ru"; // Если вы храните зоны не в директории по умолчанию

3.2. Обратные зоны (PTR)

Для сетей 192.168.88.0/24 и 172.16.55.0/24(Прямая зона будет одной для обоих ptr зон):

zone "88.168.192.in-addr.arpa" {
type master;
file "master/88.168.192.in-addr.arpa";
};

zone "55.16.172.in-addr.arpa" {
type master;
file "master/55.16.172.in-addr.arpa";
};

//С обратными зонами работает тоже правило, что и с прямыми, вы можете создавать их где угодно

Важно:

  • Если сети имеют одинаковые первые октеты (например, 192.168.88.0/24 и 192.168.55.0/24), можно объединить их в одной зоне:

zone "168.192.in-addr.arpa" {
type master;
file "master/168.192.in-addr.arpa";
};

3.3 Второй способ создания прямой и обратной зоны

Вы можете написать для PTR зон и прямой зоны путь к одному файлу зон,то есть ваша настройка local.conf, будет выглядеть так:

zone "au-team.ru" {
type master;
file "au-team.ru";
};
zone "88.168.192.in-addr.arpa" {
type master;
file "au-team.ru";
};

zone "55.16.172.in-addr.arpa" {
type master;
file "au-team.ru";
};

Так тоже можно, как мне кажется, это несовсем удобно,но возможны разные варианты записи.

4. Подготовка файлов зон

4.1. Создание директорий

sudo mkdir -p /etc/bind/zone/master

4.2. Базовые файлы зон

Скопируйте шаблоны:

sudo cp /etc/bind/zone/localdomain /etc/bind/zone/master/au-team.ru
sudo cp /etc/bind/zone/127.in-addr.arpa /etc/bind/zone/master/88.168.192.in-addr.arpa

5. Настройка зон

5.1. Прямая зона (au-team.ru)

$TTL 1D
@ IN SOA ws-1.au-team.ru. admin.au-team.ru. (
2025020600 ; Serial
12H ; Refresh
1H ; Retry
1W ; Expire
1H ; Negative TTL
)
IN NS ws-1.au-team.ru.
IN A 192.168.88.205

ws-1 IN A 192.168.88.205
ws-2 IN A 192.168.88.204
ws-3 IN A 172.16.55.10
www IN CNAME ws-2.au-team.ru.

5.2. Обратная зона (88.168.192.in-addr.arpa)

Для каждой отличной сети разные обратные зоны.

$TTL 1D
@ IN SOA ws-1.au-team.ru. admin.au-team.ru. (
2025020600 ; Serial
12H ; Refresh
1H ; Retry
1W ; Expire
1H ; Negative TTL
)
IN NS ws-1.au-team.ru.

205 IN PTR ws-1.au-team.ru. ; Для IP 192.168.88.205
204 IN PTR ws-2.au-team.ru. ; Для IP 192.168.88.204

5.3 Зона при едином файле для PTR и для прямой зоны

$TTL 1D
@ IN SOA ws-1.au-team.ru. admin.au-team.ru. (
2025020600 ; Serial
12H ; Refresh
1H ; Retry
1W ; Expire
1H ; Negative TTL
)
IN NS ws-1.au-team.ru.
IN A 192.168.88.205

ws-1 IN A 192.168.88.205
ws-2 IN A 192.168.88.204
ws-3 IN A 172.16.55.10
www IN CNAME ws-2.au-team.ru.

205 IN PTR ws-1.au-team.ru. ; Для IP 192.168.88.205
204 IN PTR ws-2.au-team.ru. ; Для IP 192.168.88.204

6. Настройка клиентов

6.1. Указание DNS-сервера

В ALT Linux редактируйте /etc/resolv.conf(лучше настраивайте его,а не /etc/net/ifaces/ens18/resolv.conf), хотя конфигурация в /etc/resolv.conf порой может заменить адрес на loopbuck:), но так хотя бы 100% вы получите подключение к DNS серверу.

echo "nameserver 192.168.88.205" > /etc/resolv.conf

7. Запуск и проверка

# Проверка синтаксиса
sudo named-checkconf /etc/bind/options.conf

# Проверка зоны
sudo named-checkzone au-team.ru /etc/bind/zone/master/au-team.ru

# Перезапуск BIND
sudo systemctl restart bind

8. Рекомендации по безопасности

  • Ограничьте доступ:

allow-query { 192.168.88.0/24; }; Ограничивает круг клиентов, которые могут отправлять запросы к серверу.
allow-recursion { 192.168.88.0/24; }; Определяет, кто может выполнять рекурсивные запросы (когда сервер сам ищет ответ, обращаясь к другим DNS).

  • Запретите трансфер зон:

allow-transfer { none; }; Контролирует, кто может запрашивать трансфер зоны

9. Частые ошибки

  • Ошибка в IP-адресах:
    Адреса вида .0 (сетевые) или .255 (широковещательные) не должны использоваться для хостов.
  • Некорректные PTR-записи:
    Для IP 192.168.88.204 PTR-запись должна быть:

04.88.168.192.in-addr.arpa. IN PTR ws-2.au-team.ru.

Готово! Вы должны увидеть заветные пинги по доменным именам:)