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

Общ индекс на поредицата: Компютърни мрежи за малки и средни предприятия: Въведение

Здравейте приятели! В тази статия ще видим как да имплементираме важните мрежови услуги DNS и DHCP в CentOS Linux, по-специално версия 7.2.

  • Някои статии за DNS се позовават на факта, че внедряването на тази услуга е малко неясно и трудно. Не съм напълно съгласен с това твърдение. По-скоро бих казал, че е малко концептуално и че много от конфигурационните му файлове имат раздразнен синтаксис. За щастие имаме инструменти за проверка, стъпка по стъпка, на синтаксиса на всеки конфигурационен файл, който модифицираме. Затова ще се опитаме да направим четенето на тази публикация възможно най-приятно и приятно..

За тези, които търсят основни понятия за двете услуги, силно препоръчваме да започнете търсенето си в Уикипедия, както в нейната испанска, така и в английската версия. Не по-малко вярно е, че статиите на английски са почти винаги по-пълни и последователни. И все пак Уикипедия е много добра отправна точка.

Тези, които наистина искат да научат за DNS и BIND, се препоръчва да прочетат книгата „ OReilly – DNS and BIND 4-то издание “, написана от Пол Албиц и Крикет Лиу , или по-късно издание, което със сигурност съществува.

Вече публикувахме статия по тази тема, озаглавена „ DNS и DHCP в openSUSE 13.2 Harlequin – SME Networks “ за тези, които предпочитат графична среда. Въпреки това, в бъдеще ще срещнете статии по тази тема – но не и други – написани с широко използване на терминален или конзолен емулатор. С други думи, в класическия стил, използван от системните администратори на UNIX®/Linux.

Ако искате да научите повече по темата на заглавието на тази статия, „ Мрежи на МСП “, можете да посетите страницата „ Мрежи на МСП: Първи виртуален преглед “ в същия блог . Там ще намерите връзки към много други публикувани статии.

  • След като инсталацията на операционната система CentOS 7 приключи с пакетите, които препоръчваме, el директория /usr/share/doc/bind-9.9.4/ Той съдържа голямо количество документация, с която ви препоръчваме да се консултирате, преди да се впуснете в търсене в Интернет, без първо да знаете, че на една ръка разстояние и в собствения си дом можете да намерите това, което търсите.

Основна инсталация на системата

Общи данни за домейна и DNS сървъра

Име на домейн: desdelinux.фен
Име на DNS сървър: dns.desdelinux.фен
IP адрес: 192.168.10.5
Подмрежна маска: 255.255.255.0

Инсталация

Започваме с нова или чиста инсталация на операционната система CentOS 7, както е описано в предишната статия „ CentOS 7 Hypervisor I – SME Networks “. Трябва само да направим следните промени:

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

DNS и DHCP на CentOS

Наистина има малко и много очевидни промени, които трябва да направим по отношение на предишната статия.

Първоначални проверки и корекции

След като инсталираме операционната система, трябва да прегледаме поне следните файлове и за това започваме сесия чрез SSH от нашия компютър системен администратор.desdelinux.фен:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
[имейл защитен]Парола на потребителя: Последно влизане: събота, 28 януари 2017 г., 09:48:05 ч. от 192.168.10.1
[buzz @ dns ~] $

Горната операция може да отнеме повече време от нормалното и това се дължи главно на факта, че все още нямаме DNS в LAN. Проверете отново по-късно дали DNS работи.

[buzz @ dns ~] $ cat / etc / hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6

[buzz @ dns ~] $ cat / etc / hostname
DNS

[buzz @ dns ~] $ cat / etc / sysconfig / network-scripts / ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=946f5ac9-238a-4a94-9acb-9e3458c680fe
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.10.5
PREFIX=24
GATEWAY=192.168.10.1
DNS1=127.0.0.1
DOMAIN=desdelinux.fan

[buzz @ dns ~] $ cat /etc/resolv.conf 
# Генерирано от търсенето в NetworkManager desdelinux.fan сървър на имена 127.0.0.1

Основните конфигурации отразяват нашия избор. Обърнете внимание, че дори на сървър Red Hat 7 – CentOS 7 , NetworkManager е конфигуриран по подразбиране да управлява мрежови интерфейси, независимо дали са кабелни или безжични (WiFi), VPN връзки, PPPoE връзки и всяка друга мрежова връзка.

[buzz @ dns ~] $ sudo systemctl статус networkmanager
[sudo] парола за вести: ● networkmanager.service Loaded: not-found (Причина: Няма такъв файл или директория) Активен: неактивен (мъртъв)

