Общий указатель серии: Компьютерные сети для малых и средних предприятий: Введение
Привет, друзья! В этой статье мы рассмотрим, как реализовать важные сетевые сервисы DNS и DHCP в CentOS Linux, а именно в версии 7.2.
- В некоторых статьях о DNS говорится о том, что реализация этой услуги непонятна и сложна. Я не совсем согласен с этим утверждением. Я бы сказал, что это немного концептуально и что многие из его файлов конфигурации имеют суетливый синтаксис. К счастью, у нас есть инструменты для пошаговой проверки синтаксиса каждого файла конфигурации, который мы изменяем. Поэтому мы постараемся сделать чтение этого поста максимально приятным и приятным..
Тем, кто ищет основы обоих сервисов, мы настоятельно рекомендуем начать поиск в Википедии, как в испанской, так и в английской версиях. Не менее верно и то, что статьи на английском почти всегда более полны и последовательны. Тем не менее, Википедия - очень хорошая отправная точка.
Тем, кто действительно хочет узнать больше о DNS и BIND, рекомендуется прочитать книгу « OReilly – DNS and BIND 4th ed », написанную Полом Альбитцем и Крикетом Лю , или более позднее издание, которое наверняка существует.
Мы уже опубликовали статью на эту тему под названием « DNS и DHCP в openSUSE 13.2 Harlequin – сети для малых и средних предприятий » для тех, кто предпочитает графический интерфейс. Однако в дальнейшем вы будете встречать статьи по этой теме — но не по другим — написанные с активным использованием эмулятора терминала или консоли. Другими словами, в классическом стиле, используемом системными администраторами UNIX®/Linux.
Если вы хотите узнать больше о теме, указанной в заголовке этой статьи, « Сети для малых и средних предприятий », вы можете посетить страницу « Сети для малых и средних предприятий: первый виртуальный этап » в этом же блоге . Там вы найдете ссылки на множество других опубликованных статей.
- После завершения установки операционной системы CentOS 7 с рекомендуемыми нами пакетами, el каталог /usr/доля/doc/bind-9.9.4/ Он содержит большое количество документации, с которой мы рекомендуем вам ознакомиться, прежде чем начинать поиск в Интернете, не зная заранее, что у вас под рукой и у себя дома вы можете найти то, что ищете.
Установка базовой системы
Общие данные домена и DNS-сервера
Доменное имя: desdelinux.вентилятор Имя DNS-сервера: днс.desdelinux.вентилятор IP-адрес: 192.168.10.5 Маска подсети: 255.255.255.0
Установка
Начнём с новой или чистой установки операционной системы CentOS 7, как описано в предыдущей статье « Гипервизор CentOS 7 I – сети для малых и средних предприятий ». Нам нужно внести только следующие изменения:
- En la Imagen 22 «ВЫБОР ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ«, Рекомендуем выбирать в левом столбце«Базовая среда»Опция, соответствующая«Сервер инфраструктуры«, Находясь в правом столбце«Плагины для выбранной среды»Установите флажок«DNS-сервер«. Мы установим DHCP-сервер позже.
- Вспомним объявление дополнительных репозиториев, как показано в Imagen 23, после установки «СЕТЬ И НАЗВАНИЕ КОМАНДЫ».
- Изображения, относящиеся к разделам, которые мы создадим на нашем жестком диске, даны только в качестве руководства. Не стесняйтесь выбирать перегородки по своему усмотрению, практике и здравому смыслу.
- Наконец, в Изображение 13 «СЕТЬ И НАЗВАНИЕ КОМАНДЫ», мы должны изменить значения в соответствии с общими параметрами заявленного домена и DNS-сервера, не забывая указать имя хоста - в данном случае «DNS«- после завершения настройки сети. Положительно делать пинг -с другого хоста- на указанный IP-адрес после того, как сеть станет активной:
Есть действительно несколько и очень очевидных изменений, которые мы должны внести по сравнению с предыдущей статьей.
Первоначальные проверки и регулировки
После установки операционной системы мы должны проверить как минимум следующие файлы, и для этого мы запускаем сеанс через SSH с нашего компьютера. сисадмин.desdelinux.вентилятор:
buzz @ sysadmin: ~ $ ssh 192.168.10.5 [электронная почта защищена]Пароль пользователя: Последний вход: Сб, 28 янв 2017, 09:48:05 с IP-адреса 192.168.10.1 [buzz @ dns ~] $
Вышеупомянутая операция может занять больше времени, чем обычно, и в основном это связано с тем, что у нас еще нет DNS в локальной сети. Позже еще раз проверьте, работает ли DNS.
[buzz @ dns ~] $ cat / etc / hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6 [buzz @ dns ~] $ cat / etc / hostname DNS [buzz @ dns ~] $ cat / etc / sysconfig / network-scripts / ifcfg-eth0 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eth0 UUID=946f5ac9-238a-4a94-9acb-9e3458c680fe DEVICE=eth0 ONBOOT=yes IPADDR=192.168.10.5 PREFIX=24 GATEWAY=192.168.10.1 DNS1=127.0.0.1 DOMAIN=desdelinux.fan [buzz @ dns ~] $ cat /etc/resolv.conf # Создано поиском NetworkManager desdelinuxСервер имен .fan 127.0.0.1
Основные настройки отражают наш выбор. Обратите внимание, что даже на сервере Red Hat 7 – CentOS 7 NetworkManager по умолчанию настроен на управление сетевыми интерфейсами, как проводными, так и беспроводными (Wi-Fi), VPN-соединениями, PPPoE-соединениями и любыми другими сетевыми подключениями.
[buzz @ dns ~] $ sudo systemctl status networkmanager [sudo] пароль для обновления: ● networkmanager.service Загружен: не найден (Причина: нет такого файла или каталога) Активно: неактивен (мертв) [buzz @ dns ~] $ sudo systemctl status NetworkManager ● NetworkManager.service - Сетевой менеджер загружен: загружен (/usr/lib/systemd/system/NetworkManager.service; включен; предустановка поставщика: включена) Активный: активен (работает) с Сб 2017 01:28:12 EST; 23мин назад Основной PID: 59 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─12 / usr / sbin / NetworkManager --no-daemon
Red Hat – CentOS также позволяет подключать и отключать сетевые интерфейсы с помощью классических команд `ifup` и `ifdown` . Давайте выполним следующие команды в консоли сервера:
[root @ dns ~] # ifdown eth0 Устройство "eth0" успешно отключено. [root @ dns ~] # ifup eth0 Соединение успешно активировано (активный путь D-Bus: / org / freedesktop / NetworkManager / ActiveConnection / 1)
- Мы предлагаем не изменяйте настройки по умолчанию, которые CentOS 7 предлагает в отношении Сетевой менеджер.
Мы окончательно объявляем репозитории, которые собираемся использовать, и при необходимости обновляем операционную систему:
[buzz @ dns ~] $ su Пароль: [root @ dns buzz] # cd /etc/yum.repos.d/ [root @ dns yum.repos.d] # ls -l всего 28 -rw-r - r--. 1 корневой корневой каталог 1664 9 декабря 2015 CentOS-Base.repo -rw-r - r--. 1 root root 1309 9 декабря 2015 CentOS-CR.repo -rw-r - r--. 1 root root 649 9 декабря 2015 CentOS-Debuginfo.repo -rw-r - r--. 1 root root 290 9 декабря 2015 CentOS-fasttrack.repo -rw-r - r--. 1 корень корень 630 9 декабря 2015 CentOS-Media.repo -rw-r - r--. 1 root root 1331 9 декабря 2015 CentOS-Sources.repo -rw-r - r--. 1 root root 1952 9 декабря 2015 CentOS-Vault.repo
Полезно прочитать содержимое исходных файлов объявлений репозиториев, рекомендованных CentOS. Изменения, которые мы здесь вносим, связаны с тем, что у нас нет доступа в Интернет, и мы работаем с локальными репозиториями, скачанными с WWW Village, коллегами, которые немного облегчают нам жизнь.
[root @ dns yum.repos.d] # mkdir оригинал [root @ dns yum.repos.d] # mv CentOS- * оригинал / [root @ dns yum.repos.d] # nano centos-repos.repo [centos-base] name=CentOS-$releasever baseurl=http://10.10.10.1/repos/centos/7/base/ gpgcheck=0 enabled=1 [centos-updates] name=CentOS-$releasever baseurl=http://10.10.10.1/repos/centos/7/updates/x86_64/ gpgcheck=0 enabled=1 [root @ dns yum.repos.d] # ням убрать все Загруженные плагины: fastestmirror, langpacks Очистка репозиториев: centos-base centos-updates Очистка всего [root @ dns yum.repos.d] # yum update Загруженные плагины: fastestmirror, языковые пакеты на базе centos | 3.4 kB 00:00 centos-updates | 3.4 КБ 00:00 (1/2): centos-base / primary_db | 5.3 МБ 00:00 (2/2): centos-updates / primary_db | 9.1 МБ 00:00 Определение самых быстрых зеркал Нет пакетов, отмеченных для обновления
Сообщение "Нет пакетов, отмеченных для обновления" указывает на то, что, указав самые актуальные доступные репозитории во время установки, были установлены самые последние пакеты.
О контексте SELinux и брандмауэре
В этой статье мы собираемся сосредоточить основное внимание на реализации служб DNS и DHCP, что является ее основной целью.
Если кто-либо из читателей выбрал политику безопасности в процессе установки, как показано на изображении 06 в справочной статье « Гипервизор CentOS 7 I – сети для малых и средних предприятий », использованной для установки этого DNS-DHCP-сервера, и обнаружил, что не знает, как правильно настроить SELinux и брандмауэр CentOS, мы рекомендуем выполнить следующие действия:
Измените файл /etc/sysconfig/selinux и замените SELINUX=enforcing на SELINUX=disable.
[root @ dns ~] # nano / etc / sysconfig / selinux # Этот файл контролирует состояние SELinux в системе. # SELINUX = может принимать одно из трех значений: # enforcing - применяется политика безопасности SELinux. # permissive - SELinux печатает предупреждения вместо принудительного выполнения. # disabled - политика SELinux не загружается. SELINUX = отключено # SELINUXTYPE = может принимать одно из трех двух значений: # target - целевые процессы защищены, # минимум - изменение целевой политики. Только выбранные процессы являются pr $ # mls - многоуровневая защита. SELINUXTYPE = таргетированный
Затем выполните следующие команды
[root @ dns ~] # setenforce 0
[root @ dns ~] # остановка firewalld службы Перенаправление на / bin / systemctl stop firewalld.service [root @ dns ~] # systemctl отключить firewalld Удалена символическая ссылка /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Удалена символическая ссылка /etc/systemd/system/basic.target.wants/firewalld.service.
Если вы внедряете DNS-сервер, доступный из интернета, вам НЕ следует следовать приведенным выше инструкциям. Вместо этого правильно настройте контекст SELinux и брандмауэр. Обратитесь к книге «Настройка серверов с GNU/Linux» Джоэла Барриоса Дуэньяса или к документации CentOS/Red Hat.
Настраиваем BIND - с именем
- El каталог /usr/доля/doc/bind-9.9.4/ содержит большое количество документации, с которой мы рекомендуем вам ознакомиться перед тем, как начать поиск в Интернете, не зная заранее, что у вас под рукой и у себя дома вы можете найти то, что ищете
Во многих дистрибутивах служба DNS, установленная через пакет BIND, называется named ( Name Daemon ). В CentOS 7 она по умолчанию отключена, как показано в выводе следующей команды, которая указывает, что её состояние — " disabled ", и что это состояние предопределено её настройками поставщика . Обратите внимание, что BIND — это свободное программное обеспечение.
Включение названной службы
[root @ dns ~] # имя systemctl status ● named.service - Berkeley Internet Name Domain (DNS) Loaded: загружен (/usr/lib/systemd/system/ named.service; инвалид; предустановка поставщика: отключена) Активный: неактивный (мертвый) [root @ dns ~] # systemctl enable named Создана символическая ссылка из /etc/systemd/system/multi-user.target.wants/ named.service на /usr/lib/systemd/system/ named.service. [root @ dns ~] # systemctl start с именем [root @ dns ~] # имя systemctl status ● named.service - Berkeley Internet Name Domain (DNS) Loaded: загружен (/usr/lib/systemd/system/ named.service; включен; предустановка поставщика: отключена) Активен: активен (работает) с субботы 2017 01:28:13 EST; 22мин назад Процесс: 38 ExecStart = / usr / sbin / named -u named $ OPTIONS (code = exited, status = 5 / SUCCESS) Процесс: 1990 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "да"]; затем / usr / sbin / named-checkconf -z /etc/ named.conf; else echo "Проверка файлов зон отключена"; fi (code = exited, status = 0 / SUCCESS) Основной PID: 1988 (named) CGroup: /system.slice/ named.service └─0 / usr / sbin / named -u named 1993 января 1993:28:13 dns named [22]: ошибка (сеть недоступна) разрешение './NS/IN': 45: 1993: 2001f :: f # 500 2 января 53:28:13 DNS named [22]: ошибка (сеть недоступна) разрешение './ DNSKEY / IN ': 47: 1993: 2001 :: 500 # 3 42 января 53:28:13 DNS named [22]: ошибка (сеть недоступна) при разрешении' ./NS/IN ': 47: 1993: 2001 :: 500 # 3 42 января 53:28:13 DNS named [22]: ошибка (сеть недоступна) при разрешении './DNSKEY/IN': 47: 1993: 2001d :: d # 500 2 января 53:28:13 DNS named [22 ]: ошибка (сеть недоступна) разрешение './NS/IN': 47: 1993: 2001d :: d # 500 2 января 53:28:13 DNS named [22]: ошибка (сеть недоступна) разрешение './DNSKEY/ IN ': 47: dc1993 :: 2001 # 3 35 января 53:28:13 DNS named [22]: ошибка (сеть недоступна) разрешение' ./NS/IN ': 47: dc1993 :: 2001 # 3 35 января 53: 28:13 DNS named [22]: ошибка (сеть недоступна) разрешение './DNSKEY/IN': 47: 1993fe :: 2001 # 7 53 января 53:28:13 DNS named [22]: ошибка (сеть недоступна) res olving './NS/IN': 47: 1993fe :: 2001 # 7 53 января 53:28:13 DNS named [22]: managed-keys-zone: Невозможно получить набор DNSKEY '.': истекло время ожидания [root @ dns ~] # перезапуск systemctl с именем [root @ dns ~] # имя systemctl status ● named.service - Berkeley Internet Name Domain (DNS) загружен: загружен (/usr/lib/systemd/system/ named.service; включен; предустановка поставщика: отключен) Активен: активен (работает) с сб 2017 01:28:13 EST; 29с назад Процесс: 41 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 1> & 1449 || / bin / kill -TERM $ MAINPID (code = exited, status = 2 / SUCCESS) Процесс: 1 ExecStart = / usr / sbin / named -u named $ OPTIONS (code = exited, status = 0 / SUCCESS) Процесс: 1460 ExecStartPre = / bin / bash -c если [! "$ DISABLE_ZONE_CHECKING" == "да"]; затем / usr / sbin / named-checkconf -z /etc/ named.conf; else echo "Проверка файлов зон отключена"; fi (code = exited, status = 0 / SUCCESS) Основной PID: 1457 (named) CGroup: /system.slice/ named.service └─0 / usr / sbin / named -u named 1463 января 1463:28:13 dns named [29]: managed-keys-zone: файл журнала устарел: удаление файла журнала 41 января 1463:28:13 DNS с именем [29]: managed-keys-zone: загруженный серийный номер 41 января 1463 2:28:13 dns named [29]: zone 41.in-addr.arpa/IN: загруженный серийный номер 1463 0 января 0:28:13 DNS named [29]: зона localhost.localdomain / IN: загруженный серийный номер 41 1463 января 0:28:13 dns named [29]: zone 41.in-addr.arpa/IN: loaded serial 1463 1.0.0.127 января 0:28:13 DNS named [29]: zone 41 .1463.ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa / IN: загруженный серийный номер 6 0 января 28:13:29 DNS с именем [41]: зона localhost / IN: загруженный серийный номер 1463 0 января 28 : 13: 29 DNS с именем [41]: загружены все зоны 1463 января 28:13:29 DNS с именем [41]: работает 1463 января 28:13:29 dns systemd [41]: запущен Berkeley Internet Name Domain (DNS).
После первого включения и запуска службы named вывод команды `systemctl status named` показывает ошибки. При перезапуске службы named по умолчанию создает все необходимые для корректной работы конфигурационные файлы. Поэтому при повторном выполнении команды `systemctl status named` ошибки больше не отображаются.
- Дорогой, дорогой и требовательный Читатель: если вы хотите узнать - хотя бы - какой путь ведет к концу кроличьей норы, пожалуйста, спокойно прочитайте подробные выводы каждой команды. Наверняка статья покажется немного длинной, но вы не будете отрицать, что она выигрывает в объяснении и ясности..
Модифицируем файл /etc/ named.conf
Многие комментарии читателей выражают — и я не единственный, кто это говорит — мнение разработчиков различных дистрибутивов Linux о том, что они размещают файлы конфигурации системы в папках с разными именами в зависимости от дистрибутива. И они правы. Но что же можем сделать мы, обычные пользователи этих дистрибутивов? Адаптироваться! 😉
Кстати, в FreeBSD, клоне UNIX® "The Origin", файл находится в /usr/local/etc/namedb/named.conf ; в то время как в Debian, помимо разделения на четыре файла named.conf, named.conf.options, named.conf.default-zones и named.conf.local , он находится в папке /etc/bind/ . Тем, кто хочет узнать, где его размещает openSUSE, следует прочитать статью " DNS и DHCP в openSUSE 13.2 Harlequin – SME Networks ". Читатели правы! 😉
И, как мы всегда делаем: прежде чем что-либо изменять, мы сохраняем исходный конфигурационный файл под другим именем.
[root @ dns ~] # cp /etc/ named.conf /etc/ named.conf.original
Для упрощения задачи, вместо генерации ключа TSIG для динамических обновлений DNS через DHCP, мы копируем тот же файл rndc.key , что и dhcp.key.
[root @ dns ~] # cp /etc/rndc.key /etc/dhcp.key
[root @ dns ~] # nano /etc/dhcp.key
ключ "dhcp-key" {алгоритм hmac-md5; секрет "OI7Vs + TO83L7ghUm2xNVKg =="; };
Для того чтобы указанный пользователь мог прочитать скопированный файл, мы изменяем группу, которой он принадлежит:
[root @ dns ~] # chown root: named /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 корень с именем 77 28 января, 16:36 /etc/dhcp.key -rw-r -----. 1 корень с именем 77 28 января 13:22 /etc/rndc.key
Маленькие детали, подобные предыдущему, - вот что может свести нас с ума, пытаясь понять, теперь ... в чем проблема ...? с еще некоторыми прилагательными, которые мы не пишем из уважения к Респектабельным.
Наконец, мы внесли изменения в файл /etc/named.conf . Изменения или дополнения, внесенные по сравнению с оригиналом, выделены жирным шрифтом . Обратите внимание, что их всего несколько.
[root @ dns ~] # nano /etc/ named.conf
// // named.conf // // Предоставляется пакетом Red Hat bind для настройки ISC BIND named (8) DNS // сервера как кэширующего только сервера имен (только как DNS-преобразователь localhost). // // См. / Usr / share / doc / bind * / sample /, например, именованные файлы конфигурации. //
// Список контроля доступа, указывающий, какие сети смогут обращаться
// мой именованный сервер
акк погряз {
127.0.0.0 / 8;
192.168.10.0 / 24;
};
параметры {
// Я заявляю, что названный демон также слушает интерфейс
// eth0 с IP: 192.168.10.5
порт прослушивания 53 {127.0.0.1; 192.168.10.5; };
порт 6 для прослушивания v53 {:: 1; }; каталог "/ var / named"; дамп-файл "/var/ named/data/cache_dump.db"; файл статистики "/var/ named/data/ named_stats.txt"; memstatistics-файл "/var/ named/data/ named_mem_stats.txt";
// Заявление экспедитора
// экспедиторы {
// 0.0.0.0;
// 1.1.1.1;
//};
// вперед вперед;
// Я разрешаю запросы только к моему заблокированному ACL
разрешить-запрос {mired; }; // Чтобы проверить с помощью команды dig desdelinux.fan axfr // только с рабочей станции системного администратора и локального хоста // У нас нет подчиненных DNS-серверов. Нам это не нужно... до сих пор.
разрешить передачу {localhost; 192.168.10.1; };
/ * - Если вы создаете АВТОРИТЕТНЫЙ DNS-сервер, НЕ включайте рекурсию. - Если вы создаете РЕКУРСИВНЫЙ (кэширующий) DNS-сервер, вам необходимо включить рекурсию. - Если ваш рекурсивный DNS-сервер имеет общедоступный IP-адрес, вы ДОЛЖНЫ включить контроль доступа, чтобы ограничить запросы ваших законных пользователей. В противном случае ваш сервер станет частью крупномасштабных атак с усилением DNS. Внедрение BCP38 в вашей сети значительно уменьшит такую поверхность атаки * /
// Нам нужен АВТОРИТИЧЕСКИЙ сервер для нашей LAN - SME
рекурсия нет;
dnssec-enable да; dnssec-validation да; / * Путь к ISC DLV-ключу * / файл-привязки "/etc/ named.iscdlv.key"; каталог управляемых ключей "/ var / named / dynamic"; pid-файл "/run/ named/ named.pid"; файл ключа сеанса "/run/ named/session.key"; }; ведение журнала {channel default_debug {file "data / named.run"; выраженность динамическая; }; }; зона "." IN {тип подсказки; файл "named.ca"; }; включить "/etc/ named.rfc1912.zones"; включить "/etc/ named.root.key";
// Включаем ключ TSIG для динамического обновления DNS // по DHCP
включить "/etc/dhcp.key";
// Объявление имени, типа, местоположения и разрешения на обновление
// зон записей DNS // Обе зоны - МАСТЕРЫ
зона"desdelinux.вентилятор" {
тип master;
файл «динамический/db.desdelinux.вентилятор";
разрешить обновление {ключ dhcp-key; };
};
зона "10.168.192.in-addr.arpa" {
тип master;
файл "dynamic / db.10.168.192.in-addr.arpa";
разрешить обновление {ключ dhcp-key; };
};
Проверяем синтаксис
[root @ dns ~] # named-checkconf [root @ dns ~] #
Поскольку предыдущая команда ничего не возвращает, синтаксис в порядке. Однако, если мы выполним ту же команду, но с опцией -z , вывод будет следующим:
[root @ dns ~] # named-checkconf -z зона localhost.localdomain/IN: загружена последовательная зона 0 localhost/IN: загружена последовательная зона 0 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: загружена зона последовательного порта 0 1.0.0.127.in-addr.arpa/IN: загружена зона последовательного порта 0 0.in-addr.arpa/IN: загружена зона последовательного порта 0 desdelinux.fan/IN: загрузка из основного файла Dynamic/DB.desdelinuxОшибка .fan: зона файла не найдена desdelinux.fan/IN: не загружен из-за ошибок. _по умолчанию/desdelinux.fan/IN: файл не найден, зона 10.168.192.in-addr.arpa/IN: загрузка из основного файла Dynamic/db.10.168.192.in-addr.arpa не удалась: файл не найден, зона 10.168.192.in- addr.arpa/IN: не загружен из-за ошибок. _default/10.168.192.in-addr.arpa/IN: файл не найден
Конечно, это ошибки, возникающие из-за того, что мы еще не создали зоны регистрации DNS для нашего домена.
- Для получения дополнительной информации о команде именованный-checkconf, бежать человек по имени-checkconf, прежде чем искать любую другую информацию в Интернете. Уверяю вас, это сэкономит много времени.
Создаем файл Direct Zone desdelinux.вентилятор
…но не без сначала небольшой теории.
В качестве шаблона для создания файла данных зоны можно использовать либо /var/named/named.empty , либо /usr/share/doc/bind-9.9.4/sample/var/named/named.empty . Оба варианта идентичны.
[root @ dns ~] # cat /var/ named/ named.empty $ TTL 3H @ IN SOA @ rname.invalid. (0; серийный 1D; обновить 1H; повторить 1W; истечь 3H); минимальное или отрицательное время кеширования для жизни NS @ A 127.0.0.1 AAAA :: 1
Время жизни - Время жить TTL Запись SOA
Давайте на мгновение разберемся с параметром TTL (Time to Live) — временем жизни — записи SOA (Start of Authority) для главной зоны. Понимание его значения полезно, когда мы хотим изменить любое из его значений.
$TTL : Время жизни – время жизни для всех записей в файле, следующих за объявлением (но предшествующих любому другому объявлению $TTL) и не имеющих явного объявления TTL.
Серийный номер : Порядковый номер данных зоны. Каждый раз, когда мы вручную изменяем запись DNS в зоне, мы должны увеличивать этот номер на 1, особенно если у нас есть подчиненные или вторичные серверы. Каждый раз, когда вторичный или подчиненный DNS-сервер связывается со своим главным сервером, он запрашивает серийный номер данных главного сервера. Если серийный номер подчиненного сервера ниже, то данные для этой зоны на подчиненном сервере устарели, и подчиненный сервер выполняет передачу зоны для ее обновления.
refresh : Указывает подчиненному серверу временной интервал, через который он должен проверять, актуальны ли его данные по сравнению с данными главного сервера.
retry : Если главный сервер недоступен для подчиненного сервера (например, из-за сбоя) , то retry указывает подчиненному серверу, как долго следует ждать, прежде чем снова пытаться связаться с главным сервером.
Истечение срока действия : Если подчиненный сервер не может связаться со своим главным сервером в течение заданного интервала времени , то связь между зоной подчиненного и главного серверов нарушается, и подчиненному серверу ничего не остается, кроме как истечь срок действия соответствующей зоны. Истечение срока действия зоны подчиненным DNS-сервером означает, что он перестанет отвечать на DNS-запросы, связанные с этой зоной, поскольку доступные данные слишком устарели, чтобы быть полезными.
- Вышеупомянутое косвенно учит нас и наполнено большим здравым смыслом - наименее распространенным из смыслов - что, если нам не нужны подчиненные DNS-серверы для работы нашего SME, мы не реализуем их, если они не являются строго необходимыми. Давайте всегда стараемся перейти от простого к сложному.
Минимальное значение : В версиях до BIND 8.2 последняя запись SOA также указывает время жизни по умолчанию и время жизни отрицательного кэширования для зоны. Это время относится ко всем отрицательным ответам, предоставленным авторитетным сервером для зоны.
Файл зоны /var/named/dynamic/db.desdelinux.вентилятор
[root@dns ~]# nano /var/named/dynamic/db.desdelinux.вентилятор $TTL 3H @ В SOA DNS.desdelinux.вентилятор. root.dns.desdelinux.вентилятор. (1; последовательный порт 1D; обновление 1H; повтор 1W; срок действия 3H); минимум или ; Отрицательное время жизни кэширования; @ В НС DNS.desdelinux.вентилятор. @ IN MX 10 электронная почта.desdelinux.вентилятор. @ IN TXT "FromLinux, ваш блог, посвященный свободному программному обеспечению" ; sysadmin IN A 192.168.10.1 ad-dc IN A 192.168.10.3 файловый сервер IN A 192.168.10.4 DNS IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8. 192.168.10.9 почта IN A XNUMX
Проверяем /var/named/dynamic/db.desdelinux.вентилятор
[root@dns ~]# именованная контрольная зона desdelinux.fan /var/named/dynamic/db.desdelinux.вентилятор зона desdelinux.fan/IN: загружен серийный номер 1, ОК
Создаем файл Reverse Zone 10.168.192.in-addr.arpa
- Запись SOA этой зоны такая же, как запись прямой зоны, без учета записи MX..
[корень @ dns ~] # nano /var/ named/dynamic/db.10.168.192.in-addr.arpa $TTL 3H @ В SOA DNS.desdelinux.вентилятор. root.dns.desdelinux.вентилятор. (1; последовательный порт 1D; обновление 1H; повтор 1W; срок действия 3H); минимум или ; Отрицательное время жизни кэширования; @ В НС DNS.desdelinux.вентилятор. ; 1 В ПТР сисадмин.desdelinux.вентилятор. 3 IN PTR ad-dc.desdelinux.вентилятор. Файловый сервер 4 IN PTR.desdelinux.вентилятор. 5 В ПТР днс.desdelinux.вентилятор. 6 В PTR proxyweb.desdelinux.вентилятор. 7 IN PTR блог.desdelinux.вентилятор. 8 IN PTR фтп-сервер.desdelinux.вентилятор. 9 В ПТР почте.desdelinux.вентилятор. [root @ dns ~] # named-checkzone 10.168.192.in-addr.arpa /var/ named/dynamic/db.10.168.192.in-addr.arpa зона 10.168.192.in-addr.arpa/IN: загружен серийный номер 1 ОК
Перед перезапуском named проверяем его конфигурацию
- Пока мы не убедимся, что файлы конфигурации named.conf и его файлы зон настроены неправильно, мы рекомендуем не перезапускать указанный демон. Если мы сделаем это и позже изменим файл зоны, мы должны увеличить серийный номер измененной зоны на 1.
- Давайте посмотрим на "." в конце имен домена и хоста.
[root @ dns ~] # named-checkconf [root @ dns ~] # named-checkconf -z зона localhost.localdomain/IN: загружена последовательная зона 0 localhost/IN: загружена последовательная зона 0 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: загружена зона последовательного порта 0 1.0.0.127.in-addr.arpa/IN: загружена зона последовательного порта 0 0.in-addr.arpa/IN: загружена зона последовательного порта 0 desdelinux.fan/IN: загружена зона серийного номера 1 10.168.192.in-addr.arpa/IN: загружена зона серийного номера 1
Вся текущая именованная конфигурация
Для большей ясности, и хотя статья получится длинной, мы приводим полный вывод команды named-checkconf -zp :
[root @ dns ~] # named-checkconf -zp
зона localhost.localdomain/IN: загружена последовательная зона 0 localhost/IN: загружена последовательная зона 0 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: загружена зона последовательного порта 0 1.0.0.127.in-addr.arpa/IN: загружена зона последовательного порта 0 0.in-addr.arpa/IN: загружена зона последовательного порта 0 desdelinux.fan/IN: загружена зона последовательного порта 1 10.168.192.in-addr.arpa/IN: загружены параметры последовательного порта 1 {bindkeys-file "/etc/named.iscdlv.key"; файл сессионного ключа "/run/named/session.key"; каталог "/var/named"; файл дампа "/var/named/data/cache_dump.db"; порт прослушивания 53 { 127.0.0.1/32; 192.168.10.5/32; }; прослушивание-on-v6 порт 53 { ::1/128; }; каталог управляемых ключей "/var/named/dynamic"; файл-memstatistics "/var/named/data/named_mem_stats.txt"; pid-файл "/run/named/named.pid"; файл статистики "/var/named/data/named_stats.txt"; dnssec-включить да; DNSSEC-проверка да; рекурсия нет; разрешить-запрос { "смотрел"; }; разрешить передачу { 192.168.10.1/32; }; }; acl "смотрел" { 127.0.0.0/8; 192.168.10.0/24; }; регистрация {канал "default_debug" {файл "data/named.run"; динамическая тяжесть; }; }; ключ «dhcp-key» {алгоритм «hmac-md5»; секрет "OI7Vs+TO83L7ghUm2xNVKg=="; }; зона "." IN { введите подсказку; файл «named.ca»; }; зона «localhost.localdomain» IN { type master; файл «named.localhost»; разрешить обновление { "нет"; }; }; зона «localhost» IN { type master; файл «named.localhost»; разрешить обновление { "нет"; }; }; зона "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; файл «named.loopback»; разрешить обновление { "нет"; }; }; зона "1.0.0.127.in-addr.arpa" IN { type master; файл «named.loopback»; разрешить обновление { "нет"; }; }; зона "0.in-addr.arpa" IN { type master; файл "named.empty"; разрешить обновление { "нет"; }; }; зона"desdelinux.fan" { type master; файл "dynamic/db.desdelinux.fan";allow-update {key "dhcp-key"; }; }; зона "10.168.192.in-addr.arpa" { type master; файл "dynamic/db.10.168.192.in-addr.arpa" "; разрешить-обновление { ключ "dhcp-key"; }; }; управляемые ключи { "." g 257NfnfL3MTJRkxoX bfDaUeVPQuYEhg8NZWAJQ6VnMVDxP/VHL7M/QZxkjf9/Efucp29gaD F0dsV8DoBQzgul6sGIcGOYl58OyQdXfZ0relS Qageu+ipAdTTJ0AsRTAoub8ONGcLmqrAmRLKBP 0dfwhYB2N37knNnulq QxA +Uk9ihz496="; };
- Следуя процедуре модификации именованный.conf В соответствии с нашими потребностями и проверкой, созданием каждого файла зоны и его проверкой, мы сомневаемся, что нам придется столкнуться с серьезными проблемами конфигурации. В конце концов мы понимаем, что это детская игра с множеством концепций и суетливым синтаксисом..
Проверки дали удовлетворительные результаты, поэтому мы можем перезапустить BIND с именем.
Перезапускаем названный и проверяем его статус
[root @ dns ~] # перезапуск systemctl named.service [root @ dns ~] # статус systemctl named.service
Если в выводе последней команды возникнут ошибки, следует перезапустить named.service и снова проверить его состояние . Если ошибки исчезнут, служба успешно запустилась. В противном случае следует внимательно проверить все измененные и созданные файлы и повторить процедуру.
Правильный вывод статуса должен быть:
[root @ dns ~] # статус systemctl named.service ● named.service - Berkeley Internet Name Domain (DNS) Загружено: загружено (/usr/lib/systemd/system/ named.service; включено; предустановка поставщика: выключено) Активно: активный (работает) с воскресенья 2017 января 01 г., 29:10:05 EST; 32 минуты 2 секунд назад Процесс: 57 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 1777>&2 || /bin/kill -TERM $MAINPID (код=выход, статус=1/УСПЕХ) Процесс: 0 ExecStart=/usr/sbin/named -u с именем $OPTIONS (код=выход, статус=1788/УСПЕХ) Процесс: 0 ExecStartPre =/bin/bash -c если [ ! "$DISABLE_ZONE_CHECKING" == "да" ]; затем /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Проверка файлов зоны отключена"; fi (code=exited, status=1786/SUCCESS) Основной PID: 0 (по имени) CGroup: /system.slice/named.service └─1791 /usr/sbin/named -u по имени 1791 января 29:10:05 имя DNS [32]: зона 1791.in-addr.arpa/IN: загружен серийный номер 1.0.0.127 января 0 29:10:05 DNS с именем [32]: зона 1791.in-addr.arpa/IN: загружен серийный номер 10.168.192 января 1 29:10:05 DNS с именем [32]: зона 1791.ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN : загружен серийный номер 6 0 января 29:10:05 DNS с именем [32]: зона desdelinux.fan/IN: загружен серийный номер 1 января 29 10:05:32 DNS с именем [1791]: зона localhost.localdomain/IN: загружен серийный номер 0 января 29 10:05:32 DNS с именем [1791]: зона localhost/IN: загружен серийный номер 0 29 января 10:05:32 DNS с именем [1791]: все зоны загружены 29 января 10:05:32 DNS с именем [1791]: Бег 29 января 10:05:32 dns systemd [1]: Запущен домен имен в Интернете (DNS) Berkeley. 29 января 10:05:32 DNS с именем [1791]: зона 10.168.192.in-addr.arpa/IN: отправка уведомлений (серийный номер 1)
Проверяет
Проверки могут выполняться на том же сервере или на машине, подключенной к локальной сети. Мы предпочитаем делать их из команды сисадмин.desdelinux.вентилятор которому мы дали явное разрешение на выполнение Зональных переводов. Файл / Etc / resolv.conf в составе этой команды:
buzz @ sysadmin: ~ $ cat /etc/resolv.conf # Создано поиском NetworkManager desdelinuxСервер имен .fan 192.168.10.5 buzz@sysadmin:~$ копать desdelinux.fan axfr ; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.fan axfr ;; глобальные параметры: +cmd desdelinux.вентилятор. 10800 В SOA DNS.desdelinux.вентилятор. root.dns.desdelinux.вентилятор. 1 86400 3600 604800 10800 desdelinux.вентилятор. 10800 ИН НС днс.desdelinux.вентилятор. desdelinux.вентилятор. Электронная почта 10800 IN MX 10.desdelinux.вентилятор. desdelinux.вентилятор. 10800 IN TXT «FromLinux, ваш блог, посвященный бесплатному программному обеспечению» ad-dc.desdelinux.вентилятор. 10800 В блоге 192.168.10.3.desdelinux.вентилятор. 10800 В 192.168.10.7 днс.desdelinux.вентилятор. Файловый сервер 10800 IN TO 192.168.10.5.desdelinux.вентилятор. 10800 IN FTP-сервер 192.168.10.4.desdelinux.вентилятор. 10800 IN Почта 192.168.10.8.desdelinux.вентилятор. 10800 IN Прокси-сервер 192.168.10.9.desdelinux.вентилятор. 10800 IN и сисадмин 192.168.10.6.desdelinux.вентилятор. 10800 ВХОД 192.168.10.1 desdelinux.вентилятор. 10800 В SOA DNS.desdelinux.вентилятор. root.dns.desdelinux.вентилятор. 1 86400 3600 604800 10800 ;; Время запроса: 0 мс ;; СЕРВЕР: 192.168.10.5#53(192.168.10.5) ;; КОГДА: воскресенье, 29 января, 11:44:18 EST 2017 ;; Размер XFR: 13 записей (сообщений 1, 385 байт) buzz @ sysadmin: ~ $ dig 10.168.192.in-addr.arpa axfr ; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> 10.168.192.in-addr.arpa axfr ;; глобальные параметры: +cmd 10.168.192.in-addr.arpa. 10800 В SOA DNS.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 ИН НС днс.desdelinux.вентилятор. 1.10.168.192.in-addr.arpa. 10800 В ПТР сисадмина.desdelinux.вентилятор. 3.10.168.192.in-addr.arpa. 10800 IN PTR ad-dc.desdelinux.вентилятор. 4.10.168.192.in-addr.arpa. Файловый сервер 10800 IN PTR.desdelinux.вентилятор. 5.10.168.192.in-addr.arpa. 10800 В ПТР днс.desdelinux.вентилятор. 6.10.168.192.in-addr.arpa. 10800 В PTR proxyweb.desdelinux.вентилятор. 7.10.168.192.in-addr.arpa. 10800 В блоге PTR.desdelinux.вентилятор. 8.10.168.192.in-addr.arpa. 10800 IN PTR фтп-сервер.desdelinux.вентилятор. 9.10.168.192.in-addr.arpa. 10800 В ПТР почте.desdelinux.вентилятор. 10.168.192.in-адрес.arpa. 10800 В SOA DNS.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 ;; Время запроса: 0 мс ;; СЕРВЕР: 192.168.10.5#53(192.168.10.5) ;; КОГДА: воскресенье, 29 января, 11:44:57 EST 2017 ;; Размер XFR: 11 записей (сообщений 1, 352 байта) buzz@sysadmin:~$ покопаться в SOA desdelinux.вентилятор buzz@sysadmin:~$ копай IN MX desdelinux.fan buzz@sysadmin:~$ копать в TXT desdelinux.вентилятор buzz @ sysadmin: ~ $ host dns DNS.desdelinux.fan имеет адрес 192.168.10.5 buzz @ sysadmin: системный администратор ~ $ host сисадмин.desdelinuxУ .fan адрес 192.168.10.1... И любые другие проверки, которые нам нужны
- На данный момент у нас есть основа для DNS-сервера в нашей сети малого и среднего бизнеса. Мы надеемся, что вам понравилась вся процедура, ведь она была довольно простой, не так ли?
Устанавливаем и настраиваем DHCP
[root @ dns ~] # ням установить dhcp
Загруженные плагины: fastestmirror, языковые пакеты на базе centos | 3.4 кБ 00:00:00 centos-updates | 3.4 кБ 00:00:00 Скорость загрузки зеркала из кэшированного хост-файла Разрешение зависимостей -> Запуск теста транзакции ---> Пакет dhcp.x86_64 12: 4.2.5-42.el7.centos должен быть установлен -> Разрешение зависимостей прекращено Resolved Dependencies = ============================================ ====== ========================================== ======== =========================== Размер репозитория версии архитектуры пакета =========== ======= ========================================== ======== ========================================= ========= ============= Установка: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k Сводка транзакции ==== ============= ==================================== ============== ================================== ================ ============ Установить 1 пакет Общий размер загрузки: 511k Установленный размер: 1.4 M Это нормально [y / d / N]: y Скачивание пакетов: dhcp-4.2.5-42.el7. centos.x86_64.rpm | 511 kB 00:00:00 Выполняется проверка транзакции Выполняется проверка транзакции. Проверка транзакции успешно завершена. Выполняется транзакция. Установка: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Проверка: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Установлено: dhcp.x86_64 12: 4.2.5-42.el7.centos Готово!
[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # Файл конфигурации DHCP-сервера. # см. /usr/share/doc/dhcp*/dhcpd.conf.example # см. справочную страницу dhcpd.conf(5) # ddns-update-style interim; ddns-обновления включены; ddns-имя_домена "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; игнорировать обновления клиента; авторитетный; опция ip-переадресации отключена; опция имя-домена "desdelinux.fan"; # опция ntp-серверы 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; включить "/etc/dhcp.key" ; зона desdelinux.вентилятор. { первичный 127.0.0.1; ключ DHCP-ключ; } зона 10.168.192.in-addr.arpa. { первичный 127.0.0.1; ключ DHCP-ключ; } Общая сеть redlocal { подсеть 192.168.10.0 маска сети 255.255.255.0 {опция маршрутизаторы 192.168.10.1; опция маски подсети 255.255.255.0; вариант широковещательного адреса 192.168.10.255; опция серверов доменных имен 192.168.10.5; опция netbios-name-servers 192.168.10.5; диапазон 192.168.10.30 192.168.10.250; } } # КОНЕЦ dhcpd.conf
[root @ dns ~] # dhcpd -t
Сервер DHCP 4.2.5 Консорциума Интернет-систем Авторские права 2004-2013 гг. Консорциум Интернет-систем. Все права защищены. Для получения информации посетите https://www.isc.org/software/dhcp/ Не выполняет поиск по LDAP, поскольку ldap-server, ldap-port и ldap-base-dn не были указаны в файле конфигурации.
[root @ dns ~] # systemctl включить dhcpd
Создана символическая ссылка из /etc/systemd/system/multi-user.target.wants/dhcpd.service на /usr/lib/systemd/system/dhcpd.service.
[root @ dns ~] # systemctl start dhcpd
[root @ dns ~] # systemctl status dhcpd
● dhcpd.service - демон сервера DHCPv4 загружен: загружен (/usr/lib/systemd/system/dhcpd.service; включен; предустановка поставщика: отключен) Active: активен (работает) с 2017 января 01 г., 29:12:04 ЕГО Т; 59с назад Документы: man: dhcpd (23) man: dhcpd.conf (8) Основной PID: 5 (dhcpd) Статус: «Отправка пакетов ...» CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid 2381 января 29:12:04 dns dhcpd [59]: DHCP-сервер Консорциума Интернет-систем 2381 4.2.5 января 29 : 12: 04 dns dhcpd [59]: Copyright 2381-2004 Консорциум Интернет-систем. 2013 января 29:12:04 dns dhcpd [59]: Все права защищены. 2381 января, 29:12:04 dns dhcpd [59]: Для получения информации посетите https://www.isc.org/software/dhcp/ 2381 января 29:12:04 dns dhcpd [59]: не выполняет поиск по LDAP с ldap -server, ldap-port и ldap-base-dn не были указаны в файле конфигурации 2381 января 29:12:04 dns dhcpd [59]: записано 2381 договоров аренды в файл аренды. 0 января 29:12:04 dns dhcpd [59]: Прослушивание на LPF / eth2381 / 0: 52: 54: 00: 12: 17 / redlocal 04 января 29:12:04 dns dhcpd [59]: Отправка на LPF / eth2381 / 0: 52: 54: 00: 12: 17 / redlocal 04 января 29:12:04 dns dhcpd [59]: отправка в Socket / fallback / fallback-net 2381 января 29:12:04 dns systemd [59]: запущена Демон сервера DHCPv1.
Что осталось сделать?
Просто. Запустите Windows 7 или другой клиент с бесплатным программным обеспечением и начните тестирование и проверку. Мы сделали это с двумя клиентами: Семь.desdelinux.вентилятор y suse-рабочий стол.desdelinux.вентилятор. Проверки были следующими:
buzz @ sysadmin: ~ $ host семь Семь.desdelinux.fan имеет адрес 192.168.10.30 buzz@sysadmin:~$ хост семь.desdelinux.вентилятор Семь.desdelinux.fan имеет адрес 192.168.10.30 buzz@sysadmin:~$ покопайтесь в TXT семь.desdelinux.вентилятор .... ;; РАЗДЕЛ ВОПРОСОВ: ;семь.desdelinux.вентилятор. В ТЕКСТ ;; РАЗДЕЛ ОТВЕТОВ: семь.desdelinux.вентилятор. 3600 В ТЕКСТ"31b7228ddd3a3b73be2fda9e09e601f3e9"....
Переименовываем команду «семерка» в «LAGER» и перезагружаемся. После перезапуска нового LAGER проверяем:
buzz @ sysadmin: ~ $ host семь Седьмой хост не найден: 5 (ОТКАЗАНО) buzz@sysadmin:~$ хост семь.desdelinux.вентилятор Хост семь.desdelinux.fan не найден: 3(NXDOMAIN) жужжание@sysadmin: ~ $ хост лагера лагер.desdelinux.fan имеет адрес 192.168.10.30 жужжание@sysadmin:~$хост-лагер.desdelinux.вентилятор лагер.desdelinux.fan имеет адрес 192.168.10.30 buzz@sysadmin:~$ покопайтесь в лагере TXT.desdelinux.вентилятор .... ;; РАЗДЕЛ ВОПРОСОВ: ;лагер.desdelinux.вентилятор. В ТЕКСТ ;; РАЗДЕЛ ОТВЕТОВ: лагер.desdelinux.вентилятор. 3600 В ТЕКСТ"31b7228ddd3a3b73be2fda9e09e601f3e9"....
По поводу клиента suse-desktop:
buzz @ sysadmin: ~ $ host suse-dektop Хост suse-dektop не найден: 5 (ОТКАЗАНО) buzz @ sysadmin: ~ $ host suse-desktop suse-рабочий стол.desdelinux.fan имеет адрес 192.168.10.33 buzz@sysadmin:~$ хост suse-desktop.desdelinux.вентилятор suse-рабочий стол.desdelinux.fan имеет адрес 192.168.10.33 buzz @ sysadmin: ~ $ host 192.168.10.33 33.10.168.192.in-addr.arpa указатель доменного имени suse-desktop.desdelinux.вентилятор. buzz @ sysadmin: ~ $ host 192.168.10.30 30.10.168.192.in-addr.arpa указатель доменного имени LAGER.desdelinux.вентилятор.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33 .... ;; РАЗДЕЛ ВОПРОСОВ: ;33.10.168.192.in-addr.arpa. В PTR ;; РАЗДЕЛ ОТВЕТОВ: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.desdelinux.вентилятор. ;; РАЗДЕЛ АВТОРСТВА: 10.168.192.in-addr.arpa. 10800 ИН НС днс.desdelinux.вентилятор. ;; ДОПОЛНИТЕЛЬНЫЙ РАЗДЕЛ: dns.desdelinux.вентилятор. 10800 ВХ 192.168.10.5 .... buzz@sysadmin:~$ копать в TXT suse-desktop.desdelinux.вентилятор.... ;suse-рабочий стол.desdelinux.вентилятор. В ТЕКСТ ;; РАЗДЕЛ ОТВЕТОВ: suse-desktop.desdelinux.вентилятор. 3600 В ТЕКСТ "31b78d287769160c93e6dca472e9b46d73" ;; РАЗДЕЛ АВТОРИТЕТА: desdelinux.вентилятор. 10800 ИН НС днс.desdelinux.вентилятор. ;; ДОПОЛНИТЕЛЬНЫЙ РАЗДЕЛ: dns.desdelinux.вентилятор. 10800 ВХ 192.168.10.5 ....
Также выполним следующие команды
[root@dns ~]# копать desdelinux.fan axfr ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.fan axfr ;; глобальные параметры: +cmd desdelinux.вентилятор. 10800 В SOA DNS.desdelinux.вентилятор. root.dns.desdelinux.вентилятор. 6 86400 3600 604800 10800 desdelinux.вентилятор. 10800 ИН НС днс.desdelinux.вентилятор. desdelinux.вентилятор. Электронная почта 10800 IN MX 10.desdelinux.вентилятор. desdelinux.вентилятор. 10800 IN TXT «FromLinux, ваш блог, посвященный бесплатному программному обеспечению» ad-dc.desdelinux.вентилятор. 10800 В блоге 192.168.10.3.desdelinux.вентилятор. 10800 В 192.168.10.7 днс.desdelinux.вентилятор. Файловый сервер 10800 IN TO 192.168.10.5.desdelinux.вентилятор. 10800 IN FTP-сервер 192.168.10.4.desdelinux.вентилятор. 10800 В 192.168.10.8 ЛАГЕРЕ.desdelinux.вентилятор. 3600 В ТЕКСТ"31b7228ddd3a3b73be2fda9e09e601f3e9«ЛАГЕР.desdelinux.вентилятор. 3600 В электронном письме 192.168.10.30.desdelinux.вентилятор. 10800 IN Прокси-сервер 192.168.10.9.desdelinux.вентилятор. 10800 IN A 192.168.10.6 Suse-рабочий стол.desdelinux.вентилятор. 3600 В ТЕКСТ"31b78d287769160c93e6dca472e9b46d73"suse-рабочий стол.desdelinux.вентилятор. 3600 У сисадмина 192.168.10.33.desdelinux.вентилятор. 10800 ВХОД 192.168.10.1 desdelinux.вентилятор. 10800 В SOA DNS.desdelinux.вентилятор. root.dns.desdelinux.вентилятор. 6 86400 3600 604800 10800
В предыдущем выводе мы выделили жирным шрифтом значения TTL (в секундах) для устройств с IP-адресами, назначенными службой DHCP, у которых явно указано значение TTL, равное 3600, предоставленное DHCP. Статические IP-адреса регулируются значением TTL, равным 3H (3 часа = 10800 секунд), указанным в записи SOA каждого файла зоны.
Таким же образом они могут проверить обратную зону.
[root @ dns ~] # dig 10.168.192.in-addr.arpa axfr
Другие чрезвычайно интересные команды:
[root@dns ~]# name-journalprint /var/named/dynamic/db.desdelinux.fan.jnl [root @ dns ~] # named-journalprint /var/ named/dynamic/db.10.168.192.in-addr.arpa.jnl [root @ dns ~] # journalctl -f
Ручная модификация файлов Zones
После того, как DHCP начнет динамически обновлять файлы зон именованного сервера , если нам когда-либо потребуется вручную изменить файл зоны, мы должны выполнить следующую процедуру, но не раньше, чем немного узнаем о том, как работает утилита rndc для управления сервером имен.
[root @ dns ~] # человек rndc
....
заморозить [зона [класс [вид]]]
Приостановить обновления в динамической зоне. Если зона не указана, все зоны приостанавливаются. Это позволяет вручную вносить изменения в зону, обычно обновляемую посредством динамического обновления. Это также приводит к тому, что изменения в файле журнала синхронизируются с основным файлом. Все попытки динамического обновления будут отклонены, пока зона заморожена.
оттепель [зона [класс [вид]]]
Включите обновления для замороженной динамической зоны. Если зона не указана, то включены все замороженные зоны. Это заставляет сервер перезагружать зону с диска и повторно включать динамические обновления после завершения загрузки. После размораживания зоны в динамических обновлениях больше не будет отказываться. Если зона была изменена и используется параметр ixfr-from-sizes, то файл журнала будет обновлен, чтобы отразить изменения в зоне. В противном случае, если зона была изменена, любой существующий файл журнала будет удален. ....
Вы что, думали, я весь мануал перепишу?... кусок и они едут на машине. Остальное я оставляю вам.
в основном:
- rndc freeze [зона [класс [просмотр]]], приостанавливает динамическое обновление зоны. Если один не указан, все зависнет. Команда позволяет вручную редактировать замороженную зону или все зоны. Любое динамическое обновление будет отклонено, пока оно заморожено.
- rndc оттепель [зона [класс [просмотр]]], включает динамические обновления в ранее замороженной зоне. DNS-сервер перезагружает файл зоны с диска, и после завершения перезагрузки снова включаются динамические обновления.
Какие меры предосторожности следует соблюдать при ручном редактировании файла зоны? Те же, что и при его создании: перед сохранением файла с окончательными изменениями необходимо увеличить порядковый номер на 1.
пример:
[root @ dns ~] # rndc freeze desdelinux.вентилятор
[root@dns ~]# nano /var/named/dynamic/db.desdelinux.вентилятор
Я модифицирую файл зоны по любой причине, нужна она или нет. Сохраняю изменения
[root @ dns ~] # rndc thaw desdelinux.вентилятор
Началась перезагрузка зоны и оттаивание. Проверьте логи, чтобы увидеть результат.
[root @ dns ~] # journalctl -f
29 января 14:06:46 DNS с именем [2257]: зона оттаивания 'desdelinux.fan/IN': успех
29 января, 14:06:46 DNS с именем [2257]: зона desdelinux.fan/IN: серийный номер зоны (6) без изменений. зона может не быть передана подчиненным устройствам.
29 января, 14:06:46 DNS с именем [2257]: зона desdelinux.fan/IN: загружен серийный номер 6
Ошибка в предыдущем выводе, которая отображается красным цветом на консоли, связана с тем, что я «забыл» увеличить серийный номер на 1. Если бы я правильно выполнил процедуру, вывод был бы следующим:
[root @ dns ~] # journalctl -f -- Журналы начинаются в воскресенье 2017 января 01 г., 29:08:31 EST. -- 32 января 29:14:06 DNS с именем [46]: зона desdelinux.fan/IN: загружен серийный номер 6 января 29 14:10:01 DNS systemd[1]: запущен сеанс 43 пользователя root. 29 января 14:10:01 DNS systemd[1]: запуск сеанса 43 пользователя root. 29 января 14:10:01 DNS CROND [2693]: (корневой) CMD (/usr/lib64/sa/sa1 1 1) 29 января 14:10:45 DNS с именем [2257]: получена команда канала управления «заморозить» desdelinux.fan' 29 января 14:10:45 DNS с именем [2257]: зона замораживания 'desdelinux.fan/IN': успех, 29 января 14:10:58 DNS с именем [2257]: получена команда канала управления 'thaw desdelinux.fan' 29 января 14:10:58 DNS с именем [2257]: зона оттаивания 'desdelinux.fan/IN': успех 29 января 14:10:58 DNS с именем [2257]: зона desdelinux.fan/IN: файл журнала устарел: удаление файла журнала 29 января 14:10:58 DNS с именем [2257]: зона desdelinux.fan/IN: загружен серийный номер 7
- Читатели друзья, я повторяю, что вы должны внимательно прочитать выводы команд. Для чего-то его разработчики потратили столько труда на программирование каждой команды, какой бы простой она ни была..
Резюме
До сих пор мы рассматривали реализацию пары DNS-DHCP, важных и важных услуг для хорошей производительности нашей сети SME, имея в виду предоставление динамических адресов через DHCP и разрешение имен компьютеров и доменов через DNS.
Мы серьезно надеемся, что вам понравилась вся процедура, как и нам. Хотя использование консоли может показаться более сложным, гораздо проще и образовательнее реализовать службу в UNIX® / Linux с ее помощью.
Простите мне любую неправильную интерпретацию концепций, созданных, написанных, пересмотренных, переписанных и опубликованных на языке Шекспира, а не Сервантеса.
Следующая доставка
Я думаю, что немного больше того же - с теоретическими дополнениями к записям DNS - но в Debian. Мы не можем забыть это распределение, верно?