DNS і DHCP в CentOS 7 - мережі SMB

Загальний покажчик серії: Комп’ютерні мережі для МСП: Вступ

Привіт, друзі!. У цій статті ми побачимо, як ми можемо реалізувати важливу пару служб для мереж, створених DNS і DHCP на CentOS - Linux, зокрема у його версії 7.2.

  • Деякі статті про DNS посилаються на той факт, що реалізація цієї послуги є трохи неясною та складною. Я не дуже погоджуюся з цим твердженням. Я б скоріше сказав, що це трохи концептуально, і що багато його конфігураційних файлів мають суєтний синтаксис. На щастя, у нас є інструменти для покрокової перевірки синтаксису кожного конфігураційного файлу, який ми модифікуємо. Тому ми постараємось зробити це читання якомога приємнішим та приємнішим..

Тим, хто шукає базові поняття про обидва сервіси, настійно рекомендуємо розпочати пошук у Вікіпедії як в іспанській, так і в англійській версіях. Не менш вірно, що статті англійською мовою майже завжди є більш повними та послідовними. І все-таки Вікіпедія - дуже хороша відправна точка.

Тим, хто дійсно хоче дізнатися про DNS та BIND, рекомендуємо прочитати книгу «OReilly - DNS і BIND 4ed" написано Павло Альбітц y Крикет Лю, або пізнішого видання, яке, безсумнівно, існує.

Ми вже опублікували статтю на цю тему під назвою «DNS і DHCP у openSUSE 13.2 Арлекін - Мережі МСП»Для любителів графічного середовища. Однак відтепер вони стикатимуться зі статтями на цю тему, а не на інші, написаними із великим використанням емулятора терміналу чи консолі. Ого, у класичному стилі, що використовується системними адміністраторами UNIX® / Linux.

Якщо ви хочете дізнатись більше про прізвище назви цієї статті «Мережі МСП»Ви можете відвідати сторінку цього блогу«Мережі МСП: перший віртуальний виріз«. У ньому ви знайдете посилання на багато інших опублікованих статей.

  • Після завершення встановлення операційної системи CentOS 7 із пакетами, які ми рекомендуємо, el каталог /usr/share/doc/bind-9.9.4/ Він містить велику кількість документації, з якою ми рекомендуємо проконсультуватися перед тим, як займатись пошуком в Інтернеті, не знаючи попередньо, що під рукою та у власному домі ви можете знайти те, що шукаєте.

Встановлення базової системи

Загальні дані домену та DNS-сервера

Доменне ім'я: desdelinux.fan
Ім'я DNS-сервера: dns.desdelinux.fan
IP-адреса: 192.168.10.5
Маска підмережі: 255.255.255.0

Установка

Ми починаємо з нової чи чистої інсталяції операційної системи CentOS 7, як зазначено в попередній статті «Гіпервізор CentOS 7 I - мережі SMB«. Нам потрібно лише внести такі зміни:

  • В Imagen 22 «ВИБІР ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ«, Радимо вибрати в лівій колонці«Базове середовище»Опція, що відповідає«Сервер інфраструктури«, А в правій колонці«Плагіни для вибраного середовища»Установіть прапорець«Сервер імен DNS«. Ми встановимо сервер DHCP пізніше.
  • Давайте згадаємо декларацію додаткових сховищ, як показано в Imagen 23, встановивши «НАЗВАННЯ МЕРЕЖІ ТА КОМАНДИ".
  • Зображення, що стосуються розділів, які ми створимо на нашому жорсткому диску, подані лише в якості орієнтирів. Не соромтеся вибирати розділи на власний розсуд, практику та розумне судження.
  • Нарешті, в Зображення 13 «НАЗВАННЯ МЕРЕЖІ ТА КОМАНДИ», ми повинні змінювати значення відповідно до загальних параметрів оголошеного домену та DNS-сервера, не забуваючи вказати ім'я хоста - в даному випадку «DNS«- після завершення конфігурації мережі. Це позитивно робити пінг -з іншого хосту - до вказаної IP-адреси після активації мережі:

DNS і DHCP на CentOS

Насправді мало і дуже очевидних змін, які ми повинні зробити щодо попередньої статті.

Початкові перевірки та коригування

Після встановлення операційної системи ми повинні переглянути принаймні наступні файли, і для цього ми розпочнемо сеанс через SSH з нашого комп’ютера системний адміністратор.desdelinux.fan:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
Пароль buzz@192.168.10.5: Останній логін: Сб 28 січня 09:48:05 2017 від 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, налаштовано за замовчуванням, коли Менеджер мереж так що це той, хто управляє мережевими інтерфейсами, будь то дротові або бездротові (WiFi), VPN-з'єднання, з'єднання PPPoE та будь-яке інше мережеве з'єднання.

[buzz @ dns ~] $ sudo systemctl status networkmanager
[sudo] пароль для сповіщення: ● networkmanager.service Завантажено: не знайдено (Причина: такого файлу чи каталогу немає) Активний: неактивний (мертвий)

[buzz @ dns ~] $ sudo systemctl статус NetworkManager
● NetworkManager.service - Менеджер мережі завантажено: завантажено (/usr/lib/systemd/system/NetworkManager.service; увімкнено; постачальник попередньо встановлений: увімкнено) Активний: активний (працює) з сб 2017-01-28 12:23:59 EST; 12 хвилин тому Основний PID: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager --no-daemon

Red Hat - CentOS також дозволяє підключати та відключати мережеві інтерфейси за допомогою класичних команд ifup e якщо вниз. Давайте запустимо на консолі сервера:

[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 кореневий корінь 1309 9 грудня 2015 CentOS-CR.repo -rw-r - r--. 1 кореневий корінь 649 9 грудня 2015 CentOS-Debuginfo.repo -rw-r - r--. 1 кореневий корінь 290 грудня 9 2015 CentOS-fasttrack.repo -rw-r - r--. 1 кореневий корінь 630 9 грудня 2015 CentOS-Media.repo -rw-r - r--. 1 кореневий корінь 1331 грудня 9 грудня 2015 CentOS-Sources.repo -rw-r - r--. 1 кореневий корінь 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] # yum очистити все
Завантажені плагіни: fasttestrorror, langpacks Очищення сховищ: centos-base centos-updates Очищення всього

[root @ dns yum.repos.d] # оновлення yum
Завантажені плагіни: fasttestrorror, centos-base langpacks | 3.4 kB 00:00 centos-оновлення | 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, що є її основною метою.