[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` и `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 почистване на всички
Заредени плъгини: fastestmirror, langpacks Почистване на хранилища: centos-base centos-updates Почистване на всичко

[root @ dns yum.repos.d] # yum актуализация
Заредени плъгини: най-бързо огледало, centos-base langpacks | 3.4 kB 00:00 centos-актуализации | 3.4 kB 00:00 (1/2): centos-base / primary_db | 5.3 MB 00:00 (2/2): centos-актуализации / primary_db | 9.1 MB 00:00 Определяне на най-бързите огледала Няма пакети, маркирани за актуализация

Съобщението „Няма маркирани пакети за актуализация“ показва , че чрез деклариране на най-актуалните налични хранилища по време на инсталацията, са инсталирани най-актуалните пакети.

Относно контекста на SELinux и защитната стена

Ще фокусираме тази статия - основно - върху прилагането на DNS и DHCP услуги, което е нейната основна цел.

Ако някой читател е избрал политика за сигурност по време на процеса на инсталиране, както е показано на изображение 06 от референтната статия „ CentOS 7 Hypervisor I – SME Networks “, използвана за инсталирането на този DNS-DHCP сървър, и установи, че не знае как правилно да конфигурира SELinux и защитната стена на CentOS, предлагаме му да изпълни следното:

Променете файла /etc/sysconfig/selinux и променете SELINUX=enforcing на SELINUX=disable

[root @ dns ~] # nano / etc / sysconfig / selinux
# Този файл контролира състоянието на SELinux в системата. # SELINUX = може да приеме една от тези три стойности: # налагане - прилага се политиката за сигурност на SELinux. # permissive - SELinux отпечатва предупреждения, вместо да налага. # забранено - Не е заредена политика на SELinux.
SELinux = инвалиди
# SELINUXTYPE = може да приеме една от трите две стойности: # насочени - Насочените процеси са защитени, # минимум - Модификация на насочена политика. Само избраните процеси са pr $ # mls - Multi Level Protection. 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, се нарича named ( Name Daemon ). В CentOS 7 тя е инсталирана деактивирана по подразбиране, както е показано в изхода на следната команда, която гласи, че състоянието ѝ е „ деактивирано “ и че това състояние е предварително дефинирано от нейния доставчик – vendor preset . Обърнете внимание, че 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 стартирано име

[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 (код = излязъл, статус = 0 / УСПЕХ) Процес: 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 named 28 януари 13:22:45 dns named [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]: managed-keys-zone: Не може да се получи DNSKEY set '.': изтече времето за изчакване

[root @ dns ~] # рестартиране на systemctl с име

[root @ dns ~] # име на systemctl статус
● named.service - Домейн на интернет име на Бъркли (DNS) Заредено: заредено (/usr/lib/systemd/system/named.service; активирано; предварително зададено от доставчика: деактивирано)
   Активен: активен (работещ) от сб 2017-01-28 13:29:41 EST; Преди 1s Процес: 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 named 28 януари 13:29:41 dns named [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 dns наименован [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).

След активиране и стартиране на услугата named за първи път, резултатът от командата `systemctl status named` показва грешки. Когато рестартираме услугата, named създава всички конфигурационни файлове, необходими за правилното функциониране по подразбиране. Следователно, когато изпълним командата `systemctl status named` отново, не се показват повече грешки.

  • Уважаеми, скъпи и взискателни Читателю: ако искате да разберете - поне - кой път води до края на заешката дупка, моля, прочетете спокойно подробните изходи на всяка команда.  Със сигурност статията ще ви се стори малко дълга, но няма да отречете, че печели от обяснение и яснота.

Ние модифицираме файла /etc/named.conf

Много коментари на читатели изразяват – и не съм единственият, който казва това – навика, който поддържащите различни Linux дистрибуции имат да поставят файловете за системна конфигурация в папки с различни имена в зависимост от дистрибуцията. Прави са. Но какво можем да направим ние, обикновените потребители на тези дистрибуции? Да се ​​адаптираме! 😉

Между другото, във FreeBSD, клонинг на UNIX® "The Origin", файлът се намира в /usr/local/etc/namedb/named.conf ; докато в Debian, освен че е разделен на четирите файла named.conf, named.conf.options, named.conf.default-zones и named.conf.local , той се намира и в папката /etc/bind/ . Тези, които искат да знаят къде го поставя openSUSE, трябва да прочетат „ DNS и DHCP в openSUSE 13.2 Harlequin – SME Networks “. Читателите са прави! 😉

И както винаги правим: преди да променим каквото и да било, запазваме оригиналния конфигурационен файл под друго име.

[root @ dns ~] # cp /etc/named.conf /etc/named.conf.original

За да улесним нещата, вместо да генерираме TSIG ключа за динамични DNS актуализации чрез DHCP, копираме същия rndc.key като dhcp.key.

[root @ dns ~] # cp /etc/rndc.key /etc/dhcp.key

[root @ dns ~] # nano /etc/dhcp.key
ключ "dhcp-ключ" {алгоритъм 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; };
    Listen-on-v6 порт 53 {:: 1; }; директория "/ var / named"; dump-файл "/var/named/data/cache_dump.db"; файл със статистика "/var/named/data/named_stats.txt"; memstatistics-файл "/var/named/data/named_mem_stats.txt";

 // Декларация за спедитори
 // спедитори {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // първо напред;

    // Разрешавам само заявки към моя затънал ACL
    разреши заявка { mired; }; // За проверка с командата dig desdelinux.fan axfr // само от работната станция на SysAdmin и localhost // Нямаме подчинени DNS сървъри. Не ни трябва...засега.
 allow-transfer {localhost; 192.168.10.1; };

    / * - Ако изграждате АВТОРИТАТИВЕН DNS сървър, НЕ разрешавайте рекурсия. - Ако изграждате рекурсивен (кеширащ) DNS сървър, трябва да активирате рекурсия. - Ако вашият рекурсивен DNS сървър има публичен IP адрес, ТРЯБВА да активирате контрола на достъпа, за да ограничите заявките до вашите легитимни потребители. Ако не го направите, вашият сървър ще стане част от широкомащабни атаки за усилване на DNS. Внедряването на BCP38 във вашата мрежа значително би намалило такава повърхност за атака * /
    // Искаме AUTHORITY сървър за нашата LAN - SME
    рекурсия не;

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

// Включваме TSIG ключа за динамични DNS актуализации // от DHCP
включва "/etc/dhcp.key";

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

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

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

[root @ dns ~] # named-checkconf 
[root @ dns ~] #

Тъй като предишната команда не връща нищо, синтаксисът е ОК. Ако обаче изпълним същата команда, но с опцията -z , резултатът ще бъде:

[root @ dns ~] # named-checkconf -z
зона localhost.localdomain/IN: зареден сериен 0 зона localhost/IN: зареден сериен 0 зона 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: заредена серийна 0 зона 1.0.0.127.in-addr.arpa/IN: заредена серийна 0 зона 0.in-addr.arpa/IN: заредена серийна 0 зона desdelinux.fan/IN: зареждане от главния файл dynamic/db.desdelinux.fan неуспешно: файлът не е намерен зона desdelinux.fan/IN: не се зарежда поради грешки. _по подразбиране/desdelinux.fan/IN: файлът не е намерен зона 10.168.192.in-addr.arpa/IN: зареждане от главния файл dynamic/db.10.168.192.in-addr.arpa неуспешно: файлът не е намерен зона 10.168.192.in- addr.arpa/IN: не се зарежда поради грешки. _default/10.168.192.in-addr.arpa/IN: файлът не е намерен

Разбира се, това са грешки, които възникват, защото все още не сме създали зоните за регистрация на DNS за нашия домейн.

  • За повече информация относно командата named-checkconf, бягай човек на име-checkconf, преди да потърсите друга информация в Интернет. Уверявам ви, че ще спестите доста време.

Създаваме файла Direct Zone desdelinux.фен

...но не без първо малко теория. 

Като шаблон за създаване на файла с данни за зоната можем да използваме или /var/named/named.empty , или /usr/share/doc/bind-9.9.4/sample/var/named/named.empty . И двата са идентични.

[root @ dns ~] # cat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; сериен 1D; опресняване 1H; повторен опит 1W; изтича 3H); минимално или отрицателно време за кеширане, за да живее NS @ A 127.0.0.1 AAAA :: 1

Време на живот - Време е да живеете TTL SOA запис

Нека отделим малко време, за да обясним TTL – Time to Live – на SOA – Start of Authority записа за главна зона. Разбирането на значението им е полезно, когато искаме да променим някоя от стойностите им.

$TTL : Време за живот – Време за живот за всички записи във файла след декларацията (но преди всяка друга $TTL декларация) и които нямат изрична TTL декларация.

Сериен номер : Серийният номер на данните за зоната. Всеки път, когато ръчно променяме DNS запис в зона, трябва да увеличим този номер с 1, особено ако имаме подчинени или вторични сървъри. Всеки път, когато вторичен или подчинен DNS сървър се свърже с главния си сървър, той запитва за серийния номер на данните на главния сървър. Ако серийният номер на подчинения сървър е по-нисък, тогава данните за тази зона на подчинения сървър са остарели и подчиненият сървър извършва прехвърляне на зона, за да ги актуализира.

refresh : Указва на подчинения сървър интервала от време, през който трябва да проверява дали данните му са актуални спрямо главния сървър.

retry : Ако главният сървър е недостъпен - например защото се е разболял - за подчинения сървър след интервал от време за опресняване , retry казва на подчинения сървър колко дълго да чака, преди да се опита да се свърже отново с главния сървър.

Изтичане : Ако подчиненият сървър не може да се свърже с главния си сървър за определен интервал от време , тогава връзката между подчинената и главната зона е прекъсната и подчиненият сървър няма друг избор, освен да изтече въпросната зона. Изтичането на зоната от подчинен DNS сървър означава, че той ще спре да отговаря на DNS заявки, свързани с тази зона, защото наличните данни са твърде стари, за да бъдат полезни.

  • Горепосоченото ни учи индиректно и натоварено с голям здрав разум - най-малко общия от сетивата - че ако не се нуждаем от подчинени DNS сървъри за работата на нашето МСП, ние не го прилагаме, освен ако те не са строго необходими. Нека винаги се опитаме да преминем от простото към сложното.

минимум : Във версии преди BIND 8.2 , последният SOA запис също така показва времето по подразбиране за живот и времето за отрицателно кеширане за живот на зоната. Това време се отнася до всички отрицателни отговори, дадени от авторитетния сървър за зоната.

Зонов файл /var/named/dynamic/db.desdelinux.фен

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.фен
$TTL 3H @ В SOA dns.desdelinux.фен. root.dns.desdelinux.фен. (1; сериен 1D; опресняване 1H; повторен опит 1W; изтичане 3H); минимум или ; Отрицателно време на живот за кеширане; @ IN NS dns.desdelinux.фен. @ IN MX 10 имейл.desdelinux.фен. @ IN TXT „От Linux, вашият блог, посветен на свободния софтуер“; sysadmin ВЪВ 192.168.10.1 ad-dc ВЪВ 192.168.10.3 файлов сървър ВЪВ 192.168.10.4 dns ВЪВ 192.168.10.5 proxyweb ВЪВ 192.168.10.6 блог ВЪВ 192.168.10.7 ftpserver ВЪВ 192.168.10.8. 192.168.10.9 поща IN A XNUMX

Проверяваме /var/named/dynamic/db.desdelinux.фен

[root@dns ~]# named-checkzone desdelinux.fan /var/named/dynamic/db.desdelinux.фен
зона desdelinux.fan/IN: зареден сериен 1 OK

Създаваме файл Reverse Zone 10.168.192.in-addr.arpa

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

[root @ dns ~] # named-checkzone 10.168.192.in-addr.arpa /var/named/dynamic/db.10.168.192.in-addr.arpa 
зона 10.168.192.in-addr.arpa/IN: заредена серийна 1 OK

Преди да рестартираме имената, проверяваме конфигурацията му

  • Докато не сме сигурни, че имената на конфигурационните файлове named.conf и неговите зонови файлове не са конфигурирани правилно, препоръчваме да не рестартирате посочения демон. Ако направим това и по-късно модифицираме файл на зона, трябва да увеличим серийния номер на модифицираната зона с 1.
  • Нека да разгледаме „.“ в края на имена на домейни и хостове.
[root @ dns ~] # named-checkconf 
[root @ dns ~] # named-checkconf -z
зона localhost.localdomain/IN: зареден сериен 0 зона localhost/IN: зареден сериен 0 зона 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: заредена серийна 0 зона 1.0.0.127.in-addr.arpa/IN: заредена серийна 0 зона 0.in-addr.arpa/IN: заредена серийна 0 зона desdelinux.fan/IN: заредена серийна 1 зона 10.168.192.in-addr.arpa/IN: заредена серийна 1

Всички текущи имена конфигурация

За по-голяма яснота и въпреки че статията ще стане дълга, предоставяме пълния резултат от командата named-checkconf -zp :

[root @ dns ~] # named-checkconf -zp
зона localhost.localdomain/IN: зареден сериен 0 зона localhost/IN: зареден сериен 0 зона 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: заредена серийна 0 зона 1.0.0.127.in-addr.arpa/IN: заредена серийна 0 зона 0.in-addr.arpa/IN: заредена серийна 0 зона desdelinux.fan/IN: заредена серийна 1 зона 10.168.192.in-addr.arpa/IN: заредена серийна 1 опции { bindkeys-file "/etc/named.iscdlv.key"; сесиен ключов файл "/run/named/session.key"; директория "/var/named"; дъмп-файл "/var/named/data/cache_dump.db"; порт за слушане 53 { 127.0.0.1/32; 192.168.10.5/32; }; слушане на v6 порт 53 { ::1/128; }; директория с управлявани ключове "/var/named/dynamic"; memstatistics-file "/var/named/data/named_mem_stats.txt"; pid-файл "/run/named/named.pid"; статистически файл "/var/named/data/named_stats.txt"; dnssec-разрешаване да; dnssec-валидиране да; рекурсия не; allow-query { "гледан"; }; разреши-трансфер { 192.168.10.1/32; }; }; acl "гледан" { 127.0.0.0/8; 192.168.10.0/24; }; регистриране { канал "default_debug" { файл "data/named.run"; динамична тежест; }; }; ключ "dhcp-ключ" {алгоритъм "hmac-md5"; тайна "OI7Vs+TO83L7ghUm2xNVKg=="; }; зона "." IN { type hint; файл "named.ca"; }; зона "localhost.localdomain" IN { type master; файл "named.localhost"; allow-update { "няма"; }; }; зона "localhost" IN { type master; файл "named.localhost"; allow-update { "няма"; }; }; зона "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; файл "named.loopback"; allow-update { "няма"; }; }; зона "1.0.0.127.in-addr.arpa" IN { type master; файл "named.loopback"; allow-update { "няма"; }; }; зона "0.in-addr.arpa" IN { type master; файл "named.empty"; allow-update { "няма"; }; }; зона"desdelinux.fan" { type master; файл "dynamic/db.desdelinux.fan"; enable-update { ключ "dhcp-key"; }; }; зона "10.168.192.in-addr.arpa" { type master; файл "dynamic/db.10.168.192.in-addr.arpa "; позволи актуализация { ключ "dhcp-ключ"; }; }; управлявани ключове { "." първоначален ключ 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RS tIoO8g 0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD F6dsV6DoBQzgul68sGIcGOYl0OyQdXfZ1relS Qageu+ipAdTTJ9AsRTAoub7ONGcLmqrA mRLKBP6dfwhYB3N5knNnulq QxA +Uk2ihz8="; };
  • Следвайки процедурата за модифициране на named.conf Според нашите нужди и проверка и създаване на всеки файл на зона и проверка, ние се съмняваме, че ще трябва да се сблъскаме с големи проблеми с конфигурацията. В крайна сметка осъзнаваме, че това е момчешка игра, с много понятия и суетлив синтаксис. 

Проверките върнаха задоволителни резултати, следователно можем да рестартираме BIND – с име.

Рестартираме имената и проверяваме състоянието му

[root @ dns ~] # systemctl рестартирайте named.service
[root @ dns ~] # systemctl статус named.service

Ако получите грешки в изхода на последната команда, трябва да рестартирате named.service и да проверите отново състоянието ѝ . Ако грешките са изчезнали, услугата е стартирана успешно. В противен случай трябва внимателно да прегледате всички модифицирани и създадени файлове и да повторите процедурата.

Правилният изход на състоянието трябва да бъде:

[root @ dns ~] # systemctl статус named.service
● named.service - Berkeley Internet Name Domain (DNS) Заредено: заредено (/usr/lib/systemd/system/named.service; активирано; предварително зададено от доставчика: деактивирано) Активно: активен (работи) от нд 2017-01-29 10:05:32 EST; Преди 2 минути 57 секунди Процес: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc стоп > /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 (code=exited, status=0/SUCCESS) Основен PID: 1791 (наименуван) CGroup: /system.slice/named.service └─1791 /usr/sbin/named -u named 29 януари 10:05:32 dns named [1791]: зона 1.0.0.127.in-addr.arpa/IN: зареден сериен 0 януари 29 10:05:32 dns име [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 named [1791]: зона localhost.localdomain/IN: зареден сериен 0 29 януари 10:05:32 dns named [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)

Проверки

Проверките могат да се изпълняват на същия сървър или на машина, свързана към LAN. Предпочитаме да ги правим от екипа системен администратор.desdelinux.фен на които дадохме изрично разрешение да извършваме трансфери на зони. Файлът / И т.н. / resolv.conf от този екип е следното:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Генерирано от търсенето в NetworkManager desdelinux.fan сървър на имена 192.168.10.5

buzz@sysadmin:~$ диг desdelinux.вентилатор axfr
; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.fan axfr ;; глобални опции: +cmd
desdelinux.фен. 10800 IN SOA dns.desdelinux.фен. root.dns.desdelinux.фен. 1 86400 3600 604800 10800
desdelinux.фен. 10800 IN NS dns.desdelinux.фен.
desdelinux.фен. 10800 IN MX 10 имейл.desdelinux.фен.
desdelinux.фен. 10800 В TXT „От Linux, вашият блог, посветен на свободния софтуер“ ad-dc.desdelinux.фен. 10800 В 192.168.10.3 блог.desdelinux.фен. 10800 В A 192.168.10.7 dns.desdelinux.фен. 10800 IN КЪМ 192.168.10.5 файлов сървър.desdelinux.фен. 10800 В 192.168.10.4 ftpserver.desdelinux.фен. 10800 В 192.168.10.8 поща.desdelinux.фен. 10800 В 192.168.10.9 прокси уеб.desdelinux.фен. 10800 В 192.168.10.6 системен администратор.desdelinux.фен. 10800 IN ДО 192.168.10.1
desdelinux.фен. 10800 IN SOA dns.desdelinux.фен. root.dns.desdelinux.фен. 1 86400 3600 604800 10800 ;; Време за заявка: 0 msec ;; СЪРВЪР: 192.168.10.5#53(192.168.10.5) ;; КОГА: неделя, 29 януари 11:44:18 EST 2017 г. ;; XFR размер: 13 записа (1 съобщения, 385 байта)

buzz @ sysadmin: ~ $ dig 10.168.192.in-addr.arpa axfr
; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> 10.168.192.in-addr.arpa axfr ;; глобални опции: +cmd 10.168.192.in-addr.arpa. 10800 IN SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.фен. 1.10.168.192.in-addr.arpa. 10800 IN PTR системен администратор.desdelinux.фен. 3.10.168.192.in-addr.arpa. 10800 IN PTR ad-dc.desdelinux.фен. 4.10.168.192.in-addr.arpa. 10800 IN PTR файлов сървър.desdelinux.фен. 5.10.168.192.in-addr.arpa. 10800 IN PTR dns.desdelinux.фен. 6.10.168.192.in-addr.arpa. 10800 IN PTR прокси уеб.desdelinux.фен. 7.10.168.192.in-addr.arpa. 10800 IN PTR блог.desdelinux.фен. 8.10.168.192.in-addr.arpa. 10800 IN PTR ftpserver.desdelinux.фен. 9.10.168.192.in-addr.arpa. 10800 В PTR поща.desdelinux.фен. 10.168.192.in-addr.arpa. 10800 IN SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 ;; Време за заявка: 0 msec ;; СЪРВЪР: 192.168.10.5#53(192.168.10.5) ;; КОГА: неделя, 29 януари 11:44:57 EST 2017 г. ;; XFR размер: 11 записа (1 съобщения, 352 байта)

buzz@sysadmin:~$ копай в SOA desdelinux.фен
buzz@sysadmin:~$ диг В MX desdelinux.fan buzz@sysadmin:~$ dig IN TXT desdelinux.фен
buzz @ sysadmin: ~ $ host dns
dns.desdelinux.fan има адрес 192.168.10.5
buzz @ sysadmin: ~ $ хост sysadmin
системен администратор.desdelinux.fan има адрес 192.168.10.1 ... И всички други проверки, от които се нуждаем
  • Досега имаме основата за DNS сървър в нашата мрежа за МСП. Надяваме се, че сте харесали цялата процедура, която беше доста проста, нали? 

Инсталираме и конфигурираме DHCP

[root @ dns ~] # yum инсталиране на dhcp
Заредени плъгини: най-бързо огледало, centos-base langpacks | 3.4 kB 00:00:00 centos-актуализации | 3.4 kB 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 M Това добре ли е [y / d / N]: y Изтегляне на пакети: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Текуща проверка на транзакция Текуща транзакция на транзакция Тестът на транзакция е успешен Текуща транзакция Инсталиране: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Проверка: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Инсталиран: dhcp.x86_64 12: 4.2.5-42.el7.centos Готово!

[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # Конфигурационен файл на DHCP сървър. # вижте /usr/share/doc/dhcp*/dhcpd.conf.example # вижте dhcpd.conf(5) man page # ddns-update-style interim; ddns-актуализации на; ddns-име на домейн "desdelinux.fan."; ddns-rev-име на домейн "in-addr.arpa."; игнориране на клиентски актуализации; авторитетен; опция ip-forwarding изключена; опция име на домейн "desdelinux.fan"; # опция ntp-сървъри 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; включват "/etc/dhcp.key" ; зона desdelinux.фен. {основен 127.0.0.1; ключ dhcp-ключ; } зона 10.168.192.in-addr.arpa. {основен 127.0.0.1; ключ dhcp-ключ; } споделена мрежа redlocal { подмрежа 192.168.10.0 мрежова маска 255.255.255.0 { опция рутери 192.168.10.1; опция подмрежова маска 255.255.255.0; опция излъчване-адрес 192.168.10.255; опция сървъри за имена на домейни 192.168.10.5; опция netbios-name-servers 192.168.10.5; обхват 192.168.10.30 192.168.10.250; } } # КРАЙ dhcpd.conf

[root @ dns ~] # dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5 Copyright 2004-2013 Internet Systems Consortium. Всички права запазени. За информация, моля, посетете 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 стартира dhcpd

[root @ dns ~] # systemctl статус dhcpd
● dhcpd.service - Зареден демон на DHCPv4 сървър: зареден (/usr/lib/systemd/system/dhcpd.service; активиран; предварително зададена от доставчика: деактивирана) Активна: активна (работи) от dom 2017-01-29 12:04:59 ITS T; Преди 23s Документи: 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]: Internet Systems Consortium DHCP Server 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 сървър Daemon.

Какво остава да се направи?

Просто. Стартирайте Windows 7 или друг клиент с безплатен софтуер и започнете да тествате и проверявате. Направихме го с двама клиенти: седем.desdelinux.фен y suse-десктоп.desdelinux.фен. Проверките бяха следните:

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

buzz@sysadmin:~$ хост седем.desdelinux.фен
седем.desdelinux.fan има адрес 192.168.10.30

buzz@sysadmin:~$ dig IN TXT седем.desdelinux.фен
.... ;; РАЗДЕЛ ЗА ВЪПРОС: ;седем.desdelinux.фен. В TXT ;; СЕКЦИЯ ЗА ОТГОВОРИ: седем.desdelinux.фен. 3600 IN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Преименуваме екипа „седем“ на „LAGER“ и рестартираме. След рестартиране на новия LAGER проверяваме:

buzz @ sysadmin: ~ $ хост седем
Хост седем не е намерен: 5 (ОТКАЗАНО)

buzz@sysadmin:~$ хост седем.desdelinux.фен
Домакин седем.desdelinux.fan не е намерен: 3(NXDOMAIN)

бръмча@sysadmin: ~ $ хост лагер
лагер.desdelinux.fan има адрес 192.168.10.30

бръмча@sysadmin:~$host лагер.desdelinux.фен
лагер.desdelinux.fan има адрес 192.168.10.30

buzz@sysadmin:~$ dig IN TXT lager.desdelinux.фен
.... ;; РАЗДЕЛ ЗА ВЪПРОС: ;lager.desdelinux.фен. В TXT ;; РАЗДЕЛ ЗА ОТГОВОРИ: лагер.desdelinux.фен. 3600 IN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....

По отношение на клиента suse-desktop:

buzz @ sysadmin: ~ $ host suse-dektop
Не е намерен домакин suse-dektop: 5 (ОТКАЗАНО)

buzz @ sysadmin: ~ $ host suse-desktop
suse-десктоп.desdelinux.fan има адрес 192.168.10.33

buzz@sysadmin:~$ хост suse-desktop.desdelinux.фен
suse-десктоп.desdelinux.fan има адрес 192.168.10.33

buzz @ sysadmin: ~ $ хост 192.168.10.33
33.10.168.192.in-addr.arpa указател на име на домейн suse-desktop.desdelinux.фен.

buzz @ sysadmin: ~ $ хост 192.168.10.30
30.10.168.192.in-addr.arpa показалец на име на домейн LAGER.desdelinux.фен.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; РАЗДЕЛ ЗА ВЪПРОС: ;33.10.168.192.in-addr.arpa. В PTR ;; СЕКЦИЯ ЗА ОТГОВОРИ: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.desdelinux.фен. ;; СЕКЦИЯ ЗА АВТОРИТЕТ: 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.фен. ;; ДОПЪЛНИТЕЛНА РАЗДЕЛ: dns.desdelinux.фен. 10800 В ДО 192.168.10.5 ....

buzz@sysadmin:~$ dig IN TXT suse-desktop.desdelinux.фен....
;използване-десктоп.desdelinux.фен. В TXT ;; СЕКЦИЯ ЗА ОТГОВОРИ: suse-desktop.desdelinux.фен. 3600 IN TXT "31b78d287769160c93e6dca472e9b46d73"

;; ОРГАНИЗАЦИЯ:
desdelinux.фен. 10800 IN NS dns.desdelinux.фен. ;; ДОПЪЛНИТЕЛНА РАЗДЕЛ: dns.desdelinux.фен. 10800 В ДО 192.168.10.5
....

Нека също изпълним следните команди

[root@dns ~]# dig desdelinux.вентилатор axfr
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.fan axfr ;; глобални опции: +cmd
desdelinux.фен. 10800 IN SOA dns.desdelinux.фен. root.dns.desdelinux.фен. 6 86400 3600 604800 10800
desdelinux.фен. 10800 IN NS dns.desdelinux.фен.
desdelinux.фен. 10800 IN MX 10 имейл.desdelinux.фен.
desdelinux.фен. 10800 В TXT „От Linux, вашият блог, посветен на свободния софтуер“ ad-dc.desdelinux.фен. 10800 В 192.168.10.3 блог.desdelinux.фен. 10800 В A 192.168.10.7 dns.desdelinux.фен. 10800 IN КЪМ 192.168.10.5 файлов сървър.desdelinux.фен. 10800 В 192.168.10.4 ftpserver.desdelinux.фен. 10800 В 192.168.10.8 LAGER.desdelinux.фен. 3600 IN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9„ЛАГЕР.desdelinux.фен.   3600 В имейл 192.168.10.30.desdelinux.фен. 10800 В 192.168.10.9 прокси уеб.desdelinux.фен. 10800 IN A 192.168.10.6 suse-десктоп.desdelinux.фен. 3600 IN TXT"31b78d287769160c93e6dca472e9b46d73" suse-десктоп.desdelinux.фен. 3600 В 192.168.10.33 системен администратор.desdelinux.фен. 10800 IN ДО 192.168.10.1
desdelinux.фен. 10800 IN SOA dns.desdelinux.фен. root.dns.desdelinux.фен. 6 86400 3600 604800 10800

В предишния резултат, маркирахме с удебелен шрифт TTL (в секунди) за устройства с IP адреси, зададени от DHCP услугата, които имат изрично декларирано TTL от 3600 , предоставено от DHCP. Статичните IP адреси се управляват от TTL от 3H (3 часа = 10800 секунди), декларирано в SOA записа на всеки зонов файл.

Те могат да проверят обратната зона по същия начин.

[root @ dns ~] # dig 10.168.192.in-addr.arpa axfr

Други изключително интересни команди са:

[root@dns ~]# 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 замразяване [зона [клас [изглед]]], спира динамичното актуализиране на зона. Ако не е посочен, всички ще бъдат замразени. Командата позволява ръчно редактиране на замразената зона или на всички зони. Всяка динамична актуализация ще бъде отказана, докато е замразена.
  • rndc размразяване [зона [клас [изглед]]], позволява динамични актуализации на предварително замразена зона. DNS сървърът презарежда зоновия файл от диска и динамичните актуализации се активират отново след завършване на презареждането.

Какви предпазни мерки трябва да се вземат при ръчно редактиране на зонов файл? Същото е, както ако го създаваме, като не забравяме да увеличим серийния номер с 1, преди да запазим файла с окончателните промени.

Пример:

[root @ dns ~] # rndc замръзване desdelinux.фен

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.фен
Модифицирам файла на зоната по някаква причина, необходима или не. Запазвам промените

[root @ dns ~] # rndc размразяване desdelinux.фен
Започна презареждане и размразяване на зоната. Проверете регистрационните файлове, за да видите резултата.

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

Грешката в предишния изход, която е показана в червено на конзолата, се дължи на факта, че „забравих“ да увелича серийния номер с 1. Ако бях следвал процедурата правилно, изходът щеше да бъде:

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

Обобщение

Досега разгледахме прилагането на двойката DNS - DHCP, важни и решаващи услуги за доброто представяне на нашата МСП мрежа, отнасящи се до предоставянето на динамични адреси чрез DHCP и разрешаването на компютърни и домейн имена чрез DNS.

Надяваме се сериозно да ви е харесала цялата процедура, както и на нас. Въпреки че може да изглежда по-трудно с помощта на конзолата, е много по-лесно и по-образователно да се внедри услуга в UNIX® / Linux с нейна помощ.

Простете ми всяко погрешно тълкуване на концепции, измислени, създадени, написани, преработени, пренаписани и публикувани на езика на Шекспир, а не на Сервантес. 

Следваща доставка

Мисля, че малко повече от същото - с теоретични допълнения за DNS записи - но в Debian. Не можем да забравим това разпределение, нали?


Добавяне като предпочитан източник в Google