Како да го конфигурирате 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 со внесување:

  1. sudo apt-get update

Сега инсталирајте BIND:

  1. sudo apt-get install bind9 bind9utils bind9-doc

Режим IPv4

Пред да продолжиме, да го поставиме BIND во режим IPv4. На двата сервери, уредете ја системската единица датотека bind9 со внесување:

  1. sudo systemctl edit --full bind9

Додадете \-4 на крајот од директивата ExecStart. Треба да изгледа вака:

. . .
[Service]
ExecStart=/usr/sbin/named -f -u bind -4

Зачувајте го и затворете го уредникот кога ќе завршите.

Повторно вчитајте го системскиот демон за да ја прочитате новата конфигурација во активниот систем:

  1. sudo systemctl daemon-reload

Рестартирајте го BIND за да ги имплементирате промените:

  1. sudo systemctl restart bind9

Сега кога BIND е инсталиран, ајде да го конфигурираме примарниот DNS-сервер.

Конфигурирајте го примарниот DNS-сервер

Конфигурацијата на BIND се состои од повеќе датотеки, кои се вклучени од главната конфигурациска датотека, named.conf. Овие имиња на датотеки започнуваат со named бидејќи тоа е името на процесот што го извршува BIND. Ќе започнеме со конфигурирање на датотеката со опции.

Конфигурирај ја датотеката со опции

На ns1, отворете ја датотеката named.conf.options за уредување:

  1. 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 за уредување:

  1. 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:

  1. sudo mkdir /etc/bind/zones

Ќе ја засноваме нашата датотека со напредна зона на примерок од датотеката за зона db.local. Копирајте го на соодветната локација со следните команди:

  1. cd /etc/bind/zones
  2. sudo cp ../db.local ./db.nyc3.example.com

Сега ајде да ја уредиме нашата датотека со напредна зона:

  1. 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. Копирајте ја на соодветната локација со следните команди (заменувајќи го името на дестинацијата на датотеката за да одговара на вашата дефиниција за обратна зона):

  1. cd /etc/bind/zones
  2. sudo cp ../db.127 ./db.10.128

Уредете ја датотеката со обратна зона што одговара на обратната зона(ите) дефинирани во named.conf.local:

  1. 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*:

  1. sudo named-checkconf

Ако вашите именувани конфигурациски датотеки немаат синтаксички грешки, ќе се вратите во известувањето за школка и нема да видите пораки за грешка. Ако има проблеми со вашите конфигурациски датотеки, прегледајте ја пораката за грешка и делот \„Конфигурирај примарен DNS сервер“, а потоа обидете се повторно со named-checkconf.

Командата named-checkzone може да се користи за проверка на исправноста на датотеките во зоната. Нејзиниот прв аргумент го одредува името на зоната, а вториот аргумент ја одредува соодветната датотека на зоната, кои се и двете дефинирани во named.conf.local.

На пример, за да ја проверите конфигурацијата на зоната за напред \nyc3.example.com, извршете ја следнава команда (променете ги имињата за да одговараат на вашата зона и датотека за напред):

  1. sudo named-checkzone nyc3.example.com db.nyc3.example.com

И за да ја проверите конфигурацијата на обратната зона \128.10.in-addr.arpa“, извршете ја следнава команда (променете ги броевите за да одговараат на вашата обратна зона и датотека):

  1. sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128

Кога сите ваши датотеки со конфигурација и зона немаат грешки во нив, треба да бидете подготвени да ја рестартирате услугата BIND.

Рестартирајте го BIND

Рестартирајте го BIND:

  1. sudo systemctl restart bind9

Ако го имате конфигурирано заштитниот ѕид UFW, отворете го пристапот до BIND со внесување:

  1. sudo ufw allow Bind9

Вашиот примарен DNS-сервер сега е поставен и е подготвен да одговори на барањата за DNS. Ајде да продолжиме со создавање на секундарен DNS-сервер.

Конфигурирајте го секундарниот DNS-сервер

Во повеќето средини, добра идеја е да поставите секундарен DNS сервер кој ќе одговори на барањата ако примарниот стане недостапен. За среќа, секундарниот DNS-сервер е многу полесен за конфигурирање.

На ns2, уредете ја датотеката named.conf.options:

  1. 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:

  1. 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.

Извршете ја следнава команда за да ја проверите валидноста на вашите конфигурациски датотеки:

  1. sudo named-checkconf

