Konfiguracja serwera DNS-SLAVE za pomocą narzędzi „Bind” w RHEL/CENTOS 6.5
- 3617
- 729
- Maurycy Napierała
Serwer nazw domeny (DNS) Używany do rozwiązywania nazwisk do dowolnych hostów. Serwery Master DNS (Serwer podstawowy) to oryginalne moduły obsługi danych strefy i serwer Slave DNS (Serwer drugorzędny) to tylko serwery kopie zapasowe, które służą do kopiowania tych samych informacji o strefie z serwerów głównych. Master Server rozwiąże nazwy dla wszystkich hostów, które zdefiniowaliśmy w bazie danych strefy i używa protokołu UDP, ponieważ protokoły UDP nigdy nie używają procesu potwierdzenia, podczas gdy TCP używa potwierdzenia. Serwery DNS również wykorzystują protokoły UDP, aby najwcześniej rozwiązać żądanie zapytania.
Konfiguracja Master Slave DNS w RHEL/CENTOS 6.5Jak działa DNS?
Zrozumienie DNS może być mało mylące dla początkujących. Oto krótkie wyjaśnienie, jak działają DNS.
Powiedzmy, że jeśli musimy uzyskać dostęp do dowolnej strony internetowej, co zrobimy? Po prostu wpisz www.Google.com w przeglądarce i naciśnij Enter. Hmm, to wszystko, co wiemy, ale faktem jest, w jaki sposób przechodzą przez to ból DN, podczas gdy zapytasz o nas. Podczas pisania www.Google.com System będzie szukał www.Google.com. Ilekroć wpisujemy nazwę domeny, istnieje . (kropka) Na końcu www.Google.com, które powiedzą, aby przeszukać serwer główny przestrzeni nazw.
Globalnie są 13 serwerów głównych Dostępne do rozwiązania zapytania. Początkowo, gdy uderzamy w Enter jako www.Google.Com Our Browser przekazuje prośbę do naszego lokalnego rozwiązania, który ma wpis o naszych informacjach o serwerze głównym i niewolniczym. Jeśli nie mają informacji na temat takiego żądanego zapytania, przekazują żądanie do domeny najwyższego poziomu (Tld), jeśli TLD powie, że nie znam żądania, może być autorytatywnym serwerem znanym z twojego żądania, będzie on przekazał autorytatywne serwery, tutaj tylko www.Google.com zdefiniowano jako adres 72.36.15.56.
W międzyczasie autorytatywny serwer udzieli odpowiedzi TLD, a TLD przejdzie do serwera głównego, a root dostarczy przeglądarce informacje, dlatego przeglądarka będzie buforować żądanie DNS do przyszłego użycia. Zatem ten długi proces będzie się rozwiązać w milisekundach. Jeśli nie znają prośby, odpowiedzą jako nxdomain. Oznacza to, że w bazie danych strefy nie można znaleźć żadnego zapisu. Mam nadzieję, że to sprawia, że zrozumiesz, jak działa DNS.
Przeczytaj także: Ustaw serwer pamięci podręcznej DNS w Ubuntu
Moje środowisko testowe
W tym artykule używam 3 maszyn, 2 do konfiguracji serwera (główny i niewolnik) i 1 dla klienta.
--------------------------------------------------- Master DNS Server --------------------------------------------------- Adres IP: 192.168.0.200 nazwy hosta: Masterdns.Tecmintlocal.Com OS: Centos 6.5 finał
--------------------------------------------------- Server Slave DNS --------------------------------------------------- Adres IP: 192.168.0.201-nazwa hosta: Slavedns.Tecmintlocal.Com OS: Centos 6.5 finał
--------------------------------------------------- Maszyna klienta do używania DNS --------------------------------------------------- Adres IP: 192.168.0.210 nazwa hosta: Node1.Tecmintlocal.Com OS: Centos 6.5 finał
Pakiety wymagań
wiązanie, wiązanie-utils, wiązanie chroot
Używane pliki konfiguracyjne
Plik konfiguracyjny: /etc /nazwany.Plik skryptu konfliktu: /etc /init.d/wymieniony
Zastosowane porty i protokoły
53, UDP
Konfiguracja głównego serwera DNS
Najpierw zweryfikuj adres IP, nazwę hosta i wersję dystrybucji Master DNS Server, zanim przejdzie do konfiguracji.
$ sudo ifconfig | Grep inet $ hostName $ cat /etc /redhat-releaseSprawdź konfigurację główną
Po potwierdzeniu, że powyższe ustawienia są prawidłowe, czas przejść do przodu, aby zainstalować wymagane pakiety.
$ sudo yum instaluj bind* -yZainstaluj pakiet BIND
Instalowanie i konfigurowanie wiązania
Po zainstalowaniu wymaganych pakietów zdefiniuj pliki strefy w konfiguracji głównej 'o imieniu.conf' plik.
$ sudo vim /etc /nazwane.conf
Poniżej znajduje się mój o imieniu.conf Wprowadzanie pliku, zmień plik konfiguracyjny zgodnie z potrzebami.
// // o imieniu.conf // // dostarczone przez pakiet Red Hat Bind w celu skonfigurowania wiązania ISC o nazwie (8) DNS // serwer jako buforowanie tylko serwerowi nazw (tylko jako localhost DNS Resolver). // // patrz/usr/share/doc/bind*/próbka/na przykład nazwane pliki konfiguracyjne. // opcje Port Listen-On 53 127.0.0.1; 192.168.0.200; ; # Tutaj musimy dodać nasz główny serwer DNS IP. Listen-on-V6 Port 53 :: 1; ; katalog „/var/nazwa”; zrzucanie plik "/var/data/data/cache_dump.db "; statystyka plik"/var/named/data/name_stats.txt "; memstatistics-file"/var/named/data/name_mem_stats.txt "; zezwolenie-litera localhost; 192.168.0.0/24; ; # Zakres podsieci, w którym moi hosty mogą zapytać o nasze DNS. Zezwalaj na transfer Lokalny Gospodarz; 192.168.0.201; ; # Tutaj potrzebujemy do naszego Slave DNS Server IP. rekurencja nr; Tak; DNSSEC-Walidacja Tak; DNSSEC-Hookaside Auto; / * Ścieżka do klucza ISC DLV */bindkeys-plik "/etc/nazwana.iscdlv.klucz "; Managed-Keys-Directory"/var/named/dynamic ";; logowanie kanał default_debug plik" data/nazwa.uruchom „; Dynamic Isterty;;; strefa”.„W type wskazów; plik” nazwany.ca ";; ## Zdefiniuj nasz plik strefy do przodu i do tyłu tutaj dla TecmintLocal.com. strefa"Tecmintlocal.com„W type master; plik”Tecmintlocal.fwd.strefa"; zezwolenie update none;;; strefa"0.168.192.w addr.Arpa„W type master; plik”Tecmintlocal.obrót silnika.strefa"; zezwolenie update none;;; ##### w cołą"/etc/nazwane.RFC1912.strefy "; w tym"/etc/nazwane.źródło.klucz";Utwórz plik strefy w DNS
Poniżej przedstawiono wyjaśnienie każdej konfiguracji, której użyliśmy w powyższym pliku.
- Port słuchania 53 - Służy to do słuchania DNS w dostępnych interfejsach.
- Master DNS - Zdefiniuj, główny adres IP DNS do wysłuchania zapytania.
- DNS Slave - Zdefiniuj swoje niewolnicze DNS, które służy do synchronizacji naszych informacji o strefie w celu rozwiązania hostów od Master.
- rekurencja nr - Jeśli jest ustawiony na tak, zapytania rekurencyjne sprawi, że serwer w ataku DDOS.
- Nazwa stref - Zdefiniuj tutaj swoją nazwę strefy zdefiniowaną jako tecminlocal.com.
- Typ Master - Ponieważ ten system został skonfigurowany dla serwera głównego, dla nadchodzącego serwera niewolników będzie to niewolnik.
- Tecmintlocal.fwd.strefa - Ten plik zawiera informacje o hostie dla tej strefy.
- Nie zezwalaj na brak - Jeśli żaden nie ustanowi. Nie używa dynamicznych DN (DDN).
Tworzenie plików strefy głównej
Początkowo zdefiniujmy wejście do strefy wyszukiwania. Tutaj musimy utworzyć pliki strefy w imię tego, co definiujemy w o imieniu.conf Plik jak poniżej.
Tecmintlocal.fwd.strefa Tecmintlocal.obrót silnika.strefa
Używamy przykładowych plików konfiguracyjnych do tworzenia plików strefy do przodu, w tym celu musimy skopiować przykładowe pliki konfiguracyjne.
$ sudo cp/var/nazwany/nazwany.localhost/var/nazwa/tecmintlocal.fwd.strefa $ sudo cp/var/nazwana/nazwana.LOOPBACK/var/nazwa/tecmintlocal.obrót silnika.strefaKopiuj pliki strefy
Kiedyś skopiowałeś pliki konfiguracyjne, teraz edytuj te pliki stref za pomocą za pomocą krzepa redaktor.
$ sudo vim/var/nazwano/tecmintlocal.fwd.strefa
Przed zdefiniowaniem informacji o hoście w pliku strefy do przodu, najpierw spójrz na plik strefy próbki.
Plik strefy przykładowejTo jest moja konfiguracja strefy do przodu, dołącz poniższy wpis i wprowadzaj zmiany zgodnie z potrzebami.
$ Ttl 86400 @ w SOA Masterdns.Tecmintlocal.com. źródło.Tecmintlocal.com. (2014090401; Serial 3600; odświeżenie 1800; Retry 604800; wygasa 86400); minimum; Serwer nazwy @ in NS Masterdns.Tecmintlocal.com. @ In ns slavedns.Tecmintlocal.com. ; Nazwa hosta serwera nazwy do IP Resolve. @ W 192.168.0.200 @ w 192.168.0.201; Gospodarze w tej domenie @ w 192.168.0.210 @ w 192.168.0.220 Masterdns w 192.168.0.200 niewolników w 192.168.0.201 Node1 w 192.168.0.210 RHEL1 w 192.168.0.220
Zapisz i wyrzuć plik za pomocą WQ!. Po edytowaniu podglądu do przodu wygląda na poniżej, użyj PATKA Aby uzyskać przyzwoity format w pliku strefy.
Skonfiguruj strefę do przoduTeraz utwórz plik odwrotnego wyszukiwania, już wykonaliśmy kopię pliku pętli w imieniu Tecmintlocal.obrót silnika.strefa. Używamy więc tego pliku do skonfigurowania naszego odwrotnego wyszukiwania.
$ sudo vim/var/nazwano/tecmintlocal.obrót silnika.strefa
Przed zdefiniowaniem naszych informacji o hoście w pliku strefy odwrotnej, sprawdź szybko przykładowy plik wyszukiwania odwrotnego.
Przykładowy strefa wyszukiwania odwrotnegoTo jest moja konfiguracja strefy odwrotnej, dołącz poniższy wpis i wprowadzaj zmiany w potrzebie.
$ Ttl 86400 @ w SOA Masterdns.Tecmintlocal.com. źródło.Tecmintlocal.com. (2014090402; Serial 3600; odświeżenie 1800; ponowne 604800; wygasa 86400); minimum; Serwer nazwy @ in NS Masterdns.Tecmintlocal.com. @ In ns slavedns.Tecmintlocal.com. @ In ptr Tecmintlocal.com. ; Nazwa hosta serwera nazwy do IP Resolve. Masterdns w 192.168.0.200 niewolników w 192.168.0.201; gospodarze w Domena Node1 w 192.168.0.210 RHEL w 192.168.0.220 200 w PTR Masterdns.Tecmintlocal.com. 201 w PTR Slavedns.Tecmintlocal.com. 210 w Node1 ptr.Tecmintlocal.com. 220 w ptr rhel1.Tecmintlocal.com.
Zapisz i wyrzuć plik za pomocą WQ!. Po edytowaniu odwrotnego wyszukiwania wygląda na poniżej, użyj PATKA Aby uzyskać przyzwoity format w pliku strefy.
Skonfiguruj strefę wyszukiwania odwrotnegoSprawdź własność grupy plików wyszukiwania i odwrotnego wyszukiwania, przed sprawdzeniem jakichkolwiek błędów w konfiguracji.
$ sudo ls -l/var/nazwa/nazwano/
Tutaj widzimy, że oba pliki są w źródło Własność użytkowników, ponieważ pliki, które wykonujemy kopię z przykładowych plików, są dostępne /var/nazwano/. Zmień grupę na nazwę obu plików za pomocą następujących poleceń.
$ sudo chgrp o nazwie/var/nazwano/tecmintlocal.fwd.strefa $ sudo chgrp o nazwie/var/nazwa/tecmintlocal.obrót silnika.strefa
Po ustawieniu prawidłowej własności w plikach, zweryfikuj je ponownie.
$ sudo ls -l/var/nazwa/nazwano/Sprawdź pliki strefy
Teraz sprawdź błędy w plikach strefy, zanim uruchomę usługę DNS. Najpierw sprawdź o imieniu.conf plik, a następnie sprawdź inne pliki strefy.
$ sudo o nazwie-checkconf /etc /nazwano.conf $ sudo o nazwie-checkzone masterdns.Tecminlocal.com/var/name/tecmintlocal.fwd.strefa $ sudo o nazwie-checkzone masterdns.Tecminlocal.com/var/name/tecmintlocal.obrót silnika.strefaSprawdź pliki strefy błędów
Domyślnie działał IPTables, a nasz serwer DNS jest ograniczony do LocalHost, jeśli klient chce rozwiązać nazwę z naszego serwera DNS, musimy zezwolić na żądanie przychodzące, ponieważ musimy dodać regułę IPABLES INBOUND dla portu 53.
$ sudo iptables -i wejście -p udp -dport 53 -m stan --state new -j Zaakceptuj
Teraz sprawdź, czy reguły zostały poprawnie dodane WEJŚCIE łańcuch.
$ sudo iptables -l wejście
Następnie zapisz zasady i ponownie uruchom zaporę zapory.
$ sudo usługa iptables Zapisz $ sudo service iptables restartOtwórz port DNS na zaporze
Rozpocznij nazwaną usługę i uczyń ją trwałą.
$ sudo usługa o nazwie start $ sudo chkconfig wymieniona na $ sudo chkconfig -lista nazwanaUruchom serwer DNS
Na koniec przetestuj skonfigurowane pliki strefy głównej DNS (do przodu i do tyłu), używając kopać I nslookup narzędzia.
$ dig Masterdns.Tecmintlocal.com [strefa do przodu]Przetestuj strefę DNS
$ dig -x 192.168.0.200Test Reverse Strefa DNS
$ nslookup Tecmintlocal.com $ nslookup masterdns.Tecmintlocal.com $ nslookup slavedns.Tecmintlocal.comPrzetestuj strefy DNS
Fajny! Skonfigurowaliśmy Master DNS, Teraz musimy skonfigurować DNS Slave serwer. Przejdźmy naprzód, aby skonfigurować serwer niewolników, to nie zajmie dużo czasu jako konfiguracja główna.
Serwer Slave DNS Server
Na komputerze niewolniczym musimy również zainstalować te same pakiety wiązania, jak pokazano w Master, więc zainstalujmy je za pomocą następującego polecenia.
$ sudo yum instaluj bind* -yZainstaluj wiązanie DNS
Otwórz i edytuj 'o imieniu.conf ' plik dla naszej bazy danych stref i słuchaj portów.
$ sudo vim /etc /nazwane.conf
Dokonaj zmian, jak pokazano, zgodnie z Twoimi wymaganiami.
// // o imieniu.conf // // dostarczone przez pakiet Red Hat Bind w celu skonfigurowania wiązania ISC o nazwie (8) DNS // serwer jako buforowanie tylko serwerowi nazw (tylko jako localhost DNS Resolver). // // patrz/usr/share/doc/bind*/próbka/na przykład nazwane pliki konfiguracyjne. // opcje Port Listen-On 53 127.0.0.1; 192.168.0.201; # Nasz niewolnik DNS Server IP Listen-on-V6 Port 53 :: 1; ; katalog „/var/nazwa”; zrzucanie plik "/var/data/data/cache_dump.db "; statystyka plik"/var/named/data/name_stats.txt "; memstatistics-file"/var/named/data/name_mem_stats.txt "; zezwolenie-litera Lokalny Gospodarz; 192.168.0.0/24; ; rekurencja nr; Tak; DNSSEC-Walidacja Tak; DNSSEC-Hookaside Auto; / * Ścieżka do klucza ISC DLV */bindkeys-plik "/etc/nazwana.iscdlv.klucz "; Managed-Keys-Directory"/var/named/dynamic ";; logowanie kanał default_debug plik" data/nazwa.uruchom „; Dynamic Isterty;;; strefa”.„W type wskazów; plik” nazwany.ca ";; ## Zdefiniuj naszą strefę niewolnika do przodu i do tyłu, pliki stref są replikowane z Master. strefa"Tecmintlocal.com„W type Slave; plik”Niewolnicy/tecmintlocal.fwd.strefa"; Masters 192.168.0.200; ; ; strefa"0.168.192.w addr.Arpa„W type Slave; plik”Niewolnicy/tecmintlocal.obrót silnika.strefa"; Masters 192.168.0.200; ; ; ##### w cołą „/etc/nazwane.RFC1912.strefy "; w tym"/etc/nazwane.źródło.klucz";Skonfiguruj DNS Slave
Uruchom usługę DNS za pomocą.
Usługa $ sudo wymieniona start
Po ponownym uruchomieniu usługi wiązania nie musimy definiować informacji o strefie indywidualnie, jak nasz Zezwalaj na transfer powtórzy informacje o strefie z serwera głównego, jak pokazano na poniższym obrazku.
$ sudo ls -l/var/nazwane/niewolnicy
Sprawdź informacje o strefie za pomocą CAT Command.
$ sudo cat/var/nazwane/slaves/tecmintlocal.fwd.strefa $ sudo cat/var/nazwano/slaves/tecmintlocal.obrót silnika.strefaSprawdź pliki strefy niewolników
Następnie otwórz port DNS 53 na iptables, aby umożliwić połączenie przychodzące.
$ sudo iptables -i wejście -p udp -dport 53 -m stan --state new -j Zaakceptuj
Zapisz reguły iptables i uruchom ponownie usługę IPTABLES.
$ sudo usługa iptables Zapisz $ sudo service iptables restart
Spraw, aby usługa była trwała na rozruchu systemu.
$ sudo chkconfig iptables
Sprawdź, czy trwałe ustawianie poziomów biegów .
$ sudo chkconfig -lista iptablesOtwórz port DNS
Otóż to!. Teraz czas na skonfigurowanie naszych maszyn klientów i sprawdzenie nazwy hosta.
Skonfiguruj komputer klienta
Po stronie klienta musimy przypisać podstawowe (192.168.0.200) i wtórne DN (192.168.0.201) Wpis w ustawieniach sieciowych, aby uzyskać nazwę hosta. Aby wykonać, uruchom polecenie konfiguracyjne, aby zdefiniować wszystkie te wpisy, jak pokazano na zdjęciu.
$ konfiguracjaDodaj wpis DNS
W przeciwnym razie edytuj '/etc/reslov.conf„Plik i dodaj następujące wpisy.
$ vim /etc /resolv.conf
Wyszukaj Tecmintlocal.Comererver 192.168.0.200 nazywarek 192.168.0.201
Teraz sprawdź wyszukiwanie IP, nazwę hosta i serwera nazwisk.
$ ifconfig | grep inet $ hostName $ nSlookup Tecmintlocal.comSprawdź wpis DNS
Teraz sprawdź wyszukiwanie DNS do przodu i do tyłu za pomocą.
$ dig Masterdns.Tecmintlocal.com $ dig -x 192.168.0.200Sprawdź informacje DNS
Ziemne wyjście wykopaliska:
- nagłówek - To mówi wszystko, o co prosiliśmy i jak wynik był.
- Status - Status nie był błędem, co oznacza, które żądanie zapytania wysłane przez nas odniosło sukces bez żadnego błędu.
- Pytanie - Zapytanie, które zostało wykonane przez nas, tutaj moje zapytanie było masterdns.Tecmintlocal.com.
- Odpowiedź - Żądanie zapytania rozwiązane, jeśli są dostępne informacje.
- Autorytet - Odpowiedź serwerów nazwy dla domeny i strefy.
- Dodatkowy - Dodatkowe informacje dotyczące serweryjnych nazw, takich jak nazwa hosta i adres IP.
- Czas zapytania - Jak długo trwało rozwiązanie nazw z powyższych serwerów.
Wreszcie sprawdź nasz węzeł i zrób ping.
$ DIG Node1.Tecmintlocal.comSprawdź informacje o kliencie DNS
$ ping masterdns.Tecmintlocal.com -c 2 $ ping slavedns.Tecmintlocal.com -c 2 $ ping 192.168.0.200 -C 2 $ ping 192.168.0.201 -C 2Ping DNS serwery
Wreszcie, zakończona konfiguracja, tutaj skonfigurowaliśmy zarówno serwer DNS Primary (Master), jak i Slave (Seconday), mam nadzieję, że wszyscy ustawili się bez problemu, upuszcz komentarz, jeśli napotkasz jakikolwiek problem podczas konfiguracji.
- « Elrepo - Community Repo dla Enterprise Linux (Rhel, Centos & SL)
- Jak zainstalować serwer DHCP w Centos, Rhel i Fedora »