Якщо будь-який зчитувач вибрав Політику безпеки під час процесу встановлення, як зазначено в Imagen 06 довідкової статті «Гіпервізор CentOS 7 I - мережі SMB»Використовується для встановлення цього DNS - DHCP-сервера, і ви виявляєте, що не знаєте, як правильно налаштувати SELinux та брандмауер CentOS, радимо запустити наступне:

Змініть файл / etc / sysconfig / selinux і зміни SELINUX = примусове виконання по SELINUX = вимкнути

[root @ dns ~] # nano / etc / sysconfig / selinux
# Цей файл контролює стан SELinux в системі. # SELINUX = може приймати одне з цих трьох значень: # примусове - застосовується політика безпеки SELinux. # дозвільний - SELinux друкує попередження замість того, щоб застосовувати. # вимкнено - Не завантажена політика SELinux.
SELINUX = вимкнено
# SELINUXTYPE = може приймати одне з трьох двох значень: # цілеспрямований - цільові процеси захищені, # мінімальний - модифікація цільової політики. Тільки вибрані процеси є pr $ # mls - багаторівневий захист безпеки. SELINUXTYPE = цільовий

Потім виконайте наступні команди

[root @ dns ~] # setenforce 0
[root @ dns ~] # зупинка брандмауера служби
Перенаправлення на / bin / systemctl stop firewalld.service

[root @ dns ~] # systemctl вимкнути брандмауер
Видалено символічне посилання /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Видалено символічне посилання /etc/systemd/system/basic.target.wants/firewalld.service.

Якщо ви впроваджуєте DNS-сервер, що стоїть перед Інтернетом, НЕ слід робити вищезазначене, а правильно налаштувати контекст SELinux та брандмауер. Подивитися "Конфігурація сервера з GNU / Linux, від автора Джоеля Барріоса Дуєнаса" або сама документація CentOS - Red Hat

Ми налаштовуємо BIND - named

  • El каталог /usr/share/doc/bind-9.9.4/ містить велику кількість документації, з якою ми рекомендуємо вам ознайомитися перед тим, як займатись пошуком в Інтернеті, не знаючи попередньо, що під рукою та у власному домі ви можете знайти те, що шукаєте

У багатьох дистрибутивах викликається служба DNS, встановлена ​​через пакет BIND названий (Ім'я Демон). У CentOS 7 він встановлений вимкненим за замовчуванням відповідно до результатів наступної команди, де вказано, що його статус «інвалід«, І що цей стан заздалегідь визначений його« продавцем »- постачальник попередньо встановлений. Для протоколу BIND - це вільне програмне забезпечення.

Увімкнення вказаної служби

[root @ dns ~] # названий статус systemctl
● named.service - Завантажений домен інтернет-імен (DNS) у Берклі: завантажено (/usr/lib/systemd/system/named.service; інвалід; постачальник попередньо встановлений: вимкнено) Активний: неактивний (мертвий)

[root @ dns ~] # systemctl увімкнено з іменем
Створено символічне посилання з /etc/systemd/system/multi-user.target.wants/named.service на /usr/lib/systemd/system/named.service.

[root @ dns ~] # systemctl start named

[root @ dns ~] # названий статус systemctl
● named.service - Завантажений домен інтернет-імен (DNS) у Берклі: завантажено (/usr/lib/systemd/system/named.service; включений; постачальник попередньо встановлений: вимкнено)
   Активний: активний (працює) з сб 2017-01-28 13:22:38 EST; 5 хв тому Процес: 1990 ExecStart = / usr / sbin / named -u з іменем $ OPTIONS (code = exited, status = 0 / SUCCESS) Процес: 1988 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "так"]; тоді / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Перевірка файлів зон вимкнена"; fi (код = вийшов, статус = 0 / УСПІХ) Основний PID: 1993 (названий) CGroup: /system.slice/named.service └─1993 / usr / sbin / named -u названий 28 січня 13:22:45 названий dns [1993]: помилка (мережа недосяжна) вирішення './NS/IN': 2001: 500: 2f :: f # 53 28 січня 13:22:47 dns з іменем [1993]: помилка (мережа недоступна) вирішення './ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 28 січня 13:22:47 dns з іменем [1993]: помилка (недоступна мережа) вирішення' ./NS/IN ': 2001: 500: 3 :: 42 # 53 28 січня 13:22:47 dns з іменем [1993]: помилка (мережа недосяжна) вирішення './DNSKEY/IN': 2001: 500: 2d :: d # 53 28 січня 13:22:47 dns з іменем [1993] ]: помилка (недоступна мережа) вирішення './NS/IN': 2001: 500: 2d :: d # 53 28 січня 13:22:47 dns з іменем [1993]: помилка (недоступна мережа) вирішення './DNSKEY/ IN ': 2001: dc3 :: 35 # 53 28 січня 13:22:47 dns з іменем [1993]: помилка (недоступна мережа) вирішення' ./NS/IN ': 2001: dc3 :: 35 # 53 28 січня 13: 22:47 dns з іменем [1993]: помилка (мережа недосяжна) вирішення './DNSKEY/IN': 2001: 7fe :: 53 # 53 28 січня 13:22:47 dns з іменем [1993]: помилка (мережа недосяжна) res olving './NS/IN': 2001: 7fe :: 53 # 53 28 січня 13:22:48 dns з іменем [1993]: зона керованих ключів: Неможливо отримати набір DNSKEY '.': час очікування

[root @ dns ~] # перезапуск systemctl з іменем

[root @ dns ~] # названий статус systemctl
● named.service - Завантажений домен Інтернет-імен (DNS) Берклі: завантажено (/usr/lib/systemd/system/named.service; увімкнено; попередньо встановлене значення постачальника: вимкнено)
   Активний: активний (працює) з сб 2017-01-28 13:29:41 EST; 1 с тому Процес: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (код = вийшов, статус = 0 / УСПІХ) Процес: 1460 ExecStart = / usr / sbin / named -u з іменем $ OPTIONS (код = вийшов, статус = 0 / УСПІХ) Процес: 1457 ExecStartPre = / bin / bash -c, якщо [! "$ DISABLE_ZONE_CHECKING" == "так"]; тоді / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Перевірка файлів зон вимкнена"; fi (код = вийшов, статус = 0 / УСПІХ) Основний PID: 1463 (названий) CGroup: /system.slice/named.service └─1463 / usr / sbin / named -u названий 28 січня 13:29:41 названий dns [1463]: managed-keys-zone: файл журналу застарілий: видалення файлу журналу 28 січня 13:29:41 dns з іменем [1463]: managed-keys-zone: завантажений серійний 2 січня 28 13:29:41 dns з іменем [1463]: зона 0.in-addr.arpa/IN: завантажена послідовність 0 28 січня 13:29:41 dns з іменем [1463]: зона localhost.localdomain / IN: завантажена послідовність 0 28 січня 13:29:41 днс з іменем [1463]: зона 1.0.0.127.in-addr.arpa/IN: завантажений серіал 0 28 січня 13:29:41 dns з іменем [1463]: зона 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 .6.ip0.arpa / IN: завантажена послідовність 28 13 січня 29:41:1463 dns з іменем [0]: зона localhost / IN: завантажена послідовність 28 13 січня 29 : 41: 1463 dns з іменем [28]: усі зони завантажені 13 січня 29:41:1463 dns з іменем [28]: працює 13 січня 29:41:1 dns systemd [XNUMX]: Запущено домен Інтернет-імені Берклі (DNS).

Після того, як ми ввімкнемо послугу названий і ми запускаємо це вперше, вихід команди названий статус systemctl показує помилки. Коли ми перезапустимо службу нижче, названий створює всі конфігураційні файли, які за замовчуванням необхідні для його коректної роботи. Тому, коли ми знову виконуємо команду названий статус systemctl більше помилок не відображається.

  • Шановний, дорогий і вимогливий Читачу! Якщо ви хочете дізнатись - принаймні - який шлях веде до кінця кролячої нори, будь ласка, спокійно прочитайте докладні результати кожної команди. Звичайно, стаття здасться трохи довгою, але не заперечуйте, що вона набуває пояснення та ясності.

Ми модифікуємо файл /etc/named.conf

Багато коментарів читачів висловлюють -Я цього не кажу- Манія, яку мають супровідники різних дистрибутивів Linux, розміщувати файли конфігурації системи в папках з різними іменами залежно від дистрибутива. Вони мають рацію. Але що ми можемо зробити, прості користувачі, які користуються цими дистрибутивами? Пристосуйся! 😉

До речі, у FreeBSD, клоні UNIX® «Походження», файл знаходиться у /usr/local/etc/namedb/named.conf; перебуваючи в Debian, на додаток до поділу на чотири файли named.conf, named.conf.options, named.conf.default-zone і named.conf.local, знаходиться в папці / etc / bind /. Ті, хто хоче знати, де це розміщує openSUSE, читайте «DNS і DHCP у openSUSE 13.2 Арлекін - Мережі МСП«. Читачі мають рацію! 😉

І як ми завжди робимо: перед тим, як щось змінювати, ми зберігаємо оригінальний файл конфігурації під іншим ім'ям.

[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-ключ" {алгоритм 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 для конфігурації сервера ISC BIND з іменем (8) DNS // як сервера кешування лише для кешування (як лише для вирішення проблем DNS локального хосту). // // Див. / Usr / share / doc / bind * / sample / наприклад, названі конфігураційні файли. //

// Список контролю доступу, де вказано, які мережі зможуть проконсультуватися
// мій сервер з іменем
acl подивився {
 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; };
    прослуховування-v6 порт 53 {:: 1; }; каталог "/ var / named"; файл дампа "/var/named/data/cache_dump.db"; файл статистики "/var/named/data/named_stats.txt"; файл мемстатистики "/var/named/data/named_mem_stats.txt";

 // Заява експедиторів
 // експедитори {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // спочатку вперед;

    // Я дозволяю лише запити до мого зануреного ACL
    дозвіл-запит { mired; }; // Для перевірки командою dig desdelinux.fan axfr // лише з робочої станції системного адміністратора та локального хосту // Ми не маємо підлеглих DNS-серверів. Нам це не потрібно...поки що.
 allow-transfer {localhost; 192.168.10.1; };

    / * - Якщо ви створюєте АВТОРИТАТИВНИЙ DNS-сервер, НЕ вмикайте рекурсію. - Якщо ви створюєте рекурсивний (кешований) DNS-сервер, вам слід увімкнути рекурсію. - Якщо ваш рекурсивний DNS-сервер має загальнодоступну IP-адресу, ПОВИНЕН ввімкнути контроль доступу, щоб обмежити запити до законних користувачів. Якщо цього не зробити, ваш сервер стане частиною широкомасштабних атак посилення DNS. Впровадження BCP38 у вашій мережі значно зменшить таку поверхню атаки * /
    // Ми хочемо АВТОРИТЕРНИЙ сервер для нашої локальної мережі - малого та середнього бізнесу
    рекурсії немає;

    dnssec-enable так; dnssec-перевірка так; / * Шлях до ключа ISC DLV * / bindkeys-файл "/etc/named.iscdlv.key"; каталог керованих ключів "/ var / named / dynamic"; pid-файл "/run/named/named.pid"; файл ключа сеансу "/run/named/session.key"; }; ведення журналу {channel default_debug {файл "data / named.run"; тяжкість динамічна; }; }; зона "." IN {підказка типу; файл "named.ca"; }; включити "/etc/named.rfc1912.zones"; включити "/etc/named.root.key";

// Ми включаємо ключ TSIG для динамічних оновлень DNS // DHCP
включити "/etc/dhcp.key";

// Декларація імені, типу, місця розташування та дозволу на оновлення
// зон записів DNS // Обидві зони є МАЙСТЕРАМИ
зона"desdelinux.fan" {
 тип майстра;
 файл "dynamic/db.desdelinux.fan";
 allow-update {ключ dhcp-ключ; };
};

зона "10.168.192.in-addr.arpa" {
 тип майстра;
 файл "dynamic / db.10.168.192.in-addr.arpa";
 allow-update {ключ dhcp-ключ; };
};

Перевіряємо синтаксис

[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: не завантажується через помилки. _default/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 для нашого домену.

  • Для отримання додаткової інформації про команду named-checkconf, біжи людина з іменем-checkconf, перш ніж шукати будь-яку іншу інформацію в Інтернеті. Запевняю, це заощадить багато часу.

Створюємо файл Direct Zone desdelinux.fan

... не лише трохи теорії. 😉

Як шаблон для створення файлу даних зони ми можемо взяти файл /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 - Час жити з реєстру SOA - Початок повноважень майстер-зони. Цікаво знати їх значення, коли ми хочемо змінити будь-яке їх значення.

$ TTL: Час життя - Час жити для всіх записів у файлі, які слідують за декларацією (але передують будь-якій іншій декларації $ TTL) і не мають явної декларації TTL.

послідовний: Серійний номер даних зони. Кожного разу, коли ми вручну модифікуємо запис DNS в зоні, ми повинні збільшувати це число на 1, особливо якщо у нас є підлеглі або додаткові сервери. Кожного разу, коли вторинний або ведений DNS-сервер контактує зі своїм головним сервером, він запитує серійний номер основних даних. Якщо серійний номер веденого пристрою менший, тоді дані для цієї зони на веденому сервері застарілі, і підлеглий виконує передачу зони для оновлення.

оновлення: Він повідомляє підлеглому серверу проміжок часу, протягом якого він повинен перевірити, чи оновлені його дані щодо головного.

повторити спробу: Якщо головний сервер недоступний - бо скажімо, він захворів - для веденого через інтервал часу оновлення, повторити спробу Це повідомляє рабу, скільки часу слід чекати, перш ніж намагатись знову зв’язатися зі своїм господарем.

закінчується: Якщо підлеглий не може зв’язатися зі своїм господарем протягом певного проміжку часу закінчується, тоді, якщо відносини зони ведучого-веденого були зіпсовані, і у веденого сервера немає іншого вибору, крім як закінчити термін дії відповідної зони. Термін дії зони веденим DNS-сервером означає, що він перестане відповідати на запити DNS, пов'язані з цією зоною, оскільки наявні дані занадто старі, щоб бути корисними.

  • Вищесказане вчить нас опосередковано і навантажене чудовим здоровим глуздом - найменш загальним з почуттів - що якщо нам не потрібні підлеглі DNS-сервери для роботи нашого МСП, ми не застосовуємо цього, якщо вони не є суворо необхідними. Давайте завжди намагатимемось переходити від простого до складного.

мінімун: У версіях до ВІДОМОК 8.2, останній запис SOA Він також вказує термін служби за замовчуванням - Час життя за замовчуванням, та час негативного кешу - Негативний час кешування для життя для Зони. Цей час відноситься до всіх негативних відповідей, даних авторитетним сервером Зони.

Файл зони /var/named/dynamic/db.desdelinux.fan

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.fan
$TTL 3H @ IN SOA dns.desdelinux.fan. root.dns.desdelinux.fan. (1; серійний номер 1D; оновлення 1H; повторна спроба 1W; закінчення 3H); мінімум або ; Негативний час життя кешування; @ IN NS dns.desdelinux.fan. @ IN MX 10 електронною поштою.desdelinux.fan. @ IN TXT "FromLinux, ваш блог, присвячений вільному програмному забезпеченню" ; sysadmin IN A 192.168.10.1 ad-dc IN A 192.168.10.3 fileserver 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.fan

[root@dns ~]# іменована контрольна зона desdelinux.fan /var/named/dynamic/db.desdelinux.fan
зона desdelinux.fan/IN: завантажено послідовний порт 1 OK

Ми створюємо файл Reverse Zone 10.168.192.in-addr.arpa

  • Запис SOA цієї зони такий самий, як запис прямої зони, без урахування запису MX..
[root @ dns ~] # nano /var/named/dynamic/db.10.168.192.in-addr.arpa
$TTL 3H @ IN SOA dns.desdelinux.fan. root.dns.desdelinux.fan. (1; серійний номер 1D; оновлення 1H; повторна спроба 1W; закінчення 3H); мінімум або ; Негативний час життя кешування; @ IN NS dns.desdelinux.fan. ; 1 IN PTR системного адміністратора.desdelinux.fan. 3 IN PTR ad-dc.desdelinux.fan. 4 IN PTR файловий сервер.desdelinux.fan. 5 IN PTR dns.desdelinux.fan. 6 IN PTR proxyweb.desdelinux.fan. 7 IN PTR блог.desdelinux.fan. 8 IN PTR ftpserver.desdelinux.fan. 9 IN PTR mail.desdelinux.fan.

[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 OK

Перед перезапуском іменованого ми перевіряємо його конфігурацію

  • Поки ми не впевнені, що файли конфігурації з іменованим 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; }; listen-on-v6 порт 53 { ::1/128; }; directory-managed-keys "/var/named/dynamic"; memstatistics-file "/var/named/data/named_mem_stats.txt"; pid-файл "/run/named/named.pid"; файл статистики "/var/named/data/named_stats.txt"; dnssec-enable так; dnssec-перевірка так; рекурсії немає; allow-query { "переглянуто"; }; дозволити передачу { 192.168.10.1/32; }; }; acl "переглянув" { 127.0.0.0/8; 192.168.10.0/24; }; logging { канал "default_debug" { файл "data/named.run"; динамічна тяжкість; }; }; ключ "dhcp-ключ" { алгоритм "hmac-md5"; секрет "OI7Vs+TO83L7ghUm2xNVKg=="; }; зона "." IN { введіть підказку; файл "named.ca"; }; зона "localhost.localdomain" IN { type master; файл "named.localhost"; allow-update { "немає"; }; }; зона "localhost" IN { type master; файл "named.localhost"; allow-update { "немає"; }; }; зона "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"; allow-update { "немає"; }; }; зона "1.0.0.127.in-addr.arpa" IN { type master; файл "named.loopback"; allow-update { "немає"; }; }; зона "0.in-addr.arpa" IN { type master; файл "named.empty"; allow-update { "немає"; }; }; зона"desdelinux.fan" { type master; файл "dynamic/db.desdelinux.fan"; allow-update { ключ "dhcp-key"; }; }; зона "10.168.192.in-addr.arpa" { тип master; файл "dynamic/db.10.168.192.in-addr.arpa "; дозволити оновлення { ключ "dhcp-ключ"; }; }; керовані ключі { "." початковий ключ 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RS tIoO8g 0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD F6dsV6DoBQzgul68sGIcGOYl0OyQdXfZ1relS Qageu+ipAdTTJ9AsRTAoub7ONGcLmqrA mRLKBP6dfwhYB3N5knNnulq QxA +Uk2ihz8="; };
  • Дотримуючись процедури модифікації named.conf Відповідно до наших потреб та перевірки, а також створення кожного файлу зони та перевірки його, ми сумніваємось, що нам доведеться зіткнутися з серйозними проблемами конфігурації. Врешті-решт ми усвідомлюємо, що це хлопчача гра з багатьма поняттями та вередуючим синтаксисом. ℘

Перевірки дали задовільні результати, тому ми можемо перезапустити BIND - названий.

Ми перезапускаємо названий і перевіряємо його статус

[root @ dns ~] # systemctl перезапустіть named.service
[root @ dns ~] # статус systemctl named.service

Якщо ми отримуємо будь-яку помилку у виведенні останньої команди, ми повинні перезапустити іменований.сервіс і перевірте свій статус. Якщо помилки зникали, служба успішно запускалася. В іншому випадку ми повинні провести ретельний огляд усіх змінених і створених файлів і повторити процедуру.

Правильним виведенням статусу має бути:

[root @ dns ~] # статус systemctl named.service
● named.service - Домен інтернет-імені Берклі (DNS) Завантажено: завантажено (/usr/lib/systemd/system/named.service; увімкнено; попередньо встановлене ім’я постачальника: вимкнено) Активний: активний (працює) з нд 2017-01-29 10:05:32 EST; 2 хв. 57 с. тому Процес: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS) Процес: 1788 ExecStart=/usr/sbin/named -u named $OPTIONS (code=exited, status=0/SUCCESS) Процес: 1786 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: 1791 (named) CGroup: /system.slice/named.service └─1791 /usr/sbin/named -u named 29 січня 10:05:32 dns named [1791]: зона 1.0.0.127.in-addr.arpa/IN: завантажено серійний номер 0 29 січня 10:05:32 dns named [1791]: зона 10.168.192.in-addr.arpa/IN: завантажено серійний номер 1 січня 29 10:05:32 DNS з назвою [1791]: зона 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 29 січня 10:05:32 dns named [1791]: зона desdelinux.fan/IN: завантажено серійний номер 1 січня 29 10:05:32 dns named [1791]: зона localhost.localdomain/IN: завантажено серійний номер 0 січня 29 10:05:32 dns named [1791]: зона localhost/IN: завантажено serial 0 29 січня 10:05:32 dns named[1791]: всі зони завантажені
29 січня 10:05:32 dns з іменем [1791]: біг
29 січня 10:05:32 dns systemd [1]: Запущено домен Інтернет-імені Берклі (DNS). 29 січня 10:05:32 dns з іменем [1791]: зона 10.168.192.in-addr.arpa/IN: надсилання повідомлень (серія 1)

Перевірки

Перевірки можна виконувати на тому самому сервері або на машині, підключеній до локальної мережі. Ми воліємо робити їх із команди системний адміністратор.desdelinux.fan на який ми дали явний дозвіл здійснювати перенесення зон. Файл / Etc / resolv.conf цієї команди є наступним:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Створено пошуком NetworkManager desdelinux.fan сервер імен 192.168.10.5

buzz@sysadmin:~$ dig desdelinux.fan axfr
; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.fan axfr ;; глобальні параметри: +cmd
desdelinux.fan. 10800 IN SOA dns.desdelinux.fan. root.dns.desdelinux.fan. 1 86400 3600 604800 10800
desdelinux.fan. 10800 IN NS dns.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 електронною поштою.desdelinux.fan.
desdelinux.fan. 10800 IN TXT "FromLinux, ваш блог, присвячений вільному програмному забезпеченню" ad-dc.desdelinux.fan. 10800 У блозі 192.168.10.3.desdelinux.fan. 10800 В А 192.168.10.7 днс.desdelinux.fan. 10800 IN TO 192.168.10.5 файловий сервер.desdelinux.fan. 10800 IN A 192.168.10.4 ftpserver.desdelinux.fan. 10800 IN A 192.168.10.8 пошт.desdelinux.fan. 10800 IN A 192.168.10.9 proxyweb.desdelinux.fan. 10800 IN A 192.168.10.6 системний адміністратор.desdelinux.fan. 10800 IN ДО 192.168.10.1
desdelinux.fan. 10800 IN SOA dns.desdelinux.fan. root.dns.desdelinux.fan. 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 IN 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 IN NS dns.desdelinux.fan. 1.10.168.192.in-addr.arpa. 10800 IN PTR системний адміністратор.desdelinux.fan. 3.10.168.192.in-addr.arpa. 10800 IN PTR ad-dc.desdelinux.fan. 4.10.168.192.in-addr.arpa. 10800 IN PTR файловий сервер.desdelinux.fan. 5.10.168.192.in-addr.arpa. 10800 IN PTR dns.desdelinux.fan. 6.10.168.192.in-addr.arpa. 10800 IN PTR proxyweb.desdelinux.fan. 7.10.168.192.in-addr.arpa. 10800 IN PTR блог.desdelinux.fan. 8.10.168.192.in-addr.arpa. 10800 IN PTR ftpserver.desdelinux.fan. 9.10.168.192.in-addr.arpa. 10800 IN PTR mail.desdelinux.fan. 10.168.192.in-addr.arpa. 10800 IN 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.fan
buzz@sysadmin:~$ dig IN MX desdelinux.fan buzz@sysadmin:~$ dig IN TXT desdelinux.fan
buzz @ sysadmin: ~ $ host dns
dns.desdelinux.fan має адресу 192.168.10.5
buzz @ sysadmin: ~ $ хост sysadmin
системний адміністратор.desdelinux.fan має адресу 192.168.10.1 ... І будь-які інші перевірки, які нам потрібні
  • Поки що у нас є основа для DNS-сервера в нашій мережі МСП. Ми сподіваємось, вам сподобалася вся процедура, яка була досить простою, чи не так? 😉

Ми встановлюємо та налаштовуємо DHCP

[root @ dns ~] # yum встановити dhcp
Завантажені плагіни: fasttestrorror, centos-base langpacks | 3.4 kB 00:00:00 centos-оновлення | 3.4 КБ 00:00:00 Швидкість завантаження дзеркала із кешованого хост-файлу Вирішення залежностей -> Запуск тесту транзакцій ---> Пакет dhcp.x86_64 12: 4.2.5-42.el7.centos повинен бути встановлений -> Вирішення залежностей припинено Вирішені залежності ================================================== ===================================================== =================================== Архітектура пакунка Версія сховища Розмір =========== ===================================================== ===================================================== ====================== Встановлення: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k Підсумок транзакцій ==== ===================================================== ===================================================== ============================ Встановити 1 пакет Загальний розмір завантаження: 511k Встановлений розмір: 1.4 М Це нормально [y / d / N]: y Завантаження пакетів: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 КБ 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-forwarding вимкнено; параметр доменне ім'я "desdelinux.fan"; # параметр ntp-сервери 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; включають "/etc/dhcp.key" ; зона desdelinux.fan. { первинний 127.0.0.1; ключ dhcp-ключ; } зона 10.168.192.in-addr.arpa. { первинний 127.0.0.1; ключ dhcp-ключ; } shared-network redlocal { subnet 192.168.10.0 netmask 255.255.255.0 { option routers 192.168.10.1; параметр маска підмережі 255.255.255.0; опція широкомовної адреси 192.168.10.255; параметр server-domain-name 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 Server 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 статус dhcpd
● dhcpd.service - Завантажений демон сервера DHCPv4: завантажено (/usr/lib/systemd/system/dhcpd.service; увімкнено; попередньо встановлений постачальник: вимкнено) Активний: активний (працює) з дому 2017-01-29 12:04:59 ЇЇ Т; 23 роки тому Документи: man: dhcpd (8) man: dhcpd.conf (5) Основний PID: 2381 (dhcpd) Статус: "Відправка пакетів ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid 29 січня 12:04:59 dns dhcpd [2381]: Сервер DHCP консорціуму Інтернет-систем 4.2.5 29 січня 12 : 04: 59 dns dhcpd [2381]: Copyright 2004-2013 Internet Systems Consortium. 29 січня 12:04:59 dns dhcpd [2381]: Усі права захищено. 29 січня 12:04:59 dns dhcpd [2381]: Для отримання детальної інформації відвідайте https://www.isc.org/software/dhcp/ 29 січня 12:04:59 dns dhcpd [2381]: Не виконується пошук LDAP з ldap -server, ldap-port і ldap-base-dn не були вказані у файлі конфігурації 29 січня 12:04:59 dns dhcpd [2381]: Написав 0 оренд у файл оренди. 29 січня 12:04:59 dns dhcpd [2381]: Прослуховування на LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 січня 12:04:59 dns dhcpd [2381]: Надсилання на LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 січня 12:04:59 dns dhcpd [2381]: Відправка на Socket / резервний / резервний-мережа 29 січня 12:04:59 dns systemd [1]: розпочато Демон сервера DHCPv4.

Що ще потрібно зробити?

Простий. Запустіть Windows 7 або інший клієнт із безкоштовним програмним забезпеченням і починайте тестування та перевірку. Ми зробили це з двома клієнтами: сім.desdelinux.fan y suse-desktop.desdelinux.fan. Перевірки були наступними:

buzz @ sysadmin: ~ $ хост сім
сім.desdelinux.fan має адресу 192.168.10.30

buzz@sysadmin:~$ хост сім.desdelinux.fan
сім.desdelinux.fan має адресу 192.168.10.30

buzz@sysadmin:~$ dig IN TXT сім.desdelinux.fan
.... ;; РОЗДІЛ ПИТАННЯ: ;сім.desdelinux.fan. У TXT ;; РОЗДІЛ ВІДПОВІДІ: сім.desdelinux.fan. 3600 IN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Ми перейменовуємо команду "сім" на "LAGER" і перезавантажуємось. Після перезапуску нового LAGER ми перевіряємо:

buzz @ sysadmin: ~ $ хост сім
Хост сім не знайдено: 5 (ВІДМІРЕНО)

buzz@sysadmin:~$ хост сім.desdelinux.fan
Ведучий сім.desdelinux.fan не знайдено: 3 (NXDOMAIN)

дзижчання@sysadmin: ~ $ host lager
лагер.desdelinux.fan має адресу 192.168.10.30

дзижчання@sysadmin:~$host lager.desdelinux.fan
лагер.desdelinux.fan має адресу 192.168.10.30

buzz@sysadmin:~$ dig IN TXT lager.desdelinux.fan
.... ;; РОЗДІЛ ПИТАННЯ: ;lager.desdelinux.fan. У TXT ;; РОЗДІЛ ВІДПОВІДІ: пиво.desdelinux.fan. 3600 IN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Щодо клієнта suse-desktop:

buzz @ sysadmin: ~ $ host suse-dektop
Хост suse-dektop не знайдено: 5 (ВІДМІРЕНО)

buzz @ sysadmin: ~ $ host suse-desktop
suse-desktop.desdelinux.fan має адресу 192.168.10.33

buzz@sysadmin:~$ host suse-desktop.desdelinux.fan
suse-desktop.desdelinux.fan має адресу 192.168.10.33

buzz @ sysadmin: ~ $ host 192.168.10.33
33.10.168.192.in-addr.arpa покажчик доменного імені suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ host 192.168.10.30
30.10.168.192.in-addr.arpa покажчик доменного імені LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; РОЗДІЛ ПИТАННЯ: ;33.10.168.192.in-addr.arpa. В ПТР ;; РОЗДІЛ ВІДПОВІДІ: 33.10.168.192.in-addr.arpa. 3600 IN PTR для робочого столу.desdelinux.fan. ;; РОЗДІЛ АВТОРИТЕТІВ: 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.fan. ;; ДОДАТКОВИЙ РОЗДІЛ: dns.desdelinux.fan. 10800 IN ДО 192.168.10.5 ....

buzz@sysadmin:~$ dig IN TXT suse-desktop.desdelinux.фанат....
;suse-desktop.desdelinux.fan. У TXT ;; РОЗДІЛ ВІДПОВІДІ: suse-desktop.desdelinux.fan. 3600 IN TXT "31b78d287769160c93e6dca472e9b46d73"

;; РОЗДІЛ ВЛАДИ:
desdelinux.fan. 10800 IN NS dns.desdelinux.fan. ;; ДОДАТКОВИЙ РОЗДІЛ: dns.desdelinux.fan. 10800 IN ДО 192.168.10.5
....

Давайте також виконаємо наступні команди

[root@dns ~]# dig desdelinux.fan axfr
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.fan axfr ;; глобальні параметри: +cmd
desdelinux.fan. 10800 IN SOA dns.desdelinux.fan. root.dns.desdelinux.fan. 6 86400 3600 604800 10800
desdelinux.fan. 10800 IN NS dns.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 електронною поштою.desdelinux.fan.
desdelinux.fan. 10800 IN TXT "FromLinux, ваш блог, присвячений вільному програмному забезпеченню" ad-dc.desdelinux.fan. 10800 У блозі 192.168.10.3.desdelinux.fan. 10800 В А 192.168.10.7 днс.desdelinux.fan. 10800 IN TO 192.168.10.5 файловий сервер.desdelinux.fan. 10800 IN A 192.168.10.4 ftpserver.desdelinux.fan. 10800 В 192.168.10.8 LAGER.desdelinux.fan. 3600 IN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"ЛАГЕР.desdelinux.fan.   3600 В електронному листі 192.168.10.30.desdelinux.fan. 10800 IN A 192.168.10.9 proxyweb.desdelinux.fan. 10800 IN A 192.168.10.6 suse-desktop.desdelinux.fan. 3600 IN TXT"31b78d287769160c93e6dca472e9b46d73" робочий стіл suse.desdelinux.fan. 3600 IN A 192.168.10.33 системний адміністратор.desdelinux.fan. 10800 IN ДО 192.168.10.1
desdelinux.fan. 10800 IN SOA dns.desdelinux.fan. root.dns.desdelinux.fan. 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 ~]# named-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

Ручна модифікація файлів зон

Після того, як DHCP починає динамічно оновлювати файли зон файлу названийЯкщо нам коли-небудь потрібно буде вручну змінити файл зони, ми повинні виконати наступну процедуру, але не раніше, ніж дізнатися трохи більше про роботу утиліти. rndc для управління сервером імен.

[root @ dns ~] # man rndc
....
       заморозити [зона [клас [перегляд]]]
           Призупинити оновлення до динамічної зони. Якщо зона не вказана, усі зони призупинено. Це дозволяє редагувати вручну зону, яка зазвичай оновлюється динамічним оновленням. Це також спричиняє синхронізацію змін у файлі журналу з головним файлом. Усі спроби динамічного оновлення будуть відхилені, поки зона заморожена.

       відлига [зона [клас [вид]]]
           Увімкнути оновлення до замороженої динамічної зони. Якщо зона не вказана, тоді всі заморожені зони активовані. Це призводить до того, що сервер перезавантажує зону з диска та знову вмикає динамічні оновлення після завершення завантаження. Після розморожування зони більше не відмовлятимуться в динамічних оновленнях. Якщо зона змінилася і використовується параметр ixfr-from-razlike, тоді файл журналу буде оновлений, щоб відображати зміни в зоні. В іншому випадку, якщо зона змінилася, будь-який існуючий файл журналу буде видалено. ....

Що, ти думав, що я збирався переписати весь посібник? ... шматок, і вони їдуть на машині. Решту я залишаю вам. 😉

В основному:

  • rndc freeze [зона [клас [перегляд]]], призупиняє динамічне оновлення зони. Якщо один не вказаний, усі замерзнуть. Команда дозволяє вручну редагувати заморожену зону або всі зони. Будь-яке динамічне оновлення буде відхилено під час заморожування.
  • rndc відлига [зона [клас [перегляд]]], дозволяє динамічне оновлення раніше замороженої зони. DNS-сервер перезавантажує файл зони з диска, а динамічні оновлення знову вмикаються після завершення перезавантаження.

Застереження, які слід вживати, коли ми вручну редагуємо файл зони? Так само, як ніби ми його створювали, не забуваючи збільшувати серійний номер на 1 або послідовний перед збереженням файлу з остаточними змінами.

Приклад:

[root @ dns ~] # rndc зависання desdelinux.fan

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.fan
Я модифікую файл зони з будь-якої причини, необхідної чи ні. Зберігаю зміни

[root @ dns ~] # rndc відлига desdelinux.fan
Розпочато перезавантаження зони та відлигу. Перевірте журнали, щоб побачити результат.

[root @ dns ~] # journalctl -f
29 січня 14:06:46 dns named[2257]: зона розморожування 'desdelinux.fan/IN': успіх
29 січня 14:06:46 dns named[2257]: зона desdelinux.fan/IN: серійний номер зони (6) без змін. зона може не передаватися підлеглим.
29 січня 14:06:46 dns named[2257]: зона desdelinux.fan/IN: завантажено серійний номер 6

Помилка попереднього виводу, що відображається червоним кольором на консолі, пов’язана з тим, що я «забув» збільшити серійний номер на 1. Якби я правильно дотримувався процедури, висновок був би:

[root @ dns ~] # journalctl -f
-- Журнали починаються о нд 2017-01-29 08:31:32 EST. -- 29 січня 14:06:46 dns named[2257]: зона 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 named [2257]: отримана команда каналу керування «заморозити» desdelinux.fan' 29 січня 14:10:45 dns named [2257]: freezing zone 'desdelinux.fan/IN': успіх 29 січня 14:10:58 dns named [2257]: отримано команду каналу керування 'thaw' desdelinux.fan' 29 січня 14:10:58 dns named [2257]: зона розморожування 'desdelinux.fan/IN': успіх 29 січня 14:10:58 dns named [2257]: зона desdelinux.fan/IN: файл журналу застарів: видалення файлу журналу 29 січня 14:10:58 dns named [2257]: зона desdelinux.fan/IN: завантажено серійний номер 7
  • Читачі, друзі, повторюю, вам доведеться уважно читати результати команд. Для чогось його розробники витратили стільки праці, програмуючи кожну команду, якою б простою вона не була.

Резюме

Наразі ми розглядали питання реалізації пари DNS - DHCP, важливих і важливих служб для ефективної роботи нашої мережі МСП, маючи на увазі надання динамічних адрес через DHCP та вирішення комп'ютерних і доменних імен через DNS.

Ми серйозно сподіваємося, що вам сподобалась вся процедура, як і нам. Хоча з консоллю може здатися складнішим, набагато простіше та освітніше впровадити послугу в UNIX® / Linux за її допомогою.

Вони прощають мені за будь-яке неправильне тлумачення понять, які думали, створювали, писали, переглядали, переписували та публікували мовою Шекспіра, а не Сервантеса. 😉

Наступна доставка

Я думаю, трохи більше того ж - з теоретичними доповненнями до записів DNS - але в Debian. Ми не можемо забути цей розподіл, так?


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

      Крістіан Мерчан - сказав він

    Щиро дякуємо за вашу похвальну роботу над написанням таких плідних статей. Це мені буде дуже корисно

      Федеріко - сказав він

    І щиро дякую, Крістіане, що ти пішов за мною та оцінив цю посаду. Успіхів!

      Ісмаель Альварес Вонг - сказав він

    Після першого погляду на цю нову публікацію Федеріко, ще раз помітний великий професіоналізм, який спостерігається у серії «PYMES»; на додаток до чудових деталей, що ілюструють ваш домен у двох найважливіших службах (DNS та DHCP) будь-якої мережі. З цієї нагоди, на відміну від моїх попередніх коментарів, у мене очікується 2-й коментар після того, як я застосував на практиці те, що я заявив у цій публікації.

      crespo88 - сказав він

    Без коментарів, pa '400 !!! Фіко дякую, бо ти добре знаєш, що я читаю твої дописи, і ми не можемо просити більше. Ви починаєте з дуже вдалої організації, починаючи з того, як встановити та встановити персональний робочий стіл користувача, робоча станція є базою, це почуття того, що є тими мережевими службами, що ви дуже добре пояснюєте. Ви піднімаєтесь, і хоча це правда, що рівень зростає, правда, що ви писали і публікували для тих, хто менше, ніж тих, хто починає, для тих, хто був таким, як я, і для найдосконаліших.
    З часом я прийшов до висновку, що я знаю, що багато хто вже прийшов, теорію, таку, яку нам потрібно стільки придбати за той простий факт, що ми не хочемо читати, тому що виконати це набагато простіше, коли ми знаємо, що робимо, чому ???, питання, де знайти і як вийти з помилки, яка викликає стільки головного болю, коли ми навіть не знаємо, звідки вони беруться, варте надмірності.
    З цієї причини я не хочу, щоб ви залишили позаду ті теоретичні елементи, які ви включите щодо записів DNS у наступній публікації, як ви вже оголосили, а тим більше, коли мова йде про дорогого та улюбленого ДЕБІАНА.
    ВЕЛИКИЙ ДЯКУЮ, і ми чекаємо.

      dhunter - сказав він

    Відмінний як завжди Фіко! Чекаю версії Debian, роками граю у все з цим дистрибутивом.

      Федеріко - сказав він

    Вонг: Ваша думка після прочитання коштує багато чого. Я чекаю ваших коментарів, коли ви перевіряєте вміст, бо знаю, що саме так вам подобається це робити. 😉

      Федеріко - сказав він

    Креспо: Як завжди, ваші коментарі дуже добре сприймаються. Я бачу, що ви охопили загальну лінію, яку я підніс у складі цієї серії. Я сподіваюся, що, як і ви, багато хто вже помітив. Дякуємо за ваш коментар.

      Федеріко - сказав він

    Dhunter: Приємно вас ще раз прочитати! Вам не доведеться довго чекати. Найпізніше до понеділка - або раніше - його буде закінчено до публікації. Не думайте, що мені легко охопити три різні дистрибутиви, але Респектабельний Читач просить про це. Не тільки Debian та Ubuntu, але й три орієнтовані на МСП.

      crespo88 - сказав він

    Якщо ви опублікували, це тому, що можете, ми підтримуємо вас і знаємо, що ви будете слідувати цій лінії.
    Як мисливець я чекаю випуску Debian з гострими зубами. Було б непогано, якби ви трохи розповіли про NTP. Sl2 і великі обійми. Якби мої вчителі навчили мене всього подібного, HAHAJJA, Platinum Degree, HAHAJJA.

      Федеріко - сказав він

    Рівень деталізації виходів команд необхідний, щоб показати його важливість. Багато говорять. Це правда, що мало статей звертаються до цього рівня деталізації, тому що вони думають, що це довгі та важкі статті для читання. Ну, частина роботи SysAdmin полягає в тому, щоб прочитати ці важкі та докладні результати не лише перед проблемою, але й перед перевірками.

      Ісмаель Альварес Вонг - сказав він

    Привіт, Федеріко, я вже обіцяв написати кілька коментарів, уважно вивчивши відповідний пост; Ну, ось вони йдуть далі:
    - Чудова техніка замість генерації ключа TSIG для динамічного оновлення DNS DHCP, копіювання того самого ключа rndc.key, що і dhcp.key, це, мабуть, "настільки просто" показує, що мета полягає не лише в технічності HOWTO-INSTALL-DNS - & - DHCP, але навчивши нас думати, 5 ЗІРОК ДЛЯ АВТОРА.
    – Дуже цікаво в конфігураційному файлі DNS, named.conf, наявність рядка «allow-transfer { localhost; 192.168.10.1; };» перевірити домен «desdelinux.fan" лише з робочої станції SysAdmin і локального хосту (власне DNS-сервера), а також на додаток до вставки ключа TSIG для оновлення DNS з DHCP.
    - Дуже добре створення прямої та зворотної зон DNS разом із "докладним" поясненням їх типів записів, на додаток до виконання команди "# named-checkconf -zp" для перевірки всього синтаксису названого до його апаратне скидання, а також приклади запуску команди "dig" для перевірки різних типів записів DNS.
    . У конфігурації DHCP (за допомогою файлу /etc/dhcp/dhcpd.conf):
    - Як додати нашу локальну мережу з діапазоном для присвоєння динамічних IP-адрес, визначенням сервера імен тощо; а також про те, як сказати DHCP оновити записи DNS за допомогою рядків "ddns- ..." у його конфігурації.
    . Коли вже все в робочому стані, 5 ЗІРОК АВТОРУ, за виконання команди «# dig desdelinux.fan axfr», щоб перевірити TTL комп’ютерів локальної мережі зі статичними IP-адресами та тих, яким призначено динамічні IP-адреси.
    . Нарешті, ЧУДОВО, редагування файлів Zone вручну, спочатку заморозивши їх за допомогою «# rndc freeze desdelinux.fan", потім внести зміни та, нарешті, розморозити їх за допомогою "# rndc thaw desdelinux.фан"
    . І НАЙКРАЩЕ, ВСЕ РОБИЛО З ТЕРМІНАЛА.
    Так тримати Фіко.

         Джой - сказав він

      Привіт
      Ik kom net kijken, dit omdat ik probeer te achterhalen hoe het kan dat alles gedeeld en verwijderd wordt op mijn computer zelfs mijn foto's. Ik heb totaal geen control meer over myjn eigen computer on mobiel.
      Het zit m dus ook in het dns in dhcp. Ik weet echt niet hoe ik dit moet oplossen en het kan verwijderen. Misschien dat iemand mij wilt helpen? Dit is namelijk buiten mij om geinstalleerd. Walgelijk gedrag vind ik het.

      Федеріко - сказав він

    Вонг: ваш коментар доповнює статтю. Серйозно, це свідчить про те, що ви його ретельно вивчили. В іншому випадку ви не можете коментувати рівень деталізації, який ви робите. Просто додайте це дозволити-передати Він використовується в основному, коли у нас є DNS-ведений, і ми дозволяємо передавати зони від ведучого до нього. Я використовую його таким чином, оскільки це простий у реалізації механізм здійснення небезпечних перевірок з одного комп’ютера. Щиро дякую за вашу оцінку 5. Привітання! і я продовжуватиму чекати вас у своїх наступних статтях.

      ІгнаціоМ - сказав він

    Привіт Федеріко. Я знаю, що я трохи запізнився, але я хотів би запитати вас.
    Чи допоможе мені ця процедура, якщо я хочу спрямувати домен на свій сервер vps?

    Кожні 15 хвилин я отримую такі системні повідомлення:

    DHCPREQUEST на eth0 до порту 67 (xid =…)
    DHCPACK від (xid =…)
    зв’язане - поновлення через 970 секунд.

    І з того, що я розумію, я повинен створити запис A з моїм доменом та ip свого виділеного сервера.

    * Вітаю і дякую вам за цю статтю, я не знаю, чи це саме те, що я шукав, але мені здалося дуже цікавим і добре поясненим. Крім того, я приймаю рекомендацію "DNS і BIND", яку я вже трохи пліткував, і це видається дуже цікавим.

    Привіт з Аргентини!

         Антоніо Вальдес Тухаге - сказав він

      будь ласка, зв'яжіться зі мною через valdestoujague@yandex.com