Настройка резервного DNS
Created on: January 16, 2025
Created on: January 16, 2025
Сконфигурируйте SRV1-DT, как резервный DNS сервер.
Ниже представлен пример базовой последовательности шагов по настройке Windows Server в качестве резервного (вторичного) DNS-сервера. Предположим, что:
Если у вас иная инфраструктура (например, вы используете Linux/BIND или другие инструменты автоматизации), можно адаптировать данные шаги под вашу среду.
Откройте Server Manager на SRV1-DT.
Выберите в левой панели «Manage» → «Add Roles and Features».
Далее следуйте мастеру установки ролей:
Проверьте, что служба DNS установлена и запущена:
Откройте консоль управления DNS на SRV1-DT:
Раскройте дерево «Forward Lookup Zones» (или «Области прямого просмотра имён»), если необходимо настроить вторичный DNS для прямой зоны.
Аналогично – «Reverse Lookup Zones» для обратной.
Создание вторичной зоны:
Убедитесь, что ваш основной DNS-сервер настроен на разрешение переноса зоны (zone transfer) к SRV1-DT.
Проверка переноса зоны:
Если на основном DNS-сервере уже разрешён перенос зоны всем серверам, или выбран «Any server», то дополнительной настройки может не потребоваться. Если же у вас ограничен список допустимых IP-адресов, убедитесь, что IP SRV1-DT включён в разрешённые источники запросов.
На SRV-Primary (основном сервере) в консоли DNS:
С SRV1-DT выполните команды проверки DNS (можно через PowerShell или командную строку):
shellnslookup example.local
Убедитесь, что разрешение имён работает корректно.
При необходимости выполните аналогичную проверку на клиенте: пропишите SRV1-DT как DNS-сервер (вторичный) в настройках сети и проверьте разрешение имён.
При отключении/недоступности основного DNS-сервера (SRV-Primary) вторичный сервер (SRV1-DT) должен продолжать отвечать на запросы по зонам, данные которых он успел получить в процессе переноса (zone transfer).
Таким образом, вы настраиваете SRV1-DT как резервный (вторичный) DNS-сервер, который дублирует зоны с основного сервера и обеспечивает отказоустойчивость в вашей DNS-инфраструктуре.
Сконфигурируйте SRV1-DT, как резервный DNS сервер на alt linux
Ниже приведён пример базовой последовательности шагов по настройке вторичного (резервного) DNS-сервера на ALT Linux с использованием BIND. Предположим, что:
Данный пример можно легко адаптировать и под другие RPM-системы (RHEL/CentOS, Fedora, OpenSUSE), а также под Debian/Ubuntu-семейство.
На ALT Linux обычно пакет BIND называется bind или bind9. Устанавливаем и проверяем, что служба работает:
bashsudo apt-get update sudo apt-get install bind9
(В зависимости от используемого репозитория и среды, вместо apt-get в ALT Linux может использоваться apt-rpm или aptitude install bind9
. Либо вы можете установить bind с помощью dnf
/rpm
– смотря какая у вас версия ALT Linux. При необходимости скорректируйте команду.)
Далее убеждаемся, что служба включена и запущена:
bashsudo systemctl enable named sudo systemctl start named
(Уточните точное название сервиса, возможно он называется named.service
в ALT Linux.)
По умолчанию основные файлы BIND находятся в каталоге:
text/etc/named.conf /etc/named/ (в некоторых случаях /var/named/) /etc/bind/ (вариант для Debian-семейства)
В ALT Linux чаще всего используется /etc/named.conf как главный файл конфигурации. В нём прописываем «зоны», «options» и т.д.
Простейшая структура (в контексте резервного DNS) может выглядеть так:
bashoptions { directory "/var/named"; // Корневой каталог для зон, логов и т.д. listen-on port 53 { any; }; // Можно ограничить конкретным IP-адресом allow-query { any; }; // Разрешить любые запросы или настроить ACL recursion yes; // Разрешить рекурсивные запросы (по необходимости) // Рекомендуется ограничить transfer только нужными ACL allow-transfer { none; }; // По умолчанию запрещаем перенос зоны }; // // Ключевой момент - добавить вторичную (secondary) зону // Предположим, у нас зона example.local // zone "example.local" IN { type slave; // Тип - вторичная зона (slave) masters { 192.168.0.10; }; // IP-адрес вашего основного (master) DNS-сервера (SRV-Primary) file "slave/example.local"; // Локальный файл, куда сохраняется копия зоны allow-query { any; }; // Разрешаем клиентам запрашивать зону // При необходимости можно разрешить следующим серверам копировать от нас // allow-transfer { 192.168.0.15; }; }; // // Аналогично для reverse-зоны (при необходимости) // zone "0.168.192.in-addr.arpa" IN { type slave; masters { 192.168.0.10; }; file "slave/0.168.192.in-addr.arpa"; allow-query { any; }; };
Важный момент: Директиву
masters { ... };
следует обязательно указать с реальным IP-адресом основного DNS-сервера. На основном сервере должна быть включена опция «разрешить перенос зоны» (allow zone transfers) для данного IP (SRV1-DT).
BIND должен иметь возможность записывать туда файл зоны. В ALT Linux каталог часто создаётся автоматически, но уточним:
bashsudo mkdir -p /var/named/slave sudo chown named:named /var/named/slave // Убедиться, что владелец - пользователь, под которым работает named
(Пользователь и группа могут отличаться, в зависимости от сборки (например, bind:bind
или named:named
).)
На SRV-Primary (основном сервере) – будь это BIND, Windows DNS или PowerDNS – нужно разрешить переноса зоны к IP-адресу SRV1-DT.
В BIND (пример конфигурации master-зоны):
bashzone "example.local" IN { type master; file "/var/named/master/example.local"; allow-transfer { 192.168.0.20; }; // IP SRV1-DT also-notify { 192.168.0.20; }; // Уведомлять вторичный сервер об изменениях };
Здесь 192.168.0.20
– это IP-адрес вашего резервного DNS (SRV1-DT).
Параметр also-notify
не обязателен, но ускоряет синхронизацию.
В Windows DNS:
Проверка синтаксиса BIND:
bashsudo named-checkconf /etc/named.conf
Убедитесь, что нет ошибок синтаксиса.
Перезапускаем BIND, чтобы применить изменения:
bashsudo systemctl restart named
Проверьте журнал (например, journalctl -u named -f
), нет ли там ошибок при старте.
Проверяем, подтягивается ли зона:
/var/named/slave/
появился файл example.local
(или иное имя), соответствующий вторичной зоне.Тестируем nslookup/dig:
bashdig @192.168.0.20 example.local SOA
или
bashdig @192.168.0.20 www.example.local
Должны прийти корректные ответы, а в поле AUTHORITY SECTION вы увидите, что ответ идёт с вторичного сервера.
Убедитесь, что служба named стартует автоматически при загрузке. Обычно достаточно:
bashsudo systemctl enable named
(Повторяем, иногда название юнита может отличаться – смотрите в systemctl list-unit-files | grep named
.)
allow-transfer
и also-notify
на мастер-сервере./var/log/messages
или отдельный лог, чтобы оперативно видеть проблемы с zone transfer.recursion no;
).Чтобы настроить SRV1-DT на ALT Linux как резервный DNS:
bashsudo apt-get install bind9
/etc/named.conf
, добавив вторичную (slave) зону:
bashzone "example.local" IN { type slave; masters { 192.168.0.10; }; file "slave/example.local"; };
dig @<IP SRV1-DT> example.local
даёт корректный ответ.Таким образом, SRV1-DT получает актуальные записи DNS от основного сервера (SRV-Primary) и продолжает обслуживать запросы даже при недоступности мастер-сервера.
как установить ecorouter на vmware
Ниже приведены обобщённые рекомендации по установке EcoRouter в виртуальную машину VMware (Workstation, Player или ESXi). Порядок действий может незначительно отличаться в зависимости от используемой версии VMware и самой сборки EcoRouter, но общие принципы будут схожими.
Дальнейшие действия описаны для VMware Workstation/Player как наиболее частого варианта использования на рабочей станции. Если у вас ESXi, логика та же, но интерфейс немного отличается.
Запустите VMware Workstation (или Player).
Создайте новую виртуальную машину:
Если VMware не распознаёт дистрибутив автоматически, вам может понадобиться выбрать гостевую ОС вручную (например, Linux → Other Linux 2.6.x kernel or later).
Настройте параметры:
Завершите создание виртуальной машины.
В некоторых сборках EcoRouter может быть предустановленная система, которая загружается сразу в Live-режим (без отдельного шага «установки»). Тогда вам нужно будет либо вручную сконфигурировать (если есть консоль/веб-интерфейс), либо запустить программу «Install», чтобы перенести её на диск виртуальной машины.
После первой загрузки установленного EcoRouter:
/etc/network/interfaces
или через утилиты, которые EcoRouter предоставляет).После этого EcoRouter будет работать в качестве программного маршрутизатора/файрвола в среде VMware.
Настройте синхронизацию времени между сетевыми устройствами по протоколу NTP.
a) В качестве сервера должен выступать SRV1-HQ
Ниже приведены обобщённые шаги для настройки NTP-синхронизации в вашей сети с учётом следующих условий:
ntpd
).Примечание: В зависимости от используемых ОС (Linux/Windows/другие) конкретная реализация может отличаться, однако основные принципы будут схожими.
В дистрибутивах RHEL/CentOS/AlmaLinux/RockyLinux:
bashsudo yum install chrony
В Debian/Ubuntu:
bashsudo apt-get update sudo apt-get install chrony
В ALT Linux:
bashsudo apt-get install chrony
(Либо используйте dnf
, aptitude
и т.п. в зависимости от версии.)
/etc/chrony.conf
Ниже пример базового содержимого /etc/chrony.conf
на SRV1-HQ:
conf# Указываем вышестоящий NTP-сервер (ntp2.vniiftri.ru) server ntp2.vniiftri.ru iburst # Указываем локальный стратум - 5 # Это нужно, чтобы при отсутствии связи с внешним NTP, # SRV1-HQ продолжал раздавать время, объявляя себя 5-м уровнем. local stratum 5 # Разрешаем клиентам в локальной сети получать от нас время. # Если сервер расположен в сети 192.168.0.0/24, то: allow 192.168.0.0/24 # Файл для записи информации о дрейфе часов driftfile /var/lib/chrony/drift # Сколько позволять "скачкам" времени при запуске makestep 1.0 3
Обратите внимание на директиву
local stratum 5
:
local
говорит chrony, что при отсутствии доступных внешних серверов он может «становиться» локальным референсом.stratum 5
указывает требуемый уровень.
При необходимости расширьте/измените сеть в директиве allow
— в зависимости от того, кто будет брать время с SRV1-HQ.
bashsudo systemctl enable chronyd sudo systemctl start chronyd
Проверяем статус:
bashsystemctl status chronyd
Покажет список источников и их состояние (reach, задержка, offset и т.д.).bashchronyc sources -v
Покажет, к кому сервер сейчас привязан (System time / Reference ID / Stratum / Ref time и прочее).bashchronyc tracking
Если всё корректно, вы увидите, что SRV1-HQ получает время от ntp2.vniiftri.ru (stratum 4 или ниже), а сам при этом объявляет себя stratum 5 для внутренних клиентов (когда внешняя связь недоступна).
Если по каким-то причинам нужно использовать ntpd (например, в старых системах):
Установка:
bashsudo yum install ntp # или sudo apt-get install ntp
Файл /etc/ntp.conf
(аналогичные параметры):
conf# Источник внешнего времени server ntp2.vniiftri.ru iburst # Задаём стратум 5 при отсутствии внешних источников fudge 127.127.1.0 stratum 5 # Указываем "локальный" драйвер server 127.127.1.0 # Разрешаем клиентам в локальной сети restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap # Driftfile driftfile /var/lib/ntp/ntp.drift
Запуск:
bashsudo systemctl enable ntpd sudo systemctl start ntpd
Проверка:
bashntpq -p
Однако, при прочих равных, chrony считается более современной и гибкой реализацией.
На Linux:
bashsudo timedatectl set-timezone Europe/Moscow
Проверяем:
bashtimedatectl
В поле Time zone
должно стоять Europe/Moscow (MSK, +0300)
.
Все остальные устройства (серверы, рабочие станции, маршрутизаторы, коммутаторы и т.п.) должны быть сконфигурированы так, чтобы они получали время от SRV1-HQ. Ниже — общая логика.
/etc/chrony.conf
основные строки будут:
conf# В качестве источника времени используем SRV1-HQ (предположим 192.168.0.10) server 192.168.0.10 iburst # Разрешаем "большие скачки" при запуске makestep 1.0 3 driftfile /var/lib/chrony/drift
bashsudo systemctl enable chronyd sudo systemctl start chronyd
bashchronyc sources -v chronyc tracking
bashsudo timedatectl set-timezone Europe/Moscow
Если используется ntpd, то в /etc/ntp.conf
указываем:
confserver 192.168.0.10 iburst driftfile /var/lib/ntp/ntp.drift
Аналогично прописываем таймзону:
bashsudo timedatectl set-timezone Europe/Moscow
И запускаем службу:
bashsudo systemctl enable ntpd sudo systemctl start ntpd
Если в сети есть Windows-серверы/станции, которые должны брать время у SRV1-HQ:
powershellnet stop w32time w32tm /config /syncfromflags:manual /manualpeerlist:"192.168.0.10" w32tm /config /reliable:yes w32tm /config /update net start w32time
powershellw32tm /query /status w32tm /query /peers
Важно: Если это контроллер домена AD, там своя логика синхронизации через Forest Root PDC, но суть та же — можно указать внешний NTP (SRV1-HQ).
Для роутеров (Cisco, MikroTik, Juniper и т.п.) обычно достаточно указать IP-адрес SRV1-HQ в качестве NTP-сервера. Примеры:
textconf t ntp server 192.168.0.10 clock timezone MSK 3 end
text/system ntp client set enabled=yes primary-ntp=192.168.0.10 /system clock set time-zone-name=Europe/Moscow
textset system ntp server 192.168.0.10 set system time-zone Europe/Moscow
(Синтаксис может меняться в зависимости от конкретной модели и версии прошивки.)
На SRV1-HQ:
ntp2.vniiftri.ru
.chronyc sources -v
или ntpq -p
покажет статус.local stratum 5
/ fudge 127.127.1.0 stratum 5
).На клиентах:
Часовой пояс:
ntp2.vniiftri.ru
(стратум 4 или ниже) и при этом объявляет себя stratum 5, раздавая время во внутреннюю сеть.ntp2.vniiftri.ru
, время во внутренней сети остаётся согласованным, так как SRV1-HQ продолжает работать как локальный сервер NTP.Таким образом, достигается: