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.fromlinux.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 з нашого комп’ютера sysadmin.fromlinux.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 з сервера імен linux.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 ifdown. Давайте запустимо на консолі сервера:

[root @ dns ~] # ifdown eth0
Пристрій "eth0" успішно відключено.

[root @ dns ~] # ifup eth0
З’єднання активовано (активний шлях D-Bus: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Ми пропонуємо не змінюйте налаштування за замовчуванням, які пропонує CentOS 7 щодо Менеджер мереж.

Ми остаточно заявляємо про сховища, які ми збираємось використовувати, та за потреби оновлюємо операційну систему:

[buzz @ dns ~] $ su Пароль: [root @ dns buzz] # cd /etc/yum.repos.d/
[root @ dns yum.repos.d] # ls -l
всього 28 -rw-r - r--. 1 кореневий корінь 1664 грудня 9 грудня 2015 CentOS-Base.repo -rw-r - r--. 1 кореневий корінь 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 mired {
 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 {миред; }; // Перевірити за допомогою команди dig desdelinux.fan axfr // лише з робочої станції SysAdmin та localhost // У нас немає підлеглих 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.fromlinux.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 зона з linux.fan/IN: завантаження з майстра Помилка файлу dynamic / db.fromlinux.fan: файл не знайдено зони з Linux.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 з linux.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.fromlinux.fan

[root @ dns ~] # nano /var/named/dynamic/db.fromlinux.fan
$ TTL 3H @ IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. (1; послідовний 1D; оновити 1H; повторити спробу 1W; закінчиться 3H); мінімальний або; Негативний час кешування для життя; @ IN NS dns.fromlinux.fan. @ IN MX 10 mail.fromlinux.fan. @ IN TXT "FromLinux, ваш блог, присвячений вільному програмному забезпеченню"; sysadmin В A 192.168.10.1 ad-dc В A 192.168.10.3 файловий сервер В A 192.168.10.4 dns В A 192.168.10.5 proxyweb В A 192.168.10.6 блог В A 192.168.10.7 ftpserver В A 192.168.10.8 пошта В A 192.168.10.9

Ми перевіряємо /var/named/dynamic/db.fromlinux.fan

[root @ dns ~] # named-checkzone з linux.fan / var / named / dynamic / db. fromlinux.fan
зона з linux.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.fromlinux.fan. root.dns.fromlinux.fan. (1; послідовний 1D; оновити 1H; повторити спробу 1W; закінчиться 3H); мінімальний або; Негативний час кешування для життя; @ IN NS dns.fromlinux.fan. ; 1 В PTR sysadmin.fromlinux.fan. 3 В PTR ad-dc.fromlinux.fan. 4 В PTR fileserver.fromlinux.fan. 5 В PTR dns.fromlinux.fan. 6 В PTR proxyweb.desdelinux.fan. 7 В PTR blog.desdelinux.fan. 8 В PTR ftpserver.fromlinux.fan. 9 В PTR mail.fromlinux.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 зона з linux.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 зона з linux.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; }; прослуховування-v6 порт 53 {:: 1/128; }; каталог керованих ключів "/ var / named / dynamic"; файл мемстатистики "/var/named/data/named_mem_stats.txt"; pid-файл "/run/named/named.pid"; файл статистики "/var/named/data/named_stats.txt"; dnssec-enable так; dnssec-перевірка так; рекурсії немає; allow-query {"mired"; }; allow-transfer {192.168.10.1/32; }; }; acl "mired" {127.0.0.0/8; 192.168.10.0/24; }; ведення журналу {channel "default_debug" {файл "data / named.run"; динаміка тяжкості; }; }; ключ "dhcp-key" {алгоритм "hmac-md5"; секрет "OI7Vs + TO83L7ghUm2xNVKg =="; }; зона "." IN {підказка типу; файл "named.ca"; }; зона "localhost.localdomain" IN {майстер типу; файл "named.localhost"; allow-update {"немає"; }; }; зона "localhost" В {майстер типу; файл "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 {майстер типу; файл "named.loopback"; allow-update {"немає"; }; }; зона "1.0.0.127.in-addr.arpa" IN {майстер типу; файл "named.loopback"; allow-update {"немає"; }; }; зона "0.in-addr.arpa" IN {майстер типу; файл "named.empty"; allow-update {"немає"; }; }; зона "desdelinux.fan" {майстер типу; файл "dynamic / db.fromlinux.fan"; allow-update {ключ "dhcp-ключ"; }; }; зона "10.168.192.in-addr.arpa" {майстер типу; файл "dynamic / db.10.168.192.in-addr.arpa"; allow-update {ключ "dhcp-ключ"; }; }; керовані клавіші {"." ключ початково-257 на 3 березня "AwEAAagAIKlVZrpC8Ia6gEzahOR + 7W9euxhJhVVLOyQbSEW29O0gcCjF FVQUTf8v6fLjwBd58YI0EzrAcQqBGCzh / RStIoO0g8NfnfL0MTJRkxoX bfDaUeVPQuYEhg2NZWAJQ37VnMVDxP / VHL9M / QZxkjf496 / Efucp5gaD X2RS6CXpoY6LsvPVjR68ZSwzz0apAzvN1dlzEheX9ICJBBtuA7G6LQpz W3hOA5hzCTMjJPJ2LbqF8dsV6DoBQzgul6sGIcGOYl0OyQdXfZ7relS Qageu + ipAdTTJ57AsRTAoub25ONGcLmqrAmRLKBP8dfwhYB1N4knNnulq QXA + Uk7ihz1 ="; };
  • Дотримуючись процедури модифікації named.conf Відповідно до наших потреб та перевірки, а також створення кожного файлу зони та перевірки його, ми сумніваємось, що нам доведеться зіткнутися з серйозними проблемами конфігурації. Врешті-решт ми усвідомлюємо, що це хлопчача гра з багатьма поняттями та вередуючим синтаксисом. ℘

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

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

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

Якщо ми отримуємо будь-яку помилку у виведенні останньої команди, ми повинні перезапустити 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 (код = вийшов, статус = 0 / УСПІХ) Процес: 1788 ExecStart = / usr / sbin / named -u з іменем $ OPTIONS (код = вийшов, статус = 0 / УСПІХ) Процес: 1786 ExecStartPre = / bin / bash -c, якщо [! "$ DISABLE_ZONE_CHECKING" == "так"]; тоді / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Перевірка файлів зон вимкнена"; fi (код = вийшов, статус = 0 / УСПІХ) Основний PID: 1791 (названий) CGroup: /system.slice/named.service └─1791 / usr / sbin / named -u названий 29 січня 10:05:32 названий dns [1791]: зона 1.0.0.127.in-addr.arpa/IN: завантажений серіал 0 29 січня 10:05:32 dns з іменем [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 з іменем [1791]: зона desdelinux.fan/IN: завантажений серійний 1 січня 29 10:05:32 dns з іменем [1791]: зона localhost.localdomain / IN: завантажений серійний 0 29 січня 10:05:32 dns з іменем [1791]: зона localhost / IN: завантажений серіал 0 29 січня 10:05:32 dns з іменем [1791]: всі зони завантажені
29 січня 10:05:32 dns з іменем [1791]: біг
29 січня 10:05:32 dns systemd [1]: Запущено домен Інтернет-імені Берклі (DNS). 29 січня 10:05:32 dns з іменем [1791]: зона 10.168.192.in-addr.arpa/IN: надсилання повідомлень (серія 1)

Перевірки

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

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

buzz @ sysadmin: ~ $ копати з linux.fan axfr
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> desdelinux.fan axfr ;; глобальні параметри: + cmd з linux.fan. 10800 В SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 з linux.fan. 10800 В НС dns.fromlinux.fan. з linux.fan. 10800 В MX 10 mail.fromlinux.fan. з linux.fan. 10800 IN TXT "FromLinux, ваш щоденник, присвячений вільному програмному забезпеченню" ad-dc.desdelinux.fan. 10800 В 192.168.10.3 blog.desdelinux.fan. 10800 В 192.168.10.7 dns.fromlinux.fan. 10800 В 192.168.10.5 fileserver.fromlinux.fan. 10800 В 192.168.10.4 ftpserver.fromlinux.fan. 10800 В 192.168.10.8 mail.fromlinux.fan. 10800 В 192.168.10.9 proxyweb.fromlinux.fan. 10800 В 192.168.10.6 sysadmin.fromlinux.fan. 10800 IN До 192.168.10.1 з linux.fan. 10800 В SOA dns.fromlinux.fan. root.dns.fromlinux.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 В SOA dns.fromlinux.fan.10.168.192.in-addr.arpa. root.dns.fromlinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 В НС dns.fromlinux.fan. 1.10.168.192.in-addr.arpa. 10800 В PTR sysadmin.fromlinux.fan. 3.10.168.192.in-addr.arpa. 10800 В PTR ad-dc.fromlinux.fan. 4.10.168.192.in-addr.arpa. 10800 IN PTR fileserver.fromlinux.fan. 5.10.168.192.in-addr.arpa. 10800 В PTR dns.fromlinux.fan. 6.10.168.192.in-addr.arpa. 10800 В PTR proxyweb.fromlinux.fan. 7.10.168.192.in-addr.arpa. 10800 В PTR blog.desdelinux.fan. 8.10.168.192.in-addr.arpa. 10800 В PTR ftpserver.fromlinux.fan. 9.10.168.192.in-addr.arpa. 10800 В PTR mail.fromlinux.fan. 10.168.192.in-addr.arpa. 10800 В SOA dns.fromlinux.fan.10.168.192.in-addr.arpa. root.dns.fromlinux.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 з linux.fan
buzz @ sysadmin: ~ $ dig IN MX з linux.fan buzz @ sysadmin: ~ $ dig IN TXT з linux.fan
buzz @ sysadmin: ~ $ host dns
dns.fromlinux.fan має адресу 192.168.10.5
buzz @ sysadmin: ~ $ хост 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) man page # ddns-update-style interim; ddns-оновлення на; ddns-ім'я домену "desdelinux.fan."; ddns-rev-ім'я домену "in-addr.arpa."; ігнорувати оновлення клієнта; авторитетний; опція ip-переадресація вимкнена; опція домен-ім'я "desdelinux.fan"; # варіант ntp-сервери 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; включити "/etc/dhcp.key"; зона з linux.fan. {первинна 127.0.0.1; ключ dhcp-ключ; } зона 10.168.192.in-addr.arpa. {первинна 127.0.0.1; ключ dhcp-ключ; } спільна мережа redlocal {підмережа 192.168.10.0 мережева маска 255.255.255.0 {маршрутизатори опцій 192.168.10.1; опція підмережа-маска 255.255.255.0; опція трансляція-адреса 192.168.10.255; опція домен-ім'я-сервери 192.168.10.5; опція netbios-name-сервери 192.168.10.5; діапазон 192.168.10.30 192.168.10.250; }} # END 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 або інший клієнт із безкоштовним програмним забезпеченням і починайте тестування та перевірку. Ми зробили це з двома клієнтами: seven.fromlinux.fan y suse-desktop.fromlinux.fan. Перевірки були наступними:

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

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

buzz @ sysadmin: ~ $ копати в TXT seven.fromlinux.fan
.... ;; РОЗДІЛ ПИТАННЯ ;; seven.fromlinux.fan. В TXT ;; РОЗДІЛ ВІДПОВІДІ: seven.desdelinux.fan. 3600 В TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

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

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

buzz @ sysadmin: ~ $ хост seven.fromlinux.fan
Хост seven.desdelinux.fan не знайдено: 3 (NXDOMAIN)

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

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

buzz @ sysadmin: ~ $ dig IN TXT lager.fromlinux.fan
.... ;; РОЗДІЛ ПИТАНЬ :; lager.fromlinux.fan. В TXT ;; РОЗДІЛ ВІДПОВІДІ: lager.fromlinux.fan. 3600 В 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.fromlinux.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. В PTR ;; РОЗДІЛ ВІДПОВІДІ: 33.10.168.192.in-addr.arpa. 3600 В PTR suse-desktop.fromlinux.fan. ;; РОЗДІЛ ВЛАДИ: 10.168.192.in-addr.arpa. 10800 В НС dns.fromlinux.fan. ;; ДОДАТКОВИЙ РОЗДІЛ: dns.fromlinux.fan. 10800 В 192.168.10.5 ....

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

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

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

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

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

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

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

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

