Pełna konfiguracja serwera BIND i DNS na nowym serwerze

Po wykupieniu serwera dedykowanego czy VPS u jakiegoś dostawcy zwykle otrzymujemy adres IP i nazwę hosta, która bardziej przypomina kolejny numer porządkowy, w domenie dostawcy. Natomiast dziś przedstawię w jaki sposób zainstalować i skonfigurować serwer BIND do obsługi domen.

CEL:
Konfiguracja serwera DNS.
Podstawowy będzie na moim serwerze VPS, natomiast do stworzenia zapasowego wykorzystam jeden z darmowych serwisów utrzymywania DNS freedns.42.pl.

Zmiana nazwy hosta

Nazwę nowego serwera można sprawdzić komendą:

Konfiguracja hostname:

Edytujemy plik nano /etc/hosts

Plik powinien wyglądać następująco:

kolejnym krokiem to edycja pliku nano /etc/hostname

I wpisujemy nasz hostname node

Dokonujemy restartu serwera.
Po ponownym zalogowaniu do konsoli całość możemy zweryfikować poleceniami:

Przechodzimy do głównej konfiguracji Binda.

Na początku należy się upewnić, że jest zainstalowany serwer nazw BIND. W razie jakby go jeszcze nie było, to instalacja wygląda tak:

Zabezpieczenie BINDa

BIND jest dość powszechnym programem, dlatego w dobrym tonie jest zastosowanie zabezpieczeń, a mianowicie zamknięcie go w chrootowalnym środowisku. Najpierw należy zatrzymać całą usługę

Następnie należy edytować plik /etc/default/bind9 i zmienić w nim wartość parametru OPTIONS, żeby wyglądała tak jak poniżej:

Dalej trzeba stworzyć nowe katalogi i poprzenosić domyślnie utworzone przez program katalogi do nowych lokalizacji:

Pozostawiam w razie czego w miejscu przeniesionych katalogów link symboliczny:

Niezbędne jest również utworzenie urządzeń null i random oraz nadanie odpowiednich praw:

BIND jest już zamknięty w chrootowalnym środowisku. Pozostaje jeszcze rozwiązanie problemu logowania zdarzeń. Aby zdarzenia były logowane do systemowych logów należy nieco zmodyfikować plik /etc/default/syslogd. Należy tam znaleźć linię z parametrem SYSLOGD i zmodyfikować ją, żeby wyglądała tak:

Teraz pozostaje tylko zrestartowanie usługi sysklogd oraz uruchomienie bind9.

W logu /var/log/syslog można sobie podejrzeć czy wszystko się uruchomiło prawidłowo.
A teraz można przejść do ustawień właściwych

Na początku należy sprawdzić plik /etc/bind/named.conf
W moim przypadku widać, że jest on podzielony na podrzędne części includowane z plików: named.conf.options i named.conf.local

Zaczynamy od sprawdzenia pliku named.conf.options, gdyż w zasadzie w moim przypadku domyślne ustawienia są na razie jak najbardziej wystarczające, a wygląda to mniej więcej tak:

W dalszej kolejności trzeba będzie już coś napisać i edytować plik named.conf.local, gdzie definiuje się strefy obsługiwane przez serwer. Na końcu pliku dopisuje moją strefę:

Type master oznaczna, że jest to typ podstawowy.
File wskazuje plik ze szczegółami dla tej domeny. Podany tutaj jest adres bezwzględny do pliku, który będzie trzeba za chwilę stworzyć. Podając tutaj samą nazwę pliku, katalogiem gdzie powinien się ten plik znaleźć jest katalog podany w pliku named.conf.options w parametrze directory.
Notify yes powoduje, że o wszelki zmianach we wpisie podstawowym powiadamiane są również zapasowe DNSy.
Allow-transfer określa adresy IP, które będą miały pozwolenie na pobranie tej strefy, tutaj akurat są konkretne adresy serwerów DNS z wspomnianego na początku serwisu freedns.42.pl, które będą stanowić tutaj serwery zapasowe (secondary)

Następnie należy utworzyć wskazany powyżej plik z wpisami dla domeny /etc/bind/serwerweb.pl

W skrócie:

$TTL – określa czas ważności rekordów (w sekundach)
$ORIGIN – nazwa domeny. W dalszej części @ oznacza właśnie tą wartość.
Gdy gdzieś w pliku pojawia się nazwa domeny to trzeba zakończyć ją kropką, gdyż w przeciwnym wypadku doklejana jest nazwa domeny (wartość $ORIGIN)
@ IN SOA… – Start Of Authority informuje o podstawowym serwerze DNS i kto nim zarządza (e-mail zapisany z kropką w miejscu małpy)

Jak wynika z pliku zdefiniowałem dla swojej domeny aż trzy serwery DNS. W zupełności wystarczyłyby tutaj dwa.
Pierwszy ns1.serwerweb.pl podstawowy obsługiwany przez mój serwer, na którym będzie domena również zainstalowana, dwa kolejne (ns2.serwerweb.pl i ns3.serwerweb.pl) to adresy zapasowe utworzone w serwisie freedns.42.pl.

Przed przejściem do konfiguracji strefy zapasowej, należałoby zatwierdzić dokonane zmiany restartując usługę bind9

Można jeszcze sprawdzić czy wszystkie dokonane przed chwilą wpisy dla strefy są poprawne wywołując taki program:

Jakby się coś nie zgadzało albo popełniona została jakaś drastyczna literówka to program poinformuje, gdzie mniej więcej szukać błędu.

Ponadto poniższą komendą można sobie sprawdzić czy domena została poprawnie dodana (powinna się pojawić po wykonaniu)
1

To wszystko, mamy poprawnie w pełni skonfigurowany serwer BIND.

Jak przydatny był ten wpis?

Kliknij gwiazdkę, abygo ocenić!

Średnia ocena / 5. Liczba głosów:

Jak dotąd brak głosów! Oceń ten wpis jako pierwszy.