Откако ќе се провери, рестартирајте го BIND:

  1. sudo systemctl restart bind9

Дозволете DNS врски со серверот со менување на правилата за заштитен ѕид на UFW:

  1. sudo ufw allow Bind9

Сега имате примарни и секундарни DNS сервери за име на приватна мрежа и резолуција на IP адреса. Сега мора да ги конфигурирате вашите клиентски сервери да ги користат вашите приватни DNS сервери.

Конфигурирајте ги клиентите за DNS

Пред сите ваши сервери во \доверливиот ACL да можат да ги побараат вашите DNS сервери, мора да го конфигурирате секој од нив да користи ns1 и ns2 како сервери за имиња. Овој процес се разликува во зависност од оперативниот систем, но за повеќето дистрибуции на Linux вклучува додавање на вашите сервери за имиња во датотеката /etc/resolv.conf.

Клиенти на Ubuntu

На серверите на Ubuntu и Debian Linux, можете да ја уредувате датотеката /etc/network/interfaces:

  1. 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 со името на вашиот мрежен интерфејс:

  1. sudo ifdown --force eth0 && sudo ip addr flush dev eth0 && sudo ifup --force eth0

Ова треба да ја рестартира вашата мрежа без да ја прекине вашата тековна врска. Ако работи правилно, треба да видите нешто како ова:

Output
RTNETLINK answers: No such process Waiting for DAD... Done

Проверете двапати дали вашите поставки се применети со впишување:

  1. 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 со името на вашиот примарен мрежен интерфејс:

  1. 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'
. . .

Зачувајте ја и затворете ја датотеката кога ќе завршите.

Сега, рестартирајте ја мрежната услуга со внесување:

  1. sudo systemctl restart network

Командата може да виси неколку секунди, но наскоро треба да ве врати на промптот.

Проверете дали вашите промени се применети со пишување:

  1. cat /etc/resolv.conf

Треба да ги видите вашите сервери за имиња и доменот за пребарување во списокот:

nameserver 10.128.10.11
nameserver 10.128.20.12
search nyc3.example.com

Тест клиенти

Користете nslookup за да тестирате дали вашите клиенти можат да ги побараат вашите сервери за имиња. Треба да можете да го направите ова на сите клиенти што сте ги конфигурирале и се во „доверливиот“ ACL.

За клиентите на CentOS, можеби ќе треба да ја инсталирате алатката со:

  1. sudo yum install bind-utils

Пребарување напред

На пример, можеме да извршиме пребарување напред за да ја вратиме IP адресата на host1.nyc3.example.com со извршување на следнава команда:

  1. 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:

  1. nslookup 10.128.100.101

Треба да видите излез што изгледа вака:

Output
Server: 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:

  1. sudo systemctl reload bind9

Секундарен сервер за име

  • Додајте ја приватната IP адреса на вашиот нов домаќин во \доверливиот ACL (named.conf.options)

Потоа повторно вчитајте го BIND:

  1. sudo systemctl reload bind9

Конфигурирајте нов хост да го користи вашиот DNS

  • Конфигурирајте го /etc/resolv.conf за да ги користите вашите DNS сервери
  • Тестирајте користејќи nslookup

Отстранување на домаќинот од DNS

Ако отстраните домаќин од вашата околина или сакате само да го извадите од DNS, само отстранете ги сите работи што беа додадени кога го додадовте серверот во DNS (т.е. обратно од чекорите погоре).

Заклучок

Сега можете да се повикате на приватните мрежни интерфејси на вашите сервери по име, наместо по IP адреса. Ова ја олеснува конфигурацијата на услугите и апликациите бидејќи повеќе не мора да ги запомнувате приватните IP адреси, а датотеките ќе бидат полесни за читање и разбирање. Исто така, сега можете да ги промените вашите конфигурации за да посочувате на нов сервер на едно место, вашиот примарен DNS сервер, наместо да треба да уредувате различни дистрибуирани конфигурациски датотеки, што го олеснува одржувањето.

Откако ќе го поставите вашиот внатрешен DNS и вашите конфигурациски датотеки користат приватни FQDN за одредување на мрежните врски, критично е вашите DNS сервери да се одржуваат правилно. Ако и двете станат недостапни, вашите услуги и апликации кои се потпираат на нив ќе престанат да функционираат правилно. Ова е причината зошто се препорачува да го поставите вашиот DNS со најмалку еден секундарен сервер и да одржувате работни резервни копии од сите нив.