Како да го конфигурирате BIND како приватен мрежен DNS-сервер на Ubuntu 16.04
Вовед
Важен дел од управувањето со конфигурацијата и инфраструктурата на серверот вклучува одржување на лесен начин за пребарување на мрежните интерфејси и IP адреси по име, со поставување на соодветен систем за име на домен (DNS). Користењето на целосно квалификувани имиња на домени (FQDN), наместо IP адреси, за одредување мрежни адреси ја олеснува конфигурацијата на услугите и апликациите и ја зголемува одржливоста на конфигурациските датотеки. Поставувањето сопствен DNS за вашата приватна мрежа е одличен начин за подобрување на управувањето со вашите сервери.
Во ова упатство, ќе разгледаме како да поставите внатрешен DNS сервер, користејќи го софтверот за серверот за име BIND (BIND9) на Ubuntu 16.04, што може да го користат вашите сервери за решавање на приватни имиња на домаќини и приватни IP адреси. Ова обезбедува централен начин за управување со вашите внатрешни имиња на домаќини и приватни IP адреси, што е неопходно кога вашата околина се проширува на повеќе од неколку хостови.
Верзијата на CentOS на ова упатство може да се најде овде.
Предуслови
За да го завршите ова упатство, ќе ви треба следново:
- Некои сервери работат во истиот центар за податоци со овозможена приватна мрежа. Тоа ќе бидат вашите DNS клиенти.
- Нов сервер кој ќе служи како примарен DNS сервер, ns1
- (Препорачано) Нов сервер кој ќе служи како секундарен DNS-сервер, ns2
- Административен пристап со корисник
sudo
до горенаведените сервери. Можете да го следите нашиот првичен водич за поставување на серверот Ubuntu 16.04 за да го поставите ова.
Ако не сте запознаени со концептите на DNS, се препорачува да ги прочитате барем првите три дела од нашиот Вовед во управувањето со DNS.
Пример инфраструктура и цели
За целите на овој напис, ќе го претпоставиме следново:
- Имаме два постоечки клиентски сервери кои ќе ја користат DNS инфраструктурата што ја создаваме. Овие ќе ги наречеме домаќин1 и домаќин2 во ова упатство. Можете да додадете колку што сакате за вашата инфраструктура.
- Имаме дополнителни два сервери кои ќе бидат назначени како наши сервери за DNS имиња. Ќе ги нарекуваме ns1 и ns2 во ова упатство.
- Сите овие сервери постојат во истиот центар за податоци. Ќе претпоставиме дека ова е податочниот центар nyc3.
- Сите овие сервери имаат овозможено приватно вмрежување (и се на подмрежата
10.128.0.0/16
. Веројатно ќе треба да го прилагодите ова за вашите сервери). - Сите сервери се некако поврзани со нашата веб-апликација што работи на \example.com.
Со овие претпоставки, одлучуваме дека има смисла да се користи шема за именување што користи \host1.nyc3.example.com. Погледнете ги релевантните детали во следната табела:
Host | Role | Private FQDN | Private IP Address |
---|---|---|---|
ns1 | Primary DNS Server | ns1.nyc3.example.com | 10.128.10.11 |
ns2 | Secondary DNS Server | ns2.nyc3.example.com | 10.128.20.12 |
host1 | Generic Host 1 | host1.nyc3.example.com | 10.128.100.101 |
host2 | Generic Host 2 | host2.nyc3.example.com | 10.128.200.102 |
Вашето постоечко поставување ќе биде различно, но имињата на примерите и IP-адресите ќе се користат за да се демонстрира како да се конфигурира DNS-сервер за да се обезбеди функционален внатрешен DNS. Треба да можете лесно да го прилагодите ова поставување на вашата околина со замена на имињата на домаќините и приватните IP адреси со свои. Не е неопходно да се користи името на регионот на центарот за податоци во вашата шема за именување, но ние го користиме овде за да означиме дека овие хостови припаѓаат на приватната мрежа на одреден центар за податоци. Ако користите повеќе центри за податоци, можете да поставите внатрешен DNS во секој соодветен центар за податоци.
До крајот на ова упатство, ќе имаме примарен DNS сервер, ns1 и по избор секундарен DNS сервер, ns2, кој ќе служи како резервна копија.
Ајде да започнеме со инсталирање на нашиот примарен DNS сервер, ns1.
Инсталирајте BIND на DNS сервери
Текстот што е означен со црвено е важен! Често ќе се користи за означување на нешто што треба да се замени со вашите сопствени поставки или дека треба да се измени или додаде во конфигурациска датотека. На пример, ако видите нешто како host1.nyc3.example.com
, заменете го со FQDN на вашиот сопствен сервер. Исто така, ако видите host1_private_IP
, заменете ја со приватната IP адреса на вашиот сопствен сервер.
На двата DNS сервери, ns1 и ns2, ажурирајте го кешот на пакетот apt
со внесување:
- sudo apt-get update
Сега инсталирајте BIND:
- sudo apt-get install bind9 bind9utils bind9-doc
Режим IPv4
Пред да продолжиме, да го поставиме BIND во режим IPv4. На двата сервери, уредете ја системската единица датотека bind9
со внесување:
- sudo systemctl edit --full bind9
Додадете \-4 на крајот од директивата ExecStart
. Треба да изгледа вака:
. . .
[Service]
ExecStart=/usr/sbin/named -f -u bind -4
Зачувајте го и затворете го уредникот кога ќе завршите.
Повторно вчитајте го системскиот демон за да ја прочитате новата конфигурација во активниот систем:
- sudo systemctl daemon-reload
Рестартирајте го BIND за да ги имплементирате промените:
- sudo systemctl restart bind9
Сега кога BIND е инсталиран, ајде да го конфигурираме примарниот DNS-сервер.
Конфигурирајте го примарниот DNS-сервер
Конфигурацијата на BIND се состои од повеќе датотеки, кои се вклучени од главната конфигурациска датотека, named.conf
. Овие имиња на датотеки започнуваат со named
бидејќи тоа е името на процесот што го извршува BIND. Ќе започнеме со конфигурирање на датотеката со опции.
Конфигурирај ја датотеката со опции
На ns1, отворете ја датотеката named.conf.options
за уредување:
- sudo nano /etc/bind/named.conf.options
Над постојниот блок опции
, креирајте нов блок ACL наречен \доверлив. Ова е местото каде што ќе ја дефинираме листата на клиенти од кои ќе дозволиме рекурзивни барања за DNS (т.е. вашите сервери кои се во истиот центар за податоци како ns1). домаќин2 на нашата листа на доверливи клиенти:
acl "trusted" {
10.128.10.11; # ns1 - can be set to localhost
10.128.20.12; # ns2
10.128.100.101; # host1
10.128.200.102; # host2
};
options {
. . .
Сега кога ја имаме нашата листа на доверливи DNS клиенти, ќе сакаме да го уредиме блокот опции
. Во моментов, почетокот на блокот изгледа вака:
. . .
};
options {
directory "/var/cache/bind";
. . .
}
Под директивата директориум
, додајте ги означените конфигурациски линии (и заменете ги со соодветната IP адреса ns1), така што изгледа вака:
. . .
};
options {
directory "/var/cache/bind";
recursion yes; # enables resursive queries
allow-recursion { trusted; }; # allows recursive queries from "trusted" clients
listen-on { 10.128.10.11; }; # ns1 private IP address - listen on private network only
allow-transfer { none; }; # disable zone transfers by default
forwarders {
8.8.8.8;
8.8.4.4;
};
. . .
};
Кога ќе завршите, зачувајте ја и затворете ја датотеката named.conf.options
. Горенаведената конфигурација специфицира дека само вашите сопствени сервери („доверливите“) ќе можат да го побараат вашиот DNS-сервер.
Следно, ќе ја конфигурираме локалната датотека, за да ги одредиме нашите DNS зони.
Конфигурирајте ја локалната датотека
На ns1, отворете ја датотеката named.conf.local
за уредување:
- sudo nano /etc/bind/named.conf.local
Освен неколку коментари, датотеката треба да биде празна. Овде, ќе ги специфицираме нашите зони напред и назад.
Додајте ја напредната зона со следните линии (заменете го името на зоната со свое):
zone "nyc3.example.com" {
type master;
file "/etc/bind/zones/db.nyc3.example.com"; # zone file path
allow-transfer { 10.128.20.12; }; # ns2 private IP address - secondary
};
Претпоставувајќи дека нашата приватна подмрежа е 10.128.0.0/16
, додајте ја обратната зона со со следните линии (забележете дека името на нашата обратна зона започнува со „128.10“ што е октет пресврт на \10.128):
. . .
};
zone "128.10.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.10.128"; # 10.128.0.0/16 subnet
allow-transfer { 10.128.20.12; }; # ns2 private IP address - secondary
};
Ако вашите сервери опфаќаат повеќе приватни подмрежи, но се во истиот центар за податоци, погрижете се да наведете дополнителна зона и датотека со зона за секоја посебна подмрежа. Кога ќе завршите со додавање на сите ваши посакувани зони, зачувајте и излезете од датотеката named.conf.local
.
Сега, кога нашите зони се наведени во BIND, треба да ги создадеме соодветните датотеки за напред и назад зона.
Креирај датотека за зона за напред
Датотеката за напредна зона е местото каде што ги дефинираме записите на DNS за пребарување на DNS напред. Односно, кога DNS ќе добие барање за име, \host1.nyc3.example.com, на пример, ќе погледне во датотеката со зоната напред за да ја реши соодветната приватна IP адреса на домаќинот1.
Ајде да го создадеме директориумот каде што ќе се наоѓаат нашите зонски датотеки. Според нашата конфигурација named.conf.local, таа локација треба да биде /etc/bind/zones
:
- sudo mkdir /etc/bind/zones
Ќе ја засноваме нашата датотека со напредна зона на примерок од датотеката за зона db.local
. Копирајте го на соодветната локација со следните команди:
- cd /etc/bind/zones
- sudo cp ../db.local ./db.nyc3.example.com
Сега ајде да ја уредиме нашата датотека со напредна зона:
- sudo nano /etc/bind/zones/db.nyc3.example.com
Првично, ќе изгледа нешто како следново:
$TTL 604800
@ IN SOA localhost. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost. ; delete this line
@ IN A 127.0.0.1 ; delete this line
@ IN AAAA ::1 ; delete this line
Прво, ќе сакате да го уредите записот SOA. Заменете го првиот \localhost со FQDN на ns1, а потоа заменете го \root.localhost со \admin.nyc3.example.com. Исто така, секогаш кога уредувате датотека со зона, треба да ја зголемите сериската вредност пред да го рестартирате процесот именуван
. Ќе ја зголемиме на \3. Треба да изгледа вака:
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. (
3 ; Serial
. . .
Сега избришете ги трите записи на крајот од датотеката (по записот SOA). Ако не сте сигурни кои линии да ги избришете, тие се означени со коментар „избриши ја оваа линија“ погоре.
На крајот од датотеката, додајте ги записите на вашиот сервер за имиња со следните редови (заменете ги имињата со вашите). Забележете дека втората колона одредува дека ова се записи \NS:
. . .
; name servers - NS records
IN NS ns1.nyc3.example.com.
IN NS ns2.nyc3.example.com.
Потоа додадете ги записите А за вашите хостови кои припаѓаат во оваа зона. Ова го вклучува секој сервер чие име сакаме да заврши со \.nyc3.example.com (заменете ги имињата и приватните IP адреси). Користејќи ги нашите примери имиња и приватни IP адреси, ќе додадеме записи А за ns1<, ns2, домаќин1 и домаќин2 вака:
. . .
; name servers - A records
ns1.nyc3.example.com. IN A 10.128.10.11
ns2.nyc3.example.com. IN A 10.128.20.12
; 10.128.0.0/16 - A records
host1.nyc3.example.com. IN A 10.128.100.101
host2.nyc3.example.com. IN A 10.128.200.102
Зачувајте ја и затворете ја датотеката db.nyc3.example.com
.
Нашиот последен пример датотека за напредна зона изгледа вака:
$TTL 604800
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
; name servers - NS records
IN NS ns1.nyc3.example.com.
IN NS ns2.nyc3.example.com.
; name servers - A records
ns1.nyc3.example.com. IN A 10.128.10.11
ns2.nyc3.example.com. IN A 10.128.20.12
; 10.128.0.0/16 - A records
host1.nyc3.example.com. IN A 10.128.100.101
host2.nyc3.example.com. IN A 10.128.200.102
Сега да преминеме на датотеката(ите) на обратна зона.
Креирајте датотека(и) со обратна зона
Датотеката за обратна зона е местото каде што ги дефинираме записите на DNS PTR за обратно пребарување на DNS. Односно, кога DNS ќе прими барање по IP адреса, \10.128.100.101, на пример, ќе погледне во датотеката(ите) на обратната зона за да го реши соодветниот FQDN, \host1.nyc3.example.com во овој случај.
На ns1, за секоја обратна зона наведена во датотеката named.conf.local
, креирајте датотека со обратна зона. Ќе ги засноваме нашите датотеки со обратна зона на примерок од датотеката за зона db.127
. Копирајте ја на соодветната локација со следните команди (заменувајќи го името на дестинацијата на датотеката за да одговара на вашата дефиниција за обратна зона):
- cd /etc/bind/zones
- sudo cp ../db.127 ./db.10.128
Уредете ја датотеката со обратна зона што одговара на обратната зона(ите) дефинирани во named.conf.local
:
- sudo nano /etc/bind/zones/db.10.128
Првично, ќе изгледа нешто како следново:
$TTL 604800
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS localhost. ; delete this line
1.0.0 IN PTR localhost. ; delete this line
На ист начин како и датотеката за напредна зона, ќе сакате да го уредите записот SOA и да ја зголемите сериската вредност. Треба да изгледа вака:
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. (
3 ; Serial
. . .
Сега избришете ги двата записи на крајот од датотеката (по записот SOA). Ако не сте сигурни кои линии да ги избришете, тие се означени со коментар „избриши ја оваа линија“ погоре.
На крајот од датотеката, додајте ги записите на вашиот сервер за имиња со следните редови (заменете ги имињата со вашите). Забележете дека втората колона одредува дека ова се записи \NS:
. . .
; name servers - NS records
IN NS ns1.nyc3.example.com.
IN NS ns2.nyc3.example.com.
Потоа додадете записи PTR
за сите ваши сервери чии IP адреси се на подмрежата на зоната датотека што ја уредувате. Во нашиот пример, ова ги вклучува сите наши хостови бидејќи сите тие се на подмрежата 10.128.0.0/16
. Забележете дека првата колона се состои од последните два октети од приватните IP адреси на вашите сервери во обратен редослед. Не заборавајте да ги замените имињата и приватните IP адреси за да одговараат на вашите сервери:
. . .
; PTR Records
11.10 IN PTR ns1.nyc3.example.com. ; 10.128.10.11
12.20 IN PTR ns2.nyc3.example.com. ; 10.128.20.12
101.100 IN PTR host1.nyc3.example.com. ; 10.128.100.101
102.200 IN PTR host2.nyc3.example.com. ; 10.128.200.102
Зачувајте ја и затворете ја датотеката со обратна зона (повторете го овој дел ако треба да додадете повеќе датотеки со обратна зона).
Нашиот последен пример датотека за обратна зона изгледа вака:
$TTL 604800
@ IN SOA nyc3.example.com. admin.nyc3.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; name servers
IN NS ns1.nyc3.example.com.
IN NS ns2.nyc3.example.com.
; PTR Records
11.10 IN PTR ns1.nyc3.example.com. ; 10.128.10.11
12.20 IN PTR ns2.nyc3.example.com. ; 10.128.20.12
101.100 IN PTR host1.nyc3.example.com. ; 10.128.100.101
102.200 IN PTR host2.nyc3.example.com. ; 10.128.200.102
Проверете ја синтаксата за конфигурација BIND
Извршете ја следнава команда за да ја проверите синтаксата на датотеките named.conf*
:
- sudo named-checkconf
Ако вашите именувани конфигурациски датотеки немаат синтаксички грешки, ќе се вратите во известувањето за школка и нема да видите пораки за грешка. Ако има проблеми со вашите конфигурациски датотеки, прегледајте ја пораката за грешка и делот \„Конфигурирај примарен DNS сервер“, а потоа обидете се повторно со named-checkconf
.
Командата named-checkzone
може да се користи за проверка на исправноста на датотеките во зоната. Нејзиниот прв аргумент го одредува името на зоната, а вториот аргумент ја одредува соодветната датотека на зоната, кои се и двете дефинирани во named.conf.local
.
На пример, за да ја проверите конфигурацијата на зоната за напред \nyc3.example.com, извршете ја следнава команда (променете ги имињата за да одговараат на вашата зона и датотека за напред):
- sudo named-checkzone nyc3.example.com db.nyc3.example.com
И за да ја проверите конфигурацијата на обратната зона \128.10.in-addr.arpa“, извршете ја следнава команда (променете ги броевите за да одговараат на вашата обратна зона и датотека):
- sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128
Кога сите ваши датотеки со конфигурација и зона немаат грешки во нив, треба да бидете подготвени да ја рестартирате услугата BIND.
Рестартирајте го BIND
Рестартирајте го BIND:
- sudo systemctl restart bind9
Ако го имате конфигурирано заштитниот ѕид UFW, отворете го пристапот до BIND со внесување:
- sudo ufw allow Bind9
Вашиот примарен DNS-сервер сега е поставен и е подготвен да одговори на барањата за DNS. Ајде да продолжиме со создавање на секундарен DNS-сервер.
Конфигурирајте го секундарниот DNS-сервер
Во повеќето средини, добра идеја е да поставите секундарен DNS сервер кој ќе одговори на барањата ако примарниот стане недостапен. За среќа, секундарниот DNS-сервер е многу полесен за конфигурирање.
На ns2, уредете ја датотеката named.conf.options
:
- sudo nano /etc/bind/named.conf.options
На врвот на датотеката, додајте ACL со приватните IP адреси на сите ваши доверливи сервери:
acl "trusted" {
10.128.10.11; # ns1
10.128.20.12; # ns2 - can be set to localhost
10.128.100.101; # host1
10.128.200.102; # host2
};
options {
. . .
Под директивата директориум
, додајте ги следните редови:
recursion yes;
allow-recursion { trusted; };
listen-on { 10.128.20.12; }; # ns2 private IP address
allow-transfer { none; }; # disable zone transfers by default
forwarders {
8.8.8.8;
8.8.4.4;
};
Зачувајте ја и затворете ја датотеката named.conf.options
. Оваа датотека треба да изгледа точно како датотеката named.conf.options
на ns1, освен што треба да биде конфигурирана да слуша на приватната IP адреса на ns2 .
Сега уредете ја датотеката named.conf.local
:
- sudo nano /etc/bind/named.conf.local
Дефинирајте slave зони кои одговараат на главните зони на примарниот DNS сервер. Имајте предвид дека типот е \slave, датотеката не содржи патека и има директива master
која треба да се постави на приватната IP адреса на примарниот DNS сервер. Ако сте дефинирале повеќе обратни зони во примарниот DNS сервер, погрижете се да ги додадете сите овде:
zone "nyc3.example.com" {
type slave;
file "slaves/db.nyc3.example.com";
masters { 10.128.10.11; }; # ns1 private IP
};
zone "128.10.in-addr.arpa" {
type slave;
file "slaves/db.10.128";
masters { 10.128.10.11; }; # ns1 private IP
};
Сега зачувајте ја и затворете ја датотеката named.conf.local
.
Извршете ја следнава команда за да ја проверите валидноста на вашите конфигурациски датотеки:
- sudo named-checkconf
Откако ќе се провери, рестартирајте го BIND:
- sudo systemctl restart bind9
Дозволете DNS врски со серверот со менување на правилата за заштитен ѕид на UFW:
- sudo ufw allow Bind9
Сега имате примарни и секундарни DNS сервери за име на приватна мрежа и резолуција на IP адреса. Сега мора да ги конфигурирате вашите клиентски сервери да ги користат вашите приватни DNS сервери.
Конфигурирајте ги клиентите за DNS
Пред сите ваши сервери во \доверливиот ACL да можат да ги побараат вашите DNS сервери, мора да го конфигурирате секој од нив да користи ns1 и ns2 како сервери за имиња. Овој процес се разликува во зависност од оперативниот систем, но за повеќето дистрибуции на Linux вклучува додавање на вашите сервери за имиња во датотеката /etc/resolv.conf
.
Клиенти на Ubuntu
На серверите на Ubuntu и Debian Linux, можете да ја уредувате датотеката /etc/network/interfaces
:
- sudo nano /etc/network/interfaces
Внатре, пронајдете ја линијата dns-nameservers
и поставете ги вашите сопствени сервери за имиња пред списокот што е моментално таму. Под таа линија, додајте опција dns-search
насочена кон основниот домен на вашата инфраструктура. Во нашиот случај, ова би било \nyc3.example.com”:
. . .
dns-nameservers 10.128.10.11 10.128.20.12 8.8.8.8
dns-search nyc3.example.com
. . .
Зачувајте ја и затворете ја датотеката кога ќе завршите.
Сега, рестартирајте ги вашите мрежни услуги, применувајќи ги новите промени со следните команди. Погрижете се да го замените eth0
со името на вашиот мрежен интерфејс:
- sudo ifdown --force eth0 && sudo ip addr flush dev eth0 && sudo ifup --force eth0
Ова треба да ја рестартира вашата мрежа без да ја прекине вашата тековна врска. Ако работи правилно, треба да видите нешто како ова:
OutputRTNETLINK answers: No such process
Waiting for DAD... Done
Проверете двапати дали вашите поставки се применети со впишување:
- cat /etc/resolv.conf
Треба да ги видите вашите сервери за имиња во датотеката /etc/resolv.conf
, како и вашиот домен за пребарување:
Output# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.128.10.11
nameserver 10.128.20.12
nameserver 8.8.8.8
search nyc3.example.com
Вашиот клиент сега е конфигуриран да ги користи вашите DNS сервери.
Клиенти на CentOS
На CentOS, RedHat и Fedora Linux VPS, уредете ја датотеката /etc/sysconfig/network-scripts/ifcfg-eth0
. Можеби ќе треба да го замените eth0
со името на вашиот примарен мрежен интерфејс:
- sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
Пребарајте ги опциите DNS1
и DNS2
и поставете ги на приватните IP адреси на вашите примарни и секундарни сервери за имиња. Додајте параметар DOMAIN
што е со основниот домен на вашата инфраструктура. Во ова упатство, тоа би било \nyc3.example.com”:
. . .
DNS1=10.128.10.11
DNS2=10.128.20.12
DOMAIN='nyc3.example.com'
. . .
Зачувајте ја и затворете ја датотеката кога ќе завршите.
Сега, рестартирајте ја мрежната услуга со внесување:
- sudo systemctl restart network
Командата може да виси неколку секунди, но наскоро треба да ве врати на промптот.
Проверете дали вашите промени се применети со пишување:
- cat /etc/resolv.conf
Треба да ги видите вашите сервери за имиња и доменот за пребарување во списокот:
nameserver 10.128.10.11
nameserver 10.128.20.12
search nyc3.example.com
Тест клиенти
Користете nslookup
за да тестирате дали вашите клиенти можат да ги побараат вашите сервери за имиња. Треба да можете да го направите ова на сите клиенти што сте ги конфигурирале и се во „доверливиот“ ACL.
За клиентите на CentOS, можеби ќе треба да ја инсталирате алатката со:
- sudo yum install bind-utils
Пребарување напред
На пример, можеме да извршиме пребарување напред за да ја вратиме IP адресата на host1.nyc3.example.com со извршување на следнава команда:
- nslookup host1
Барањето \host1 се проширува на host1.nyc3.example.com бидејќи опцијата search
е поставена на вашиот приватен поддомен, а прашањата за DNS ќе се обидат да го погледнат тој поддомен пред да го бараат домаќинот на друго место . Излезот од командата погоре ќе изгледа вака:
Output:Server: 10.128.10.11
Address: 10.128.10.11#53
Name: host1.nyc3.example.com
Address: 10.128.100.101
Обратно пребарување
За да го тестирате обратното пребарување, побарајте го DNS-серверот со приватната IP адреса на домаќинот1:
- nslookup 10.128.100.101
Треба да видите излез што изгледа вака:
OutputServer: 10.128.10.11
Address: 10.128.10.11#53
11.10.128.10.in-addr.arpa name = host1.nyc3.example.com.
Ако сите имиња и IP адреси се решат до точните вредности, тоа значи дека вашите зонски датотеки се правилно конфигурирани. Ако добиете неочекувани вредности, не заборавајте да ги прегледате зонските датотеки на вашиот примарен DNS сервер (на пр. db.nyc3.example.com
и db.10.128
).
Секоја чест! Вашите внатрешни DNS сервери сега се правилно поставени! Сега ќе го покриеме одржувањето на вашата евиденција во зоната.
Одржување на записи за DNS
Сега кога имате работен внатрешен DNS, треба да ги одржувате вашите записи за DNS за тие точно да ја одразуваат околината на вашиот сервер.
Додавање домаќин на DNS
Секогаш кога додавате хост во вашата околина (во истиот центар за податоци), ќе сакате да го додадете во DNS. Еве список на чекори што треба да ги преземете:
Сервер за примарен име
- Датотека со зона на препраќање: додајте запис \A за новиот хост, зголемете ја вредноста на \Serial
- Датотека за обратна зона: додадете запис \PTR за новиот хост, зголемувајте ја вредноста на \Serial
- Додајте ја приватната IP адреса на вашиот нов домаќин во \доверливиот ACL (
named.conf.options
)
Потоа повторно вчитајте го BIND:
- sudo systemctl reload bind9
Секундарен сервер за име
- Додајте ја приватната IP адреса на вашиот нов домаќин во \доверливиот ACL (
named.conf.options
)
Потоа повторно вчитајте го BIND:
- sudo systemctl reload bind9
Конфигурирајте нов хост да го користи вашиот DNS
- Конфигурирајте го
/etc/resolv.conf
за да ги користите вашите DNS сервери - Тестирајте користејќи
nslookup
Отстранување на домаќинот од DNS
Ако отстраните домаќин од вашата околина или сакате само да го извадите од DNS, само отстранете ги сите работи што беа додадени кога го додадовте серверот во DNS (т.е. обратно од чекорите погоре).
Заклучок
Сега можете да се повикате на приватните мрежни интерфејси на вашите сервери по име, наместо по IP адреса. Ова ја олеснува конфигурацијата на услугите и апликациите бидејќи повеќе не мора да ги запомнувате приватните IP адреси, а датотеките ќе бидат полесни за читање и разбирање. Исто така, сега можете да ги промените вашите конфигурации за да посочувате на нов сервер на едно место, вашиот примарен DNS сервер, наместо да треба да уредувате различни дистрибуирани конфигурациски датотеки, што го олеснува одржувањето.
Откако ќе го поставите вашиот внатрешен DNS и вашите конфигурациски датотеки користат приватни FQDN за одредување на мрежните врски, критично е вашите DNS сервери да се одржуваат правилно. Ако и двете станат недостапни, вашите услуги и апликации кои се потпираат на нив ќе престанат да функционираат правилно. Ова е причината зошто се препорачува да го поставите вашиот DNS со најмалку еден секундарен сервер и да одржувате работни резервни копии од сите нив.