Temat: Przygotowanie do pracy serwera DNS

System DNS oparty jest na hierarchicznej i logicznej strukturze drzewa zwanej obszarem nazw domen. Każdy węzeł drzewa DNS reprezentuje nazwę DNS, np. domenę DNS. Domeny DNS mogą zawierać hosty (np.: komputery, serwery) oraz inne domeny nazywane poddomenami. Węzły w drzewie domen DNS są identyfikowane przez pełną nazwę domeny FQDN (Fully Qualified Domain Name) i wskazują położenie węzła względem domeny głównej.

Serwer DNS pozwala na zamianę adresów używanych w internecie na adresy IP. Dzięki DNS użytkownik może posługiwać się łatwiejszymi do zapamiętania nazwami domen, zamiast trudnymi do zapamiętania adresami IP serwerów.

DNS umożliwia dwa rodzaje przeszukiwania strefy:

  • do przodu – na podstawie nazwy jest określany adres IP;
  • wstecz – na podstawie adresu IP jest szukana odpowiadająca mu nazwa domeny.

Do przeszukiwania stref serwer wykorzystuje rekordy zasobów:

  • A – mapuje nazwę hosta na adres IP;
  • AAAA – mapuje nazwę hosta na adres IPv6;
  • CNAME – ustawia alias (inną nazwę) dla nazwy hosta;
  • MX – określa serwer wymiany poczty dla domeny;
  • NS – określa serwer nazw dla domeny (DNS);
  • PTR – tworzy powiązanie adresu IP z nazwą w strefie przeszukiwania wstecz;
  • SOA – jest wymagany dla każdej strefy i określa serwer DNS, który dostarcza autoryzowane informacje dla danej strefy.

Istnieją trzy główne sposoby konfigurowania usługi DNS:

  1. buforujący serwer nazw (Caching Name Serwer) – nie przechowuje bazy danych rekordów (gdy otrzyma zapytanie o nazwę, korzysta z innego serwera nazw i umieszcza informacje w swoim buforze do późniejszego wykorzystania);
  2. podstawowy serwer nazw (Primary Name Serwer) – posiada główną kopię bazy danych z nazwami wszystkich hostów w strefie oraz rekordy dla wszystkich poddomen;
  3. zapasowy serwer nazw (Secondary Name Serwer) – zawiera kopię bazy danych z serwera podstawowego.

Jednym z najpopularniejszych serwerów DNS wykorzystywanych w linuksach jest BIND. Nie jest on jednak domyślnie zainstalowany. Aby go zainstalować należy wydać polecenie:

sudo apt-get install bind9

Pliki konfiguracyjne przechowywane są  w katalogu /etc/bind. Opcje konfiguracji znajdują się w plikach:

  • named.conf,
  • named.conf.options,
  • named.conf.local.

Konfigurowanie i testowanie buforującego serwera nazw

Buforujący serwer nazw umożliwia szybsze tłumaczenie nazw na adres IP. Serwer umieszczony w sieci lokalnej, np. w szkole, zapisuje w pamięci nazwy stron odwiedzanych przez uczniów i odpowiadające im adresy IP. Dostęp do tych informacji w sieci lokalnej jest szybszy, a ponadto można zmniejszyć liczbę zapytań wysyłanych do zewnętrznych serwerów DNS.

Aby skonfigurować buforujący serwer nazw, należy:

  1. Przejść do edycji pliku /etc/bind/named.conf.options. Usunąć symbol komentarza na początku poniższych linijek i wpisać adresy serwerów DNS. My wykorzystamy adresy serwerów OpenDNS – oferujących damrmowy dostęp do DNS.
forwards {
208.67.222.222;
208.67.220.220;
};
/etc/bind/named.conf.options
  1. Ponownie uruchomić demona BIND poleceniem:
sudo /etc/init.d/bind9 restart
  1. W oknie konfiguracji IPv4 ustawić adres serwera DNS (adres IP komputera, na którym jest uruchomiony buforujący serwer DNS).
Konfiguracja adresu serwera DNS
  1. Przetestować działanie serwera. Służy do tego polecenie dig, np. aby sprawdzić adres IP serwera wp.pl, należy wydać polecenie:
dig wp.pl
Testowanie DNS za pomocą dig