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 
# Generated by NetworkManager
search 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
    allow-query     { mired; };

    // Para comprobar con el comando dig desdelinux.fan axfr
    // desde la estación de trabajo del SysAdmin y el localhost solamente
    // No tenemos servidores DNS esclavos. No lo necesitamos... hasta ahora.
 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 // Обидві зони є МАЙСТЕРАМИ
zone "desdelinux.fan" {
 тип майстра;
 file "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
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 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: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
zone desdelinux.fan/IN: loading from master file dynamic/db.desdelinux.fan failed: file not found
zone desdelinux.fan/IN: not loaded due to errors.
_default/desdelinux.fan/IN: file not found
zone 10.168.192.in-addr.arpa/IN: loading from master file dynamic/db.10.168.192.in-addr.arpa failed: file not found
zone 10.168.192.in-addr.arpa/IN: not loaded due to errors.
_default/10.168.192.in-addr.arpa/IN: file not found

Звичайно, це помилки, які трапляються, оскільки ми ще не створили зони реєстрації DNS для нашого домену.

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

Creamos el archivo de la Zona Directa 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 Він також вказує термін служби за замовчуванням - Час життя за замовчуванням, та час негативного кешу - Негативний час кешування для життя для Зони. Цей час відноситься до всіх негативних відповідей, даних авторитетним сервером Зони.

Archivo de zona /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   ; serial
                                        1D  ; refresh
                                        1H  ; retry
                                        1W  ; expire
                                        3H )    ; minimum or
                                                ; Negative caching time to live
;
@               IN  NS  dns.desdelinux.fan.
@               IN  MX  10 mail.desdelinux.fan.
@       IN  TXT "DesdeLinux, su Blog dedicado al Software Libre"
;
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
mail            IN  A   192.168.10.9

Comprobamos /var/named/dynamic/db.desdelinux.fan

[root@dns ~]# named-checkzone desdelinux.fan /var/named/dynamic/db.desdelinux.fan
зона desdelinux.fan/IN: loaded serial 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   ; serial
                                        1D  ; refresh
                                        1H  ; retry
                                        1W  ; expire
                                        3H )    ; minimum or
                                                ; Negative caching time to live
;
@               IN  NS  dns.desdelinux.fan.
;
1   IN  PTR     sysadmin.desdelinux.fan.
3   IN  PTR     ad-dc.desdelinux.fan.
4   IN  PTR     fileserver.desdelinux.fan.
5   IN  PTR     dns.desdelinux.fan.
6   IN  PTR     proxyweb.desdelinux.fan.
7   IN  PTR     blog.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
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 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: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
zone desdelinux.fan/IN: loaded serial 1
zone 10.168.192.in-addr.arpa/IN: loaded serial 1

Усі поточні іменовані конфігурації

Щоб отримати ясність, і хоча стаття стає довгою, ми даємо повний результат команди named -checkconf -zp:

[root @ dns ~] # named-checkconf -zp
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 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: loaded serial 0
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
zone desdelinux.fan/IN: loaded serial 1
zone 10.168.192.in-addr.arpa/IN: loaded serial 1
options {
    bindkeys-file "/etc/named.iscdlv.key";
    session-keyfile "/run/named/session.key";
    directory "/var/named";
    dump-file "/var/named/data/cache_dump.db";
    listen-on port 53 {
        127.0.0.1/32;
        192.168.10.5/32;
    };
    listen-on-v6 port 53 {
        ::1/128;
    };
    managed-keys-directory "/var/named/dynamic";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    pid-file "/run/named/named.pid";
    statistics-file "/var/named/data/named_stats.txt";
    dnssec-enable yes;
    dnssec-validation yes;
    recursion no;
    allow-query {
        "mired";
    };
    allow-transfer {
        192.168.10.1/32;
    };
};
acl "mired" {
    127.0.0.0/8;
    192.168.10.0/24;
};
logging {
    channel "default_debug" {
        file "data/named.run";
        severity dynamic;
    };
};
key "dhcp-key" {
    algorithm "hmac-md5";
    secret "OI7Vs+TO83L7ghUm2xNVKg==";
};
zone "." IN {
    type hint;
    file "named.ca";
};
zone "localhost.localdomain" IN {
    type master;
    file "named.localhost";
    allow-update {
        "none";
    };
};
zone "localhost" IN {
    type master;
    file "named.localhost";
    allow-update {
        "none";
    };
};
zone "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;
    file "named.loopback";
    allow-update {
        "none";
    };
};
zone "1.0.0.127.in-addr.arpa" IN {
    type master;
    file "named.loopback";
    allow-update {
        "none";
    };
};
zone "0.in-addr.arpa" IN {
    type master;
    file "named.empty";
    allow-update {
        "none";
    };
};
zone "desdelinux.fan" {
    type master;
    file "dynamic/db.desdelinux.fan";
    allow-update {
        key "dhcp-key";
    };
};
zone "10.168.192.in-addr.arpa" {
    type master;
    file "dynamic/db.10.168.192.in-addr.arpa";
    allow-update {
        key "dhcp-key";
    };
};
managed-keys {
    "." initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=";
};
  • Дотримуючись процедури модифікації 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; увімкнено; попередньо встановлене ім’я постачальника: вимкнено) Активний: активний (працює) since dom 2017-01-29 10:05:32 EST; 2min 57s ago
  Process: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS)
  Process: 1788 ExecStart=/usr/sbin/named -u named $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 1786 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
 Main PID: 1791 (named)
   CGroup: /system.slice/named.service
           └─1791 /usr/sbin/named -u named

