KONFIGURACJA SERWERA DNS W UBUNTU SERVER 18.04

I. Instalacja serwera DNS.

Ustalenie nazwy domeny

Na początku (jeśli chcemy) możemy ustalić nazwę domeny, którą będziemy stosować w strefie DNS. U nas będzie to egzamin.local. Edytujemy znany już plik poleceniem sudo nano /etc/hosts i dopisujemy do nazwy hosta egzamin.local. Zapisujemy zmiany i restartujemy serwer.

Instalacja serwera DNS

Sprawdzamy poleceniem hostname -f. Widzimy, że jest OK i możemy rozpocząć instalację serwera DNS. Wydajemy polecenie: sudo apt install bind9 bind9utils. Zgadzamy się klikając "y"

Instalacja serwera DNS

Po zakończeniu instalacji przechodzimy do katalogu /etc/bind i wyświetlamy jego zawartość.

Konfiguracja serwera DNS

Następnie edytujemy odpowiedni plik poleceniem sudo nano /etc/bind/named.conf.options. Można powiedzieć, że dodajemy taki "buforujacy serwer nazw" z zapisem lokalnym. Możemy wstawić adres DNS naszego providera albo np. 8.8.8.8. Zapisujemy zmiany i zamykamy plik.

Konfiguracja serwera DNS

Następnie restartujemy nasz serwer DNS poleceniem sudo systemctl restart bind9 oraz sprawdzamy jego status. Działa!

Konfiguracja serwera DNS

Możemy też przetestować poleceniem dig z pakietu bind działanie lokalnego serwera DNS. Jeśli uzyskamy coś podobnego to jest OK.

Konfiguracja serwera DNS

Teraz należy edytować plik konfiguracyjny bind9 sudo nano /etc/bind/named.conf. Powinien on zawierać następujące wiersze. Jeśli ich nie ma, po prostu należy je dodać.

Konfiguracja serwera DNS

Następnie musimy zdefiniować strefy przeszukiwania do przodu i do tyłu. Edytujemy plik named.conf.local wydając polecenie sudo nano /etc/bind/named.conf.local. Dokonujemy wpisów takich jak wyżej i zapisujemy zmiany.

Konfiguracja serwera DNS

Teraz jeszcze musimy stworzyć te pliki, a w zasadzie przerobić plik db.local i zapisać pod właściwą nazwą. Wydajemy polecenie sudo cp /etc/bind/db.local /etc/bind/for.egzamin.local i edytujemy go sudo nano /etc/bind/for.egzamin.local

Konfiguracja serwera DNS

Przerabiamy go teraz do naszych potrzeb (dodając również rekordy klientów) i zapisujemy zmiany.

Konfiguracja serwera DNS

Podobnie postępujemy w przypadku strefy wyszukiwania wstecz. Przerabiamy plik ze strefy wyszukiwania do przodu wydając polecenie sudo cp /etc/bind/for.egzamin.local /etc/bind/rev.egzamin.local i edytujemy go
sudo nano /etc/bind/rev.egzamin.local

Konfiguracja serwera DNS

Przerabiamy go teraz do naszych potrzeb (dodając również rekordy klientów typu PTR) i zapisujemy zmiany.

Konfiguracja serwera DNS

Restartujemy usługę DNS sudo systemctl restart bind9 i wydajemy kilka kontrolnych poleceń. Jeśli efekt jest taki jak powyżej to znaczy, że wszystko jest ok.

Konfiguracja serwera DNS

Sprawdzamy teraz poprawność działania serwera DNS. Najpierw polecenie: dig egzamin.local, a następnie kolejne nslookup serwer110.egzamin.local. Jak widzimy jest problem z adresem serwera DNS, ponieważ pokazuje się nam localhost.

Konfiguracja serwera DNS

Należy jeszcze zmienić DNS-a w pliku /etc/resolv.conf. Od wersji Ubuntu 18.04 plik ten jest dowiązaniem symbolicznym i zmiana w nim ma charakter doraźny. Po restarcie systemu wczytują się stare ustawienia. Aby to "obejść" należy ten plik usunąć, a następnie utworzyć nowy o takiej samej nazwie.

Testowanie serwera DNS

Następnie podajemy właściwy adres DNS (nasz serwer) oraz domenę.

Konfiguracja serwera DNS

Na wszelki wypadek blokujemy plik przed nadpisaniem (podczas uruchamiania systemu) poleceniem sudo chattr +i /etc/resolv.conf i restartujemy komputer, żeby sprawdzić czy działa

Testowanie serwera DNS

Poleceniem dig egzamin.local sprawdzamy nasz serwer i teraz wygląda to znacznie lepiej. Jeszcze nslookup serwer110.egzamin.local i adres serwera DNS jest właściwy

Testowanie serwera DNS

Następnie poleceniem nslookup sprawdzamy nasze hosty. Najpierw po nazwach, a potem po adresach IP

Testowanie serwera DNS

I jeszcze pingi, najpierw po adresach IP, a potem po nazwach. Jak widać wszystko działa

Testowanie serwera DNS

Teraz przechodzimy na klienta (z systemem Ubuntu) i sprawdzamy pingi po nazwach, po adresie IP, a potem polecenie nslookup. Jak widać nie wszystko działa. Ping po nazwie nie jest osiągalny, a serwer DNS jest na adresie localhost. Problem leży oczywiście w pliku resolv.conf

Konfiguracja serwera DNS

Należy jeszcze zmienić DNS-a w pliku /etc/resolv.conf. Podobnie jak na serwerze ten plik jest dowiązaniem symboliczmym i po restarcie systemu wczytują się stare ustawienia. Aby to "obejść" należy ten plik usunąć, a następnie utworzyć nowy o takiej samej nazwie. Obecnie zawartość pliku jest widoczna powyżej

Testowanie serwera DNS

Usuwamy ten plik, tworzymy nowy, wprowadzamy nasze dane i zabezpieczamy go przed usunięciem

Testowanie serwera DNS

Ponownie sprawdzamy pingi po nazwach, po adresie IP, zarówno do serwera jak i do klienta Windows. Jak widać jest OK.

Testowanie serwera DNS

Dla formalności sprawdzamy polecenie nslookup. Jak widać teraz już wszystko działa

Testowanie serwera DNS

To samo sprawdzamy na drugim kliencie (z systemem Window 10). Pingi po nazwach, a potem nslookup. Jak widać jest OK.

Tworzenie aliasów

Na koniec możemy jeszcze stworzyć aliasy do istniejących rekordów. Edytujemy plik for.egzamin.local i tam dodajemy alias o nazwie bond100 dla rekordu komp100 oraz drugi alias o nazwie bond110 dla rekordu komp110. Zapisujemy zmiany i zamykamy plik

Testowanie serwera DNS

Następnie sprawdzamy z serwera działanie aliasów poleceniem nslookup oraz ping. Wszystko jest OK

Testowanie serwera DNS

Teraz jeszcze z klienta (z systemem Windows 10). Najpierw nslookup, a potem ping. Widzimy pełny zwrot informacji