Съдържание
- Стъпка 1: Инсталирайте необходимите пакети
- Стъпка 2: Глобална конфигурация на DNS сървър
- Стъпка 3: Създайте зона напред и назад
- Стъпка 4: Стартиране на DNS сървъра
- Стъпка 5: Променете настройките на защитната стена
- Стъпка 6: Настройване на права за достъп
- Стъпка 7: Тестване за грешки и завършване на конфигурацията
- Стъпка 8: Проверка на инсталирания DNS сървър
- Конфигуриране на клиентската страна на DNS сървъра
- Тестване на DNS сървър
- Въпроси и отговори
Стъпка 1: Инсталирайте необходимите пакети
Преди да започнем да разглеждаме следващите инструкции, искаме да отбележим, че нашият сайт вече има общо ръководство за конфигуриране на стандартен DNS в Linux. Препоръчваме ви да използвате точно този материал, ако трябва да зададете настройките за редовно посещение на интернет сайтове. След това ще ви покажем как да инсталирате първичен локален DNS сървър с клиентска страна.
Прочетете също: Конфигуриране на DNS в Linux
Като средство за създаване на локален DNS сървър препоръчваме да използвате свързване9... Конфигурирането на следващите конфигурационни файлове също ще се основава на общите принципи на поведението на този компонент. По подразбиране свързване9 липсва в операционната система, така че нека започнем с добавянето му.
- Стартирайте конзолата по удобен за вас начин. Това е в раздела "Приложения" — Любими или се отваря чрез стандартната клавишна комбинация Ctrl + Alt + T.
- Тук трябва да въведете командата
sudo yum install bind bind-utils -y
и кликнете върху Въведете за да го активирате. - Това действие се извършва от името на суперпотребителя (судо), така че ще трябва да потвърдите акаунта, като въведете паролата в появилия се ред.
- Изчакайте изтеглянето и инсталирането на пакетите да завършат.
В края на този процес ще бъдете уведомени, че всички пакети са успешно добавени към системата. След това преминете към следващата стъпка.
Стъпка 2: Глобална конфигурация на DNS сървър
Сега искаме да покажем как точно се редактира основният конфигурационен файл, както и какви редове се добавят там. Няма да се спираме на всеки ред поотделно, тъй като ще отнеме много време, освен това цялата необходима информация е налична в официалната документация.
- Всеки редактор на текст може да се използва за редактиране на конфигурационни обекти. Предлагаме да инсталирате удобен нанокато напишете в конзолата
sudo yum инсталирате nano
. - Всички необходими пакети ще бъдат изтеглени и ако те вече присъстват в дистрибуцията, ще получите известие "Няма какво да се прави".
- Нека започнем да редактираме самия файл. Отворете го
sudo nano /etc/named.conf
... Ако е необходимо, заменете желания текстов редактор, тогава редът ще изглежда по следния начин:sudo vi /etc/named.conf
. - По-долу ще предоставим съдържанието, което трябва да вмъкнете в отворения файл, или да го сравните със съществуващия, като добавите липсващите редове.
- След това кликнете върху Ctrl + Oза да запишете промените.
- Не е нужно да променяте името на файла, просто кликнете върху Въведете.
- Оставете текстовия редактор чрез Ctrl + X.
Както бе споменато по-рано, ще трябва да вмъкнете определени редове в конфигурационния файл, които задават общите правила за поведението на DNS сървъра.
//
// named.conf
//
// Предоставя се от пакета за свързване на Red Hat за конфигуриране на ISC BIND с име (8) DNS
// сървър като сървър на имена само за кеширане (само като локален DNS преобразувател).
//
// Вижте / usr / share / doc / bind * / sample / например наречени конфигурационни файлове.
//
настроики {
порт за слушане 53 {127.0.0.1; 192.168.1.101;}; ### Главен DNS IP ###
# слушане на-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";
allow-query {localhost; 192.168.1.0/24;}; ### IP обхват ###
allow-transfer {localhost; 192.168.1.102; }; ### IP подчинен DNS ###
/*
- Ако изграждате АВТОРИТАТИВЕН DNS сървър, НЕ разрешавайте рекурсия.
- Ако изграждате РЕКУРСИВЕН (кеширащ) DNS сървър, трябва да активирате
рекурсия.
- Ако вашият рекурсивен DNS сървър има публичен IP адрес, ТРЯБВА да разрешите достъп
контрол за ограничаване на заявките до вашите легитимни потребители. Ако не го направи, ще го направи
накарайте вашия сървър да стане част от широкомащабно усилване на DNS
атаки. Внедряването на BCP38 във вашата мрежа би довело до голяма степен
намаляване на такава повърхност за атака
*/
рекурсия да;
dnssec-enable да;
dnssec-валидиране да;
dnssec-lookaside auto;
/ * Път към ISC DLV ключ * /
bindkeys-файл "/etc/named.iscdlv.key";
управляван-ключове-директория "/ var / named / dynamic";
pid-файл "/run/named/named.pid";
сесиен ключ-файл "/run/named/session.key";
};
регистрация {
канал по подразбиране {
файл "data / named.run";
динамика на тежестта;
};
};
зона "." IN {
подсказка за тип;
файл "named.ca";
};
зона "unixmen.local" IN {
майстор на типа;
файл "forward.unixmen";
allow-update {няма; };
};
зона "1.168.192.in-addr.arpa" В {
майстор на типа;
файл "reverse.unixmen";
allow-update {няма; };
};
включва "/etc/named.rfc1912.zones";
включва "/etc/named.root.key";
Уверете се, че всичко е настроено точно както е показано по-горе, и едва след това преминете към следващата стъпка.
Стъпка 3: Създайте зона напред и назад
DNS сървърът използва зони напред и назад, за да получи информация за източника. Пренасочването ви позволява да получите IP адрес по име на хост, а обратното по IP ви дава име на домейн. Правилното функциониране на всяка зона трябва да бъде осигурено със специални правила, със създаването на които предлагаме да се справим допълнително.
- Нека създадем отделен файл за директната зона, използвайки същия текстов редактор.Тогава линията ще изглежда така:
sudo nano /var/named/forward.unixmen
. - Ще бъдете уведомени, че това е празен обект. Поставете следното съдържание там:
$ TTL 86400
@ В SOA masterdns.unixmen.local. root.unixmen.local. (
2011071001; Сериен
3600; Опресняване
1800; Повторен опит
604800; Изтичане
86400; Минимален TTL
)
@ IN NS masterdns.unixmen.local.
@ В NS вторичен dns.unixmen.local.
@ В 192.168.1.101
@ В 192.168.1.102
@ В 192.168.1.103
masterdns В А 192.168.1.101
вторични dns В A 192.168.1.102
клиент В 192.168.1.103 - Запазете промените си и затворете текстовия редактор.
- Сега да преминем към обратната зона. Изисква файл
/var/named/reverse.unixmen
. - Това също ще бъде нов празен файл. Поставете там:
$ TTL 86400
@ В SOA masterdns.unixmen.local. root.unixmen.local. (
2011071001; Сериен
3600; Опресняване
1800; Повторен опит
604800; Изтичане
86400; Минимален TTL
)
@ IN NS masterdns.unixmen.local.
@ В NS вторичен dns.unixmen.local.
@ В PTR unixmen.local.
masterdns В А 192.168.1.101
вторични dns В A 192.168.1.102
клиент В 192.168.1.103
101 В PTR masterdns.unixmen.local.
102 В PTR вторични dns.unixmen.local.
103 В PTR client.unixmen.local. - Когато записвате, не променяйте името на обекта, а просто натиснете клавиша Въведете.
Сега посочените файлове ще се използват за зоните напред и назад. Ако е необходимо, трябва да ги редактирате, за да промените някои параметри. Можете също да прочетете за това в официалната документация.
Стъпка 4: Стартиране на DNS сървъра
След като следвате всички предишни инструкции, вече можете да стартирате DNS сървъра, така че в бъдеще да е лесно да проверите неговата работоспособност и да продължите да конфигурирате важни параметри. Задачата се извършва по следния начин:
- В конзолата въведете
sudo systemctl разрешено име
за добавяне на DNS сървър към стартиране за автоматично стартиране при стартиране на операционната система. - Потвърдете това действие, като въведете паролата за суперпотребител.
- Ще бъдете уведомени за създаването на символична връзка, което означава, че действието е било успешно.
- Стартирайте помощната програма чрез
systemctl стартиран с име
... Можете да го спрете по същия начин, само като замените опцията старт НаСпри се
. - Когато се появи изскачащият прозорец за удостоверяване, въведете основната парола.
Както можете да видите, управлението на посочената услуга се извършва по същия принцип като всички други стандартни помощни програми, така че не би трябвало да има проблеми с това дори за начинаещи потребители.
Стъпка 5: Променете настройките на защитната стена
За правилното функциониране на DNS сървъра трябва да отворите порт 53, който се осъществява чрез стандартната защитна стена FirewallD. IN "Терминал" трябва да въведете само три прости команди:
- Първият има формата
firewall-cmd --permanent --add-port = 53 / tcp
и е отговорен за отваряне на TCP порта. Поставете го в конзолата и кликнете върху Въведете. - Трябва да бъдете уведомени "Успех", което показва успешното прилагане на правилото. След това поставете реда
firewall-cmd --permanent --add-port = 53 / udp
за да отворите UDP порт. - Всички промени ще бъдат приложени само след рестартиране на защитната стена, което се извършва чрез командата
firewall-cmd --reload
.
Не е необходимо да правите повече промени в защитната стена. Дръжте го включено по всяко време, за да избегнете проблеми при получаването на достъп.
Стъпка 6: Настройване на права за достъп
Сега ще трябва да зададете основни разрешения и права за достъп, за да защитите леко функционирането на DNS сървъра и да защитите обикновените потребители от възможността да променят параметрите. Нека го направим по стандартния начин и чрез SELinux.
- Всички следващи команди трябва да бъдат активирани от името на суперпотребителя. За да не въвеждате постоянно паролата, ви съветваме да активирате постоянен корен достъп за текущата терминална сесия. За да направите това, влезте в конзолата
су
. - Въведете паролата за достъп.
- След това въведете следните команди една по една, за да създадете оптималната настройка за достъп:
chgrp с име -R / var / named
chown -v корен: име /etc/named.conf
restorecon -rv / var / named
restorecon /etc/named.conf
Това завършва общата конфигурация на главния DNS сървър. Остава само да редактирате няколко конфигурационни файла и да тествате за грешки. С всичко това предлагаме да го разберем в следващата стъпка.
Стъпка 7: Тестване за грешки и завършване на конфигурацията
Препоръчваме ви да започнете с проверка за грешки, за да не се налага да променяте останалите конфигурационни файлове в бъдеще. Ето защо ще разгледаме всичко това в рамките на една стъпка, както и ще предоставим примери за правилен изход на командата за тестване.
- Въведете "Терминал"
named-checkconf /etc/named.conf
... Това ще провери глобалните параметри. Ако в резултат не последва изход, тогава всичко е конфигурирано правилно. В противен случай изучете съобщението и като започнете от него, решете проблема. - След това трябва да проверите директната зона, като вмъкнете линията
named-checkzone unixmen.local /var/named/forward.unixmen
. - Примерният изход изглежда така:
зона unixmen.local / IN: заредена серийна 2011071001 ОК
. - Извършваме приблизително същото с обратната зона през
named-checkzone unixmen.local /var/named/reverse.unixmen
. - Правилният изход трябва да бъде по следния начин:
зона unixmen.local / IN: заредена серийна 2011071001 ОК
. - Сега да преминем към настройките на основния мрежов интерфейс. Ще трябва да добавите към него данните на текущия DNS сървър. За да направите това, отворете файла
/ etc / sysconfig / network-scripts / ifcfg-enp0s3
. - Уверете се, че съдържанието е както е показано по-долу. Поставете DNS параметрите, ако е необходимо.
ТИП = "Ethernet"
BOOTPROTO = "няма"
DEFROUTE = "да"
IPV4_FAILURE_FATAL = "не"
IPV6INIT = "да"
IPV6_AUTOCONF = "да"
IPV6_DEFROUTE = "да"
IPV6_FAILURE_FATAL = "не"
ИМЕ = "enp0s3"
UUID = "5d0428b3-6af2-4f6b-9fe3-4250cd839efa"
ONBOOT = "да"
HWADDR = "08: 00: 27: 19: 68: 73"
IPADDR0 = "192.168.1.101"
PREFIX0 = "24"
GATEWAY0 = "192.168.1.1"
DNS = "192.168.1.101"
IPV6_PEERDNS = "да"
IPV6_PEERROUTES = "да" - След запазване на промените отидете във файла
/etc/resolv.conf
. - Тук трябва да добавите само един ред:
сървър за имена 192.168.1.101
. - Когато приключите, остава само да рестартирате мрежата или компютъра, за да актуализирате конфигурацията. Мрежовата услуга се рестартира чрез командата
мрежа за рестартиране на systemctl
.
Стъпка 8: Проверка на инсталирания DNS сървър
В края на конфигурацията остава само да се провери работата на съществуващия DNS сървър, след като е добавен към глобалната мрежова услуга. Тази операция също се извършва с помощта на специални команди. Първият от тях има формата изкопайте masterdns.unixmen.local
.
В резултат на това екранът трябва да показва изход, който изглежда подобно на съдържанието по-долу.
; <> DiG 9.9.4-RedHat-9.9.4-14.el7 <> masterdns.unixmen.local
;; глобални опции: + cmd
;; Получих отговор:
;; - >> HEADER << - opcode: QUERY, статус: NOERROR, id: 25179
;; знамена: qr aa rd ra; ЗАПИТВАНЕ: 1, ОТГОВОР: 1, ВЛАСТ: 2, ДОПЪЛНИТЕЛНО: 2
;; ОПТ ПСЕВДОСЕКЦИЯ:
; EDNS: версия: 0, флагове:; udp: 4096
;; РАЗДЕЛ ВЪПРОС:
; masterdns.unixmen.local. В
;; ОТГОВОР СЕКЦИЯ:
masterdns.unixmen.local. 86400 В 192.168.1.101
;; РАЗДЕЛ НА ВЛАСТТА:
unixmen.local. 86400 В NS вторични dns.unixmen.local.
unixmen.local. 86400 В NS masterdns.unixmen.local.
;; ДОПЪЛНИТЕЛЕН РАЗДЕЛ:
seconddns.unixmen.local. 86400 В 192.168.1.102
;; Време за заявка: 0 мсек
;; СЪРВЪР: 192.168.1.101 # 53 (192.168.1.101)
;; КОГА: сряда, 20 август 16:20:46 IST 2014
;; MSG SIZE rcvd: 125
Допълнителна команда ще ви позволи да разберете за състоянието на работата на локалния DNS сървър. За да направите това, поставете в конзолата nslookup unixmen.local
и кликнете върху Въведете.
Това трябва да показва три различни представяния на IP адреси и имена на домейни.
Сървър: 192.168.1.101
Адрес: 192.168.1.101 # 53
Име: unixmen.local
Адрес: 192.168.1.103
Име: unixmen.local
Адрес: 192.168.1.101
Име: unixmen.local
Адрес: 192.168.1.102
Ако изходът съвпада с посочения от нас, тогава конфигурацията е завършена успешно и можете да продължите да работите с клиентската страна на DNS сървъра.
Конфигуриране на клиентската страна на DNS сървъра
Няма да разделяме тази процедура на отделни стъпки, тъй като тя се извършва чрез редактиране само на един конфигурационен файл. Необходимо е да се добави информация за всички клиенти, които ще бъдат свързани към сървъра, а пример за такава настройка изглежда така:
- Отворете файла
/etc/resolv.conf
чрез всеки удобен текстов редактор. - Добавете редове там
търсене unixmen.local nameserver 192.168.1.101
исървър за имена 192.168.1.102
, заменяйки необходимите с адреси на клиенти. - Когато записвате, не променяйте името на файла, просто натиснете клавиша Въведете.
- След като излезете от текстовия редактор, не забравяйте да рестартирате глобалната мрежа чрез командата
мрежа за рестартиране на systemctl
.
Това бяха основните моменти за конфигуриране на клиентската страна на DNS сървъра, за които искахме да поговорим. Предлагаме да проучите всички останали нюанси, като прочетете официалната документация, ако е необходимо.
Тестване на DNS сървър
Последният етап от днешния ни материал е окончателното тестване на DNS сървъра. По-долу можете да видите няколко команди за справяне със задачата. Използвайте един от тях, като активирате чрез "Терминал"... Ако в изхода няма грешки, тогава целият процес е правилен.
изкопайте masterdns.unixmen.local
копаят вторични dns.unixmen.local
копаят client.unixmen.local
nslookup unixmen.local
Днес научихте всичко за настройването на главен DNS сървър на дистрибуция CentOS. Както можете да видите, цялата операция е фокусирана върху въвеждане на команди на терминала и редактиране на конфигурационни файлове, което може да причини определени трудности за начинаещи потребители. Всичко, което трябва да направите, е да следвате точно инструкциите и да прочетете резултатите от проверките, така че всичко да премине без грешки.