wprowadzenie
ważną częścią zarządzania konfiguracją i infrastrukturą serwera jest utrzymywanie łatwego sposobu wyszukiwania interfejsów sieciowych i adresów IP po nazwie, poprzez skonfigurowanie właściwego systemu nazw domen (DNS). Używanie w pełni kwalifikowanych nazw domen (FQDNs) zamiast adresów IP do określania adresów sieciowych ułatwia konfigurację usług i aplikacji oraz zwiększa łatwość obsługi plików konfiguracyjnych., Skonfigurowanie własnego DNS dla sieci prywatnej to świetny sposób na poprawę zarządzania serwerami.
w tym samouczku omówimy, jak skonfigurować wewnętrzny serwer DNS, używając oprogramowania BIND name server (BIND9) na Ubuntu 18.04, które może być używane przez twoje serwery do rozwiązywania prywatnych nazw hostów i prywatnych adresów IP. Zapewnia to centralny sposób zarządzania wewnętrznymi nazwami hostów i prywatnymi adresami IP, co jest niezbędne, gdy środowisko rozszerza się na więcej niż kilka hostów.
wersja tego samouczka CentOS znajduje się tutaj.,
wymagania wstępne
aby ukończyć ten samouczek, potrzebujesz następującej infrastruktury. Utwórz każdy serwer w tym samym centrum danych z włączoną siecią prywatną:
- świeży serwer Ubuntu 18.04 służący jako główny serwer DNS, ns1
- (zalecane) drugi serwer Ubuntu 18.04 służący jako dodatkowy serwer DNS, ns2
- dodatkowe serwery w tym samym centrum danych, które będą używać twoich serwerów DNS
na każdym z tych serwerów skonfiguruj dostęp administracyjny za pomocą sudo
użytkownik i firewall, podążając za naszym Ubuntu 18.,04 wstępny Przewodnik Konfiguracji serwera.
Jeśli nie jesteś zaznajomiony z pojęciami DNS, zaleca się przeczytanie przynajmniej trzech pierwszych części naszego wprowadzenia do zarządzania DNS.
przykładowa Infrastruktura i cele
na potrzeby tego artykułu przyjmiemy, że:
- mamy dwa serwery, które zostaną Oznaczone jako nasze serwery nazw DNS. W tym przewodniku będziemy odnosić się do nich jako ns1 i ns2.
- mamy dwa dodatkowe serwery klienckie, które będą korzystały z tworzonej przez nas infrastruktury DNS. W tym przewodniku nazwiemy je host1 i host2., Możesz dodać tyle, ile chcesz dla swojej infrastruktury.
- wszystkie te serwery istnieją w tym samym centrum danych. Zakładamy, że jest to centrum danych nyc3.
- wszystkie te serwery mają włączoną sieć prywatną (i znajdują się w podsieci
10.128.0.0/16
. Prawdopodobnie będziesz musiał dostosować to dla swoich serwerów). - wszystkie serwery są podłączone do projektu, który działa na „example.com”. ponieważ nasz system DNS będzie całkowicie wewnętrzny i prywatny, nie musisz kupować nazwy domeny., Jednak korzystanie z posiadanej domeny może pomóc uniknąć konfliktów z domenami z publicznie dostępnymi routerami.
z tymi założeniami decydujemy, że warto zastosować schemat nazewnictwa, który wykorzystuje „nyc3.example.com” aby odnieść się do naszej prywatnej podsieci lub strefy. Dlatego prywatna, w pełni kwalifikowana nazwa domeny host1 (FQDN) będzie host1.nyc3.example.com. zapoznaj się z poniższą tabelą odpowiednie szczegóły:
twoja istniejąca konfiguracja będzie inna, ale przykładowe nazwy i adresy IP zostaną użyte do zademonstrowania, jak skonfigurować serwer DNS, aby zapewnić funkcjonujący wewnętrzny DNS., Powinieneś być w stanie łatwo dostosować tę konfigurację do własnego środowiska, zastępując nazwy hostów i prywatne adresy IP własnymi. Nie jest konieczne używanie nazwy regionu centrum danych w schemacie nazewnictwa, ale używamy jej tutaj, aby zaznaczyć, że te hosty należą do prywatnej sieci danego centrum danych. Jeśli korzystasz z wielu centrów danych, możesz skonfigurować wewnętrzny DNS w każdym z nich.
pod koniec tego samouczka będziemy mieli podstawowy serwer DNS, ns1, oraz opcjonalnie dodatkowy serwer DNS, ns2, który będzie służył jako kopia zapasowa.,
zacznijmy od zainstalowania naszego podstawowego serwera DNS, ns1.
instalacja Binda na serwerach DNS
tekst podświetlony na Czerwono jest ważny! Często będzie używany do oznaczenia czegoś, co należy zastąpić własnymi ustawieniami lub że powinno zostać zmodyfikowane lub dodane do pliku konfiguracyjnego. Na przykład, jeśli widzisz coś w rodzajuhost1.nyc3.example.com
, zastąp go FQDN własnego serwera. Podobnie, jeśli widziszhost1_private_IP
, zastąp go prywatnym adresem IP własnego serwera.,
na obu serwerach DNS, ns1 i ns2, zaktualizuj apt
pamięć podręczna pakietu, wpisując:
- sudo apt-get update
teraz zainstaluj BIND:
- sudo apt-get install bind9 bind9utils bind9-doc
ustawienie Bind w trybie IPv4
zanim przejdziemy dalej, ustawmy Bind na tryb IPv4, ponieważ nasza sieć prywatna używa wyłącznie IPv4. Na obu serwerach Edytuj plik ustawień domyślnych bind9
wpisując:
- sudo nano /etc/default/bind9
Dodaj „-4” na końcu parametru OPTIONS
., Powinien wyglądać następująco:
. . .OPTIONS="-u bind -4"
Zapisz i zamknij plik po zakończeniu.
Uruchom ponownie BIND, aby zaimplementować zmiany:
- sudo systemctl restart bind9
teraz, gdy BIND jest zainstalowany, skonfigurujmy podstawowy serwer DNS.
Konfiguracja głównego serwera DNS
konfiguracja Binda składa się z wielu plików, które są zawarte w głównym pliku konfiguracyjnym,named.conf
., Te nazwy plików zaczynają się od named
ponieważ jest to nazwa procesu, który uruchamia BIND (skrót od „domain name daemon”). Zaczniemy od konfiguracji pliku options.
Konfigurowanie pliku opcji
na ns1 otwórz pliknamed.conf.options
do edycji:
- sudo nano /etc/bind/named.conf.options
powyżej istniejącego blokuoptions
utwórz nowy blok ACL (lista kontroli dostępu) o nazwie „zaufany”. W tym miejscu zdefiniujemy listę klientów, z których będziemy zezwalać na rekurencyjne zapytania DNS (np., serwery znajdujące się w tym samym centrum danych co ns1). Korzystając z naszych przykładowych prywatnych adresów IP, dodamy ns1, NS2, host1 i host2 do naszej listy zaufanych klientów:
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 { . . .
teraz, gdy mamy naszą listę zaufanych klientów DNS, będziemy chcieli edytować blokoptions
. Obecnie początek bloku wygląda następująco:
. . .};options { directory "/var/cache/bind"; . . .}
poniżej dyrektywy directory
dodaj podświetlone linie konfiguracyjne (i zastąp odpowiedni adres IP NS1), aby wyglądało to mniej więcej tak:
Po zakończeniu zapisz i zamknij plik named.conf.options
. Powyższa konfiguracja określa, że tylko twoje własne serwery („zaufane”) będą mogły odpytywać Twój serwer DNS O domeny zewnętrzne.
następnie skonfigurujemy plik lokalny, aby określić nasze strefy DNS.,
konfigurowanie lokalnego pliku
na ns1 otwórz plik named.conf.local
do edycji:
- sudo nano /etc/bind/named.conf.local
poza kilkoma komentarzami plik powinien być pusty. Tutaj określimy nasze strefy do przodu i do tyłu. Strefy DNS wyznaczają określony zakres zarządzania i definiowania rekordów DNS. Ponieważ nasze domeny będą w „nyc3.example.com” subdomena, użyjemy jej jako naszej strefy forward., Ponieważ prywatne adresy IP naszych serwerów znajdują się w przestrzeni IP 10.128.0.0/16
, skonfigurujemy strefę odwrotną, abyśmy mogli zdefiniować odwrotne wyszukiwanie w tym zakresie.
Dodaj strefę forward z następującymi liniami, zastępując nazwę strefy własnym i prywatnym adresem IP serwera DNS w dyrektywieallow-transfer
:
zakładając, że nasza prywatna podsieć to 10.128.0.0/16
, dodaj strefę odwrotną za pomocą następujących linii (zauważ, że nasza nazwa strefy odwrotnej zaczyna się od „128.,10”, co jest odwrotnością oktetu „10.128”):
Jeśli Twoje serwery obejmują wiele prywatnych podsieci, ale znajdują się w tym samym centrum danych, pamiętaj, aby określić dodatkową strefę i plik stref dla każdej odrębnej podsieci. Po zakończeniu dodawania wszystkich żądanych stref, Zapisz i zamknij plik named.conf.local
.
teraz, gdy nasze strefy są określone w BIND, musimy utworzyć odpowiednie pliki strefy do przodu i do tyłu.,
Tworzenie pliku strefy Forward
plik strefy forward jest miejscem, w którym definiujemy rekordy DNS dla wyszukiwania DNS forward. Oznacza to, że gdy DNS otrzyma Zapytanie o nazwę, „host1.nyc3.example.com” na przykład, będzie szukać w pliku strefy forward, aby rozwiązać odpowiadający mu prywatny adres IP hosta1.
stwórzmy katalog, w którym będą znajdować się nasze pliki strefowe. Według naszego nazwiska.conf.lokalna konfiguracja, ta lokalizacja powinna być /etc/bind/zones
:
- sudo mkdir /etc/bind/zones
będziemy opierać nasz plik strefy forward na próbce db.local
plik strefy., Skopiuj go do właściwej lokalizacji za pomocą następujących poleceń:
- sudo cp /etc/bind/db.local /etc/bind/zones/db.nyc3.example.com
teraz edytujmy nasz plik strefy forward:
- sudo nano /etc/bind/zones/db.nyc3.example.com
początkowo będzie wyglądał mniej więcej tak:
Po pierwsze, będziesz chciał edytować rekord SOA. Zastąp pierwszy „localhost” FQDN ns1, a następnie zastąp „root”.localhost „z ” admin.nyc3.example.com”. za każdym razem, gdy edytujesz plik strefy, musisz zwiększyć wartość szeregową przed ponownym uruchomieniem procesu named
. Zwiększymy go do „3”., Powinien teraz wyglądać mniej więcej tak:
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. ( 3 ; Serial . . .
następnie usuń trzy rekordy na końcu pliku (za rekordem SOA). Jeśli nie jesteś pewien, które linie usunąć, są one oznaczone komentarzem „usuń tę linię” powyżej.
na końcu pliku dodaj rekordy serwera nazw za pomocą następujących linii(zamień nazwy na własne). Zauważ, że druga kolumna określa, że są to rekordy „NS”:
. . .; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.
teraz dodaj rekordy a dla swoich hostów, które należą do tej strefy. Obejmuje to każdy serwer, którego nazwę chcemy zakończyć „.nyc3.example.com ” (zastąp nazwy i prywatne adresy IP). Używając naszych przykładowych nazw i prywatnych adresów IP, dodamy rekordy dla ns1, NS2, host1 i host2 w ten sposób:
Zapisz i zamknij plik db.nyc3.example.com
.
nasz ostatni przykładowy plik strefy forward wygląda następująco:
teraz przejdźmy do plików strefy odwrotnej.
tworzenie plików odwróconej strefy
pliki odwróconej strefy są miejscem, w którym definiujemy rekordy PTR DNS dla wyszukiwania odwrotnego DNS. Oznacza to, że gdy DNS otrzyma zapytanie według adresu IP ,na przykład” 10.128.100.101″, będzie szukał w plikach strefy odwrotnej, aby rozwiązać odpowiedni FQDN, „host1.nyc3.example.com” w tym przypadku.
w przypadku ns1, dla każdej strefy odwrotnej określonej w plikunamed.conf.local
Utwórz plik strefy odwrotnej., Nasz plik strefy odwrotnej bazuje na próbcedb.127
pliku strefy. Skopiuj go do właściwej lokalizacji za pomocą następujących poleceń (zastępując nazwę pliku docelowego, aby pasował do definicji strefy odwrotnej):
- sudo cp /etc/bind/db.127 /etc/bind/zones/db.10.128
Edytuj plik strefy odwrotnej, który odpowiada strefie odwrotnej zdefiniowanej w named.conf.local
:
- sudo nano /etc/bind/zones/db.10.128
początkowo, będzie to wyglądało mniej więcej tak:
w taki sam sposób jak plik strefy forward, będziesz chciał edytować rekord SOA i zwiększyć wartość szeregową. Powinno to wyglądać mniej więcej tak:
@ IN SOA ns1.nyc3.example.com. admin.nyc3.example.com. ( 3 ; Serial . . .
teraz usuń dwa rekordy na końcu pliku (po rekordzie SOA). Jeśli nie jesteś pewien, które linie usunąć, są one oznaczone komentarzem „usuń tę linię” powyżej.
na końcu pliku dodaj rekordy serwera nazw za pomocą następujących linii(zamień nazwy na własne)., Zauważ, że druga kolumna określa, że są to rekordy „NS”:
. . .; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.
następnie dodajPTR
rekordy dla wszystkich Twoich serwerów, których adresy IP znajdują się w podsieci pliku strefy, który edytujesz. W naszym przykładzie dotyczy to wszystkich naszych hostów, ponieważ wszystkie znajdują się w podsieci 10.128.0.0/16
. Zauważ, że pierwsza kolumna składa się z dwóch ostatnich oktetów prywatnych adresów IP Twoich serwerów w odwróconej kolejności., Upewnij się, że nazwy i prywatne adresy IP pasują do Twoich serwerów:
Zapisz i zamknij plik strefy odwrotnej (powtórz tę sekcję, jeśli chcesz dodać więcej plików strefy odwrotnej).
nasz ostatni przykładowy plik odwróconej strefy wygląda następująco:
skończyliśmy edytować nasze pliki, więc następnie możemy sprawdzić nasze pliki pod kątem błędów.,
sprawdzanie składni konfiguracji BIND
uruchom następujące polecenie, aby sprawdzić składnię plikównamed.conf*
:
- sudo named-checkconf
Jeśli nazwane pliki konfiguracyjne nie zawierają błędów składniowych, powrócisz do zachęty powłoki i nie zobaczysz żadnych komunikatów o błędach. Jeśli występują problemy z plikami konfiguracyjnymi, przejrzyj komunikat o błędzie i sekcję „Configure Primary DNS Server”, a następnie spróbuj ponownie named-checkconf
.
polecenienamed-checkzone
może być użyte do sprawdzenia poprawności plików stref., Jego pierwszy argument określa nazwę strefy, a drugi argument określa odpowiedni plik strefy, który jest zdefiniowany w named.conf.local
.
na przykład, aby sprawdzić „nyc3.example.com” konfiguracja strefy forward, uruchom następujące polecenie (Zmień nazwy, aby pasowały do strefy forward I pliku):
- sudo named-checkzone nyc3.example.com db.nyc3.example.com
i sprawdź „128.10.in-addr.,arpa” reverse zone configuration, uruchom następujące polecenie (Zmień numery, aby pasowały do twojej strefy odwrotnej i Pliku):
- sudo named-checkzone 128.10.in-addr.arpa /etc/bind/zones/db.10.128
gdy wszystkie pliki konfiguracji i strefy nie zawierają żadnych błędów, powinieneś być gotowy do ponownego uruchomienia usługi BIND.
restart BIND
Restart BIND:
- sudo systemctl restart bind9
Jeśli masz skonfigurowaną zaporę UFW, otwórz dostęp do BIND, wpisując:
- sudo ufw allow Bind9
twój podstawowy serwer DNS jest teraz skonfigurowany i gotowy do odpowiadania na zapytania DNS. Przejdźmy do tworzenia wtórnego serwera DNS.,
Konfigurowanie dodatkowego serwera DNS
w większości środowisk dobrym pomysłem jest skonfigurowanie dodatkowego serwera DNS, który będzie odpowiadał na żądania, jeśli podstawowy stanie się niedostępny. Na szczęście dodatkowy serwer DNS jest znacznie łatwiejszy w konfiguracji.
na ns2 Edytuj pliknamed.conf.options
:
- sudo nano /etc/bind/named.conf.options
u góry pliku dodaj ACL z prywatnymi adresami IP wszystkich zaufanych serwerów:
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 { . . .
poniżej dyrektywydirectory
dodaj następujące linie:
Save and close the named.conf.options
file. Ten plik powinien wyglądać dokładnie tak, jak plik ns1 named.conf.options
, z wyjątkiem tego, że powinien być skonfigurowany do nasłuchiwania na prywatnym adresie IP ns2.
teraz edytujnamed.conf.local
plik:
- sudo nano /etc/bind/named.conf.local
Definiuj strefy slave, które odpowiadają strefom master na głównym serwerze DNS., Zauważ, że typem jest „slave”, plik nie zawiera ścieżki i istnieje dyrektywa masters
, która powinna być ustawiona na prywatny adres IP głównego serwera DNS. Jeśli zdefiniowałeś wiele stref odwrotnych na głównym serwerze DNS, upewnij się, że dodałeś je wszystkie tutaj:
teraz zapisz i zamknij plik named.conf.local
.,
uruchom następujące polecenie, aby sprawdzić poprawność plików konfiguracyjnych:
- sudo named-checkconf
po sprawdzeniu ponownie uruchom BIND:
- sudo systemctl restart bind9
Zezwól na połączenia DNS z serwerem zmieniając reguły zapory UFW:
- sudo ufw allow Bind9
teraz masz podstawowe i wtórne serwery DNS dla nazwy sieci prywatnej i rozdzielczości adresu IP. Teraz musisz skonfigurować serwery klienckie, aby korzystały z prywatnych serwerów DNS.,
Konfigurowanie klientów DNS
zanim wszystkie serwery w „zaufanym” ACL będą mogły odpytywać serwery DNS, musisz skonfigurować każdy z nich tak, aby używał ns1 i ns2 jako serwerów nazw. Proces ten różni się w zależności od systemu operacyjnego, ale dla większości dystrybucji Linuksa polega na dodaniu serwerów nazw do pliku /etc/resolv.conf
.
Klienci Ubuntu 18.04
w Ubuntu 18.04 sieć jest skonfigurowana za pomocą Netplan, abstrakcji, która pozwala na napisanie standardowej konfiguracji sieci i zastosowanie jej do niekompatybilnego oprogramowania sieciowego., Aby skonfigurować DNS, musimy napisać plik konfiguracyjny Netplan.
najpierw znajdź urządzenie powiązane z Twoją siecią prywatną, pytając podsieć prywatną za pomocą poleceniaip address
:
- ip address show to 10.128.0.0/16
w tym przykładzie interfejs prywatny toeth1
.
następnie utwórz nowy plik w /etc/netplan
o nazwie 00-private-nameservers.yaml
:
- sudo nano /etc/netplan/00-private-nameservers.yaml
wklej następującą zawartość., Będziesz musiał zmodyfikować interfejs sieci prywatnej, adresy serwerów DNS ns1 i ns2 oraz strefę DNS:
Uwaga: Netplan używa formatu serializacji danych YAML dla swoich plików konfiguracyjnych. Ponieważ YAML używa wcięć i spacji do definiowania swojej struktury danych, upewnij się, że definicja używa spójnych wcięć, aby uniknąć błędów.
Zapisz i zamknij plik po zakończeniu.
następnie powiedz Netplan, aby spróbował użyć nowego pliku konfiguracyjnego, używając netplan try
., Jeśli wystąpią problemy powodujące utratę sieci, Netplan automatycznie cofnie zmiany po upływie limitu czasu:
- sudo netplan try
OutputWarning: Stopping systemd-networkd.service, but it can still be activated by: systemd-networkd.socketDo you want to keep these settings?Press ENTER before the timeout to accept the new configurationChanges will revert in 120 seconds
Jeśli odliczanie jest aktualizowane poprawnie na dole, nowa konfiguracja jest co najmniej wystarczająco funkcjonalna, aby nie przerwać połączenia SSH. Naciśnij ENTER, aby zaakceptować nową konfigurację.
teraz sprawdź, czy systemowa resolver DNS została zastosowana:
- sudo systemd-resolve --status
przewiń w dół, aż zobaczysz sekcję dotyczącą Twojego prywatnego interfejsu sieciowego., Najpierw powinieneś zobaczyć prywatne adresy IP serwerów DNS, a następnie niektóre wartości zapasowe. Twoja domena powinna znajdować się w „domenie DNS”:
twój Klient powinien być teraz skonfigurowany do korzystania z wewnętrznych serwerów DNS.
Ubuntu 16.04 i klienty Debiana
na Ubuntu 16.04 i serwerach Debian Linux możesz edytować plik /etc/network/interfaces
plik:
- sudo nano /etc/network/interfaces
w środku, znaleźć linię dns-nameservers
I przepełnić swój własne serwery nazw przed listą, która obecnie tam jest., Poniżej tej linii Dodaj opcję dns-search
wskazującą na domenę podstawową Twojej infrastruktury. W naszym przypadku byłoby to „nyc3.example.com”:
. . . dns-nameservers 10.128.10.11 10.128.20.12 8.8.8.8 dns-search nyc3.example.com . . .
Zapisz i zamknij plik po zakończeniu.
Teraz uruchom ponownie usługi sieciowe, stosując nowe zmiany za pomocą następujących poleceń. Upewnij się, że eth0
zastąpisz nazwą swojego interfejsu sieciowego:
- sudo ifdown --force eth0 && sudo ip addr flush dev eth0 && sudo ifup --force eth0
powinno to ponownie uruchomić sieć bez utraty bieżącego połączenia., Jeśli to działało poprawnie, powinieneś zobaczyć coś takiego:
OutputRTNETLINK answers: No such processWaiting for DAD... Done
sprawdź dokładnie, czy Twoje ustawienia zostały zastosowane, wpisując:
- cat /etc/resolv.conf
powinieneś zobaczyć swoje serwery nazw w pliku /etc/resolv.conf
, a także wyszukiwaną domenę:
Twoje klient jest teraz skonfigurowany do korzystania z serwerów DNS.
Klienci CentOS
na CentOS, RedHat i Fedora Linux, Edytuj plik/etc/sysconfig/network-scripts/ifcfg-eth0
., Może być konieczne zastąpienie eth0
nazwą głównego interfejsu sieciowego:
- sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
wyszukaj opcje DNS1
I DNS2
I ustaw je na prywatne adresy IP Twojego głównego interfejsu sieciowego.podstawowe i drugorzędne serwery nazw. Dodaj parametr DOMAIN
z domeną bazową Twojej infrastruktury. W tym przewodniku, że będzie „nyc3.example.com”:
. . .DNS1=10.128.10.11DNS2=10.128.20.12DOMAIN='nyc3.example.com'. . .
Zapisz i zamknij plik po zakończeniu.,
Teraz uruchom ponownie usługę sieciową, wpisując:
- sudo systemctl restart network
polecenie może zawiesić się na kilka sekund, ale powinno wkrótce powrócić do monitu.
sprawdź czy zmiany zostały wprowadzone wpisując:
- cat /etc/resolv.conf
powinieneś zobaczyć swoje serwery nazw i wyszukać domenę na liście:
nameserver 10.128.10.11nameserver 10.128.20.12search nyc3.example.com
twój Klient powinien teraz mieć możliwość łączenia się z Twoimi serwerami DNS i korzystania z nich.
testowanie klientów
użyjnslookup
, aby sprawdzić, czy twoi klienci mogą odpytywać serwery nazw., Powinieneś być w stanie to zrobić na wszystkich klientach, które skonfigurowałeś i są w „zaufanym” ACL.
w przypadku klientów CentOS może być konieczne zainstalowanie narzędzia za pomocą:
- sudo yum install bind-utils
możemy rozpocząć od przeprowadzenia wyszukiwania do przodu.
wyszukiwanie do przodu
na przykład możemy wykonać wyszukiwanie do przodu, aby pobrać adres IP host1.nyc3.example.com uruchamiając następujące polecenie:
- nslookup host1
zapytanie „host1” rozszerza się do „host1.nyc3przykład.,com z powodusearch
opcja jest ustawiona na Twoją prywatną subdomenę, a zapytania DNS będą próbowały zajrzeć do tej subdomeny przed szukaniem hosta w innym miejscu. Wynik powyższego polecenia wygląda następująco:
OutputServer: 127.0.0.53Address: 127.0.0.53#53Non-authoritative answer:Name: host1.nyc3.example.comAddress: 10.128.100.101
następnie możemy sprawdzić odwrotne wyszukiwanie.,
Odwrotne wyszukiwanie
aby przetestować odwrotne wyszukiwanie, odpytywaj serwer DNS O Prywatny adres IP hosta1:
- nslookup 10.128.100.101
powinieneś zobaczyć wyjście, które wygląda następująco:
Output11.10.128.10.in-addr.arpa name = host1.nyc3.example.com.Authoritative answers can be found from:
Jeśli wszystkie nazwy i adresy IP zostaną ustawione na prawidłowe wartości, oznacza to, że Twoje pliki strefowe będą są prawidłowo skonfigurowane. Jeśli otrzymasz nieoczekiwane wartości, Sprawdź pliki stref na głównym serwerze DNS (np. db.nyc3.example.com
I db.10.128
).
Gratulacje! Twoje wewnętrzne serwery DNS są teraz skonfigurowane poprawnie!, Teraz zajmiemy się prowadzeniem rejestrów stref.
utrzymywanie rekordów DNS
teraz, gdy masz działający wewnętrzny DNS, musisz utrzymywać rekordy DNS, aby dokładnie odzwierciedlały środowisko serwera.
dodawanie hosta do DNS
za każdym razem, gdy dodajesz host do swojego środowiska (w tym samym centrum danych), będziesz chciał dodać go do DNS., Poniżej znajduje się lista kroków, które należy wykonać:
Główny serwer nazw
- plik strefy Forward: Dodaj rekord „A” dla nowego hosta, zwiększ wartość „szeregowy”
- Dodaj prywatny adres IP nowego hosta do „zaufanego” ACL (
named.conf.options
)
przetestuj swoje pliki konfiguracyjne:
następnie przeładuj Bind:
- sudo systemctl reload bind9
twój główny serwer powinien być teraz skonfigurowany dla nowego hosta.,
drugi serwer nazw
- Dodaj prywatny adres IP nowego hosta do zaufanego ACL (
named.conf.options
)
Sprawdź składnię konfiguracji:
- sudo named-checkconf
następnie przeładuj BIND:
- sudo systemctl reload bind9
twój drugi serwer będzie teraz akceptował połączenia z nowego hosta.,
Skonfiguruj Nowy Host, aby korzystać z DNS
- Skonfiguruj
/etc/resolv.conf
aby korzystać z serwerów DNS - Testuj za pomocą
nslookup
usuwanie hosta z DNS
Jeśli usuniesz host ze swojego środowiska lub chcesz go po prostu z DNS po prostu usuń wszystkie rzeczy, które zostały dodane po dodaniu serwera do DNS (tj. odwrotność powyższych kroków).
podsumowanie
teraz możesz odnosić się do prywatnych interfejsów sieciowych swoich serwerów po nazwie, a nie po adresie IP., Ułatwia to konfigurację usług i aplikacji, ponieważ nie musisz już pamiętać prywatnych adresów IP, a pliki będą łatwiejsze do odczytania i zrozumienia. Teraz możesz również zmienić konfigurację, aby wskazać nowe serwery w jednym miejscu, na głównym serwerze DNS, zamiast edytować różne rozproszone pliki konfiguracyjne, co ułatwia konserwację.
gdy masz skonfigurowany wewnętrzny DNS, a pliki konfiguracyjne używają prywatnych FQDNs do określania połączeń sieciowych, ważne jest, aby serwery DNS były prawidłowo utrzymywane., Jeśli oba staną się niedostępne, usługi i aplikacje użytkownika, które na nich opierają, przestaną działać prawidłowo. Z tego powodu zaleca się skonfigurowanie DNS z co najmniej jednym serwerem wtórnym i utrzymanie działających kopii zapasowych wszystkich z nich.
Leave a Reply