[root @ dns ~] # journalctl -f
- Журнали починаються на нд 2017-01-29 08:31:32 EST. - 29 січня 14:06:46 dns з іменем [2257]: zone desdelinux.fan/IN: завантажений серійний номер 6 січня 29 14:10:01 dns systemd [1]: Розпочато сеанс 43 кореня користувача. 29 січня 14:10:01 dns systemd [1]: Початок сеансу 43 кореня користувача. 29 січня 14:10:01 dns CROND [2693]: (корінь) CMD (/ usr / lib64 / sa / sa1 1 1) 29 січня 14:10:45 dns з іменем [2257]: отримала команду контрольного каналу 'заморозити з Linux. fan '29 січня 14:10:45 dns з іменем [2257]: зона заморозки' desdelinux.fan/IN ': успіх 29 січня 14:10:58 dns з іменем [2257]: отримана команда контрольного каналу' thaw desdelinux.fan 'січ. 29 14:10:58 dns з іменем [2257]: зона відтавання 'desdelinux.fan/IN': успіх 29 січня 14:10:58 dns з іменем [2257]: зона desdelinux.fan/IN: файл журналу застарілий: видалення файлу журналу 29 січня 14:10:58 dns з іменем [2257]: зона desdelinux.fan/IN: завантажений серійний 7
  • Читачі, друзі, повторюю, вам доведеться уважно читати результати команд. Для чогось його розробники витратили стільки праці, програмуючи кожну команду, якою б простою вона не була.

Резюме

Наразі ми розглядали питання реалізації пари DNS - DHCP, важливих і важливих служб для ефективної роботи нашої мережі МСП, маючи на увазі надання динамічних адрес через 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 ЗІРОК ДЛЯ АВТОРА.
    - Дуже цікаво у файлі конфігурації DNS, named.conf, наявність рядка «allow-transfer {localhost; 192.168.10.1; }; » протестувати домен «desdelinux.fan» лише з робочої станції SysAdmin та localhost (самого 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.
    . Нарешті, ВЕЛИКИЙ, ручна модифікація файлів зон, заморожуючи їх спочатку за допомогою "# rndc freeze desdelinux.fan", потім вносячи зміни та, нарешті, розморожуючи їх за допомогою "# 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.    antonio valdes toujague - сказав він

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