ene 29 10:05:32 dns named[1791]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
ene 29 10:05:32 dns named[1791]: zone 10.168.192.in-addr.arpa/IN: loaded serial 1
ene 29 10:05:32 dns named[1791]: zone 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: loaded serial 0
ene 29 10:05:32 dns named[1791]: zone desdelinux.fan/IN: loaded serial 1
ene 29 10:05:32 dns named[1791]: zone localhost.localdomain/IN: loaded serial 0
ene 29 10:05:32 dns named[1791]: zone localhost/IN: loaded serial 0
ene 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 
# Generated by NetworkManager
search 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 "DesdeLinux, su Blog dedicado al Software Libre"
ad-dc.desdelinux.fan.   10800   IN  A   192.168.10.3
blog.desdelinux.fan.    10800   IN  A   192.168.10.7
dns.desdelinux.fan. 10800   IN  A   192.168.10.5
fileserver.desdelinux.fan. 10800 IN A   192.168.10.4
ftpserver.desdelinux.fan. 10800 IN  A   192.168.10.8
mail.desdelinux.fan.    10800   IN  A   192.168.10.9
proxyweb.desdelinux.fan. 10800  IN  A   192.168.10.6
sysadmin.desdelinux.fan. 10800  IN  A   192.168.10.1
desdelinux.fan.     10800   IN  SOA dns.desdelinux.fan. root.dns.desdelinux.fan. 1 86400 3600 604800 10800
;; Query time: 0 msec
;; SERVER: 192.168.10.5#53(192.168.10.5)
;; WHEN: Sun Jan 29 11:44:18 EST 2017
;; XFR size: 13 records (messages 1, bytes 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
;; global options: +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 sysadmin.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 fileserver.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 blog.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
;; Query time: 0 msec
;; SERVER: 192.168.10.5#53(192.168.10.5)
;; WHEN: Sun Jan 29 11:44:57 EST 2017
;; XFR size: 11 records (messages 1, bytes 352)

buzz@sysadmin:~$ dig IN 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 has address 192.168.10.1

... Y cualquier otra comprobación que necesitemos
  • Поки що у нас є основа для 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 Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
#
ddns-update-style interim;
ddns-updates on;
ddns-domainname "desdelinux.fan.";
ddns-rev-domainname "in-addr.arpa.";
ignore client-updates;

authoritative;

option ip-forwarding off;
option domain-name "desdelinux.fan";
# option ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org;

include "/etc/dhcp.key";

zone desdelinux.fan. {
    primary 127.0.0.1;
        key dhcp-key;
}
zone 10.168.192.in-addr.arpa. {
        primary 127.0.0.1;
        key dhcp-key;
}

shared-network redlocal {
        subnet 192.168.10.0 netmask 255.255.255.0 {
                option routers 192.168.10.1;
                option subnet-mask 255.255.255.0;
                option broadcast-address 192.168.10.255;
                option domain-name-servers 192.168.10.5;
                option netbios-name-servers 192.168.10.5;
                range 192.168.10.30 192.168.10.250;
        }
}
# FIN 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:~$ host seven.desdelinux.fan
сім.desdelinux.fan має адресу 192.168.10.30

buzz@sysadmin:~$ dig IN TXT seven.desdelinux.fan
....
;; QUESTION SECTION:
;seven.desdelinux.fan.      IN  TXT

;; ANSWER SECTION:
seven.desdelinux.fan.   3600    IN  TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

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

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

buzz@sysadmin:~$ host seven.desdelinux.fan
Host seven.desdelinux.fan not found: 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
....
;; QUESTION SECTION:
;lager.desdelinux.fan.      IN  TXT

;; ANSWER SECTION:
lager.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 domain name pointer suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ host 192.168.10.30
30.10.168.192.in-addr.arpa domain name pointer LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
....
;; QUESTION SECTION:
;33.10.168.192.in-addr.arpa.    IN  PTR

;; ANSWER SECTION:
33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.desdelinux.fan.

;; AUTHORITY SECTION:
10.168.192.in-addr.arpa. 10800  IN  NS  dns.desdelinux.fan.

;; ADDITIONAL SECTION:
dns.desdelinux.fan. 10800   IN  A   192.168.10.5
....

buzz@sysadmin:~$ dig IN TXT suse-desktop.desdelinux.fan
....
;suse-desktop.desdelinux.fan.   IN  TXT

;; ANSWER SECTION:
suse-desktop.desdelinux.fan. 3600 IN    TXT "31b78d287769160c93e6dca472e9b46d73"

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

;; ADDITIONAL SECTION:
dns.desdelinux.fan. 10800   IN  A   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 "DesdeLinux, su Blog dedicado al Software Libre"
ad-dc.desdelinux.fan.   10800   IN  A   192.168.10.3
blog.desdelinux.fan.    10800   IN  A   192.168.10.7
dns.desdelinux.fan. 10800   IN  A   192.168.10.5
fileserver.desdelinux.fan. 10800 IN A   192.168.10.4
ftpserver.desdelinux.fan. 10800 IN  A   192.168.10.8
LAGER.desdelinux.fan.   3600    IN  TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"
LAGER.desdelinux.fan.   3600 IN  A   192.168.10.30
mail.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-desktop.desdelinux.fan. 3600 IN A   192.168.10.33
sysadmin.desdelinux.fan. 10800  IN  A   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
ene 29 14:06:46 dns named[2257]: thawing zone 'desdelinux.fan/IN': success
ene 29 14:06:46 dns named[2257]: zone desdelinux.fan/IN: zone serial (6) unchanged. zone may fail to transfer to slaves.
ene 29 14:06:46 dns named[2257]: zone desdelinux.fan/IN: loaded serial 6

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

[root @ dns ~] # journalctl -f
-- Logs begin at dom 2017-01-29 08:31:32 EST. --
ene 29 14:06:46 dns named[2257]: zone desdelinux.fan/IN: loaded serial 6
ene 29 14:10:01 dns systemd[1]: Started Session 43 of user root.
ene 29 14:10:01 dns systemd[1]: Starting Session 43 of user root.
ene 29 14:10:01 dns CROND[2693]: (root) CMD (/usr/lib64/sa/sa1 1 1)
ene 29 14:10:45 dns named[2257]: received control channel command 'freeze desdelinux.fan'
ene 29 14:10:45 dns named[2257]: freezing zone 'desdelinux.fan/IN': success
ene 29 14:10:58 dns named[2257]: received control channel command 'thaw desdelinux.fan'
ene 29 14:10:58 dns named[2257]: thawing zone 'desdelinux.fan/IN': success
ene 29 14:10:58 dns named[2257]: zone desdelinux.fan/IN: journal file is out of date: removing journal file
ene 29 14:10:58 dns named[2257]: zone desdelinux.fan/IN: loaded serial 7
  • Читачі, друзі, повторюю, вам доведеться уважно читати результати команд. Для чогось його розробники витратили стільки праці, програмуючи кожну команду, якою б простою вона не була.

Резюме

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

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

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

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

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


15 коментарі, залиште свій

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

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

*

*

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

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

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

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

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

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

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

  4.   crespo88 - сказав він

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

  5.   dhunter - сказав він

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

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

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

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

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

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

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

  9.   crespo88 - сказав він

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

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

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

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

    Привіт, Федеріко, я вже обіцяв написати кілька коментарів, уважно вивчивши відповідний пост; Ну, ось вони йдуть далі:
    - Чудова техніка замість генерації ключа TSIG для динамічного оновлення DNS DHCP, копіювання того самого ключа rndc.key, що і dhcp.key, це, мабуть, "настільки просто" показує, що мета полягає не лише в технічності HOWTO-INSTALL-DNS - & - DHCP, але навчивши нас думати, 5 ЗІРОК ДЛЯ АВТОРА.
    – Muy interesante en el archivo de configuración del DNS, named.conf, la presencia de la linea «allow-transfer { localhost; 192.168.10.1; };» para realizar test el Dominio «desdelinux.fan» solamente desde la estación de trabajo del SysAdmin y el localhost (el propio server DNS), y además de la inserción de la clave TSIG para la actualización del DNS desde el DHCP.
    - Дуже добре створення прямої та зворотної зон DNS разом із "докладним" поясненням їх типів записів, на додаток до виконання команди "# named-checkconf -zp" для перевірки всього синтаксису названого до його апаратне скидання, а також приклади запуску команди "dig" для перевірки різних типів записів DNS.
    . У конфігурації DHCP (за допомогою файлу /etc/dhcp/dhcpd.conf):
    - Як додати нашу локальну мережу з діапазоном для присвоєння динамічних IP-адрес, визначенням сервера імен тощо; а також про те, як сказати DHCP оновити записи DNS за допомогою рядків "ddns- ..." у його конфігурації.
    . Cuando todo ya esta operativo, 5 ESTRELLAS PARA EL AUTOR, en la ejecucion del comando «# dig desdelinux.fan axfr» para comprobar el TTL de los equipos de la LAN que tienen IP static de los que tienen IP dinámicas asignadas.
    . Por ultimo, GENIAL, la modificación manual de archivos de Zonas congelándolas primero con «# rndc freeze desdelinux.fan», realizando a continuación la modificación y descongelándolas finalmente con «# rndc thaw desdelinux.fan»
    . І НАЙКРАЩЕ, ВСЕ РОБИЛО З ТЕРМІНАЛА.
    Так тримати Фіко.

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

      Привіт
      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.

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

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

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

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

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

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

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

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

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

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

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