MANIEK Logo Mój Asystent Nauki Informatyki i Egzaminów Klasyfikacyjnych
Logowanie
ASSO / Linux Server / DNS / BIND9

22 — Przygotowanie do pracy serwera DNS

Czas: 90 min

Cele i treść

Cele:
  • Uczeń wyjaśnia przeznaczenie usługi lub narzędzia w systemie Linux.
  • Uczeń zna najważniejsze pliki i polecenia administracyjne.
  • Uczeń wykonuje konfigurację w terminalu lub narzędziu graficznym.
  • Uczeń testuje działanie usługi i dokumentuje wynik.

Lekcja obejmuje temat: Przygotowanie do pracy serwera DNS.

Główne części: Zasada działania usługi DNS (Domain Name System), Strefy DNS (DNS Zones), Typy serwerów DNS, Konfigurowanie serwera DNS (BIND9).

Notatka:

Import przygotowany z rozkładu klasy 2. Po imporcie można dopisać własne screeny, załączniki, zadania i kryteria oceniania.

#BIND9#dig#DNS#nslookup

Punkty lekcji

1 - Zasada działania usługi DNS (Domain Name System)zadanie

Cel: DNS jest "książką telefoniczną Internetu". Jego podstawowym zadaniem jest tłumaczenie (tzw. resolwowanie) przyjaznych dla człowieka nazw domen (np. google.com, wp.pl) na adresy IP (np. 8.8.8.8, 217.197.0.25), które są zrozumiałe dla urządzeń sieciowych.

Hierarchia domen: System DNS jest rozproszony i hierarchiczny. Składa się z poziomów oddzielonych kropkami (.), np. www.serwer.dzial.firma.com. (końcowa kropka oznacza root).

Root (.): Najwyższy poziom, zarządzany przez root-servers.net.

TLD (Top-Level Domain):.com,.pl,.org,.net itp.

Domena drugiego poziomu: firma w firma.com.

Subdomena: dział w dzial.firma.com.

Host (nazwa maszyny): serwer w serwer.dzial.firma.com.

Proces resolwowania (uproszczony):

Klient pyta swojego lokalnego serwer DNS (rekurencyjny) o adres www.example.com.

Serwer rekurencyjny, jeśli nie ma odpowiedzi w cache, pyta serwery root o adres dla.com.

Serwery root wskazują serwery TLD dla.com.

Serwer rekurencyjny pyta serwery TLD.com o adres dla example.com.

Serwery TLD wskazują autorytatywne serwery DNS dla domeny example.com.

Serwer rekurencyjny pyta autorytatywny serwer example.com o adres www.example.com.

Otrzymuje odpowiedź (np. 93.184.216.34) i przekazuje ją klientowi, jednocześnie zapisując w cache.

2 - Strefy DNS (DNS Zones)opis

Strefa (Zone): To plik konfiguracyjny zawierający definicje rekordów dla określonej części przestrzeni nazw domen (np. dla całej domeny moja-firma.lab lub subdomeny dzial.moja-firma.lab).

Plik strefy: Składa się z rekordów zasobów (Resource Records - RR), które definiują mapowanie między nazwami a adresami lub innymi usługami.

Główne typy rekordów:

SOA (Start of Authority): Określa podstawowe parametry strefy (główny serwer DNS, email admina, numery seryjne, czasy odświeżania).

NS (Name Server): Wskazuje autorytatywne serwery DNS dla domeny.

A (Address): Mapuje nazwę hosta na adres IPv4.

AAAA (Address): Mapuje nazwę hosta na adres IPv6.

CNAME (Canonical Name): Tworzy alias (przekierowanie) z jednej nazwy na inną.

MX (Mail Exchanger): Wskazuje serwer(y) pocztowy dla domeny.

PTR (Pointer): Używany do reverse lookup – mapowania adresu IP na nazwę domeny.

3 - Typy serwerów DNSopis

Serwer rekurencyjny (resolver):

Rola: Odbiera zapytania od klientów końcowych (stacji roboczych) i w ich imieniu przemierza hierarchię DNS, aby znaleźć odpowiedź. Przechowuje wyniki w cache dla przyszłych zapytań.

Przykład: Serwer DNS Twojego dostawcy Internetu (ISP), serwery Google (8.8.8.8), Cloudflare (1.1.1.1).

Serwer autorytatywny (authoritative):

Rola: Przechowuje ostateczne, autorytatywne odpowiedzi dla konkretnych domen (przechowuje ich pliki stref). Odpowiada na zapytania serwerów rekurencyjnych.

Serwer główny (Primary/Master): Przechowuje główną, edytowalną kopię pliku strefy.

Serwer pomocniczy (Secondary/Slave): Pobiera kopię strefy z serwera głównego (proces transferu strefy - zone transfer) w celu zapewnienia redundancji i odciążenia.

4 - Konfigurowanie serwera DNS (BIND9)opis

BIND9 (Berkeley Internet Name Domain): To najpopularniejszy na świecie serwer DNS, standard de facto w świecie Linux/Unix.

Główne pliki konfiguracyjne:

/etc/bind/named.conf: Główny plik konfiguracyjny. Często includeuje inne pliki.
/etc/bind/named.conf.options: Tutaj definiuje się opcje globalne, m.in. konfigurację serwera jako rekurencyjnego (zezwolenie na zapytania od klientów).
/etc/bind/named.conf.local: Tutaj definiuje się strefy autorytatywne, które hostuje ten serwer.
/var/cache/bind/: Katalog, w którym typically umieszcza się pliki stref dla domen autorytatywnych.
5 - Testowanie serwera DNSzadanie

Narzędzia:

dig (Domain Information Groper): Najpotężniejsze i najczęściej używane narzędzie do diagnostyki DNS. Pokazuje szczegółową odpowiedź od serwera, w tym sekcję odpowiedzi, autorytatywną i dodatkową.
nslookup: Starsze, interaktywne narzędzie. Wciąż przydatne, ale dig jest preferowane.

host: Proste narzędzie do szybkiego sprawdzenia rozwiązywania nazw.

Testowanie: Podczas testowania należy jawnie wskazać adres IP serwera DNS, który chcemy sprawdzić (@adres_serwera), aby pominąć systemowy resolver.

6 - Szczegółowy opis ćwiczeń praktycznychopis

Do uzupełnienia.

7 - Ćwiczenie 1: Instalacja serwera BIND9.zadanie

Cel: Przygotowanie oprogramowania serwera DNS.

Kroki: Otwórz terminal.

Zainstaluj pakiet BIND9:

sudo apt update
sudo apt install bind9
8 - Ćwiczenie 2: Podstawowa konfiguracja serwera rekurencyjnego.zadanie

Cel: Skonfigurowanie serwera do rozwiązywania nazw dla klientów wewnętrznych.

Kroki:

Otwórz plik konfiguracyjny opcji:

sudo nano /etc/bind/named.conf.options

Znajdź lub dodaj blok options { }. Wewnątrz niego dodaj/zmień następujące opcje:

options {

// Pozwól na zapytania od hostów w Twojej sieci (np. 192.168.1.0/24)

allow-query { localhost; 192.168.1.0/24; };

// Włącz funkcję serwera rekurencyjnego dla klientów

recursion yes;

// Opcjonalnie: Wskaż forwarderów (serwery DNS ISP/Google) do rozwiązywania nazw zewnętrznych
// forwarders {
// 8.8.8.8;
// 1.1.1.1;
// };
//... inne domyślne opcje...

};

Zapisz plik i zamknij edytor.

Sprawdź poprawność składni konfiguracji BIND:

sudo named-checkconf

(Brak outputu oznacza sukces).

9 - Ćwiczenie 3: Konfiguracja strefy autorytatywnej.zadanie

Cel: Skonfigurowanie serwera jako autorytatywnego dla własnej, lokalnej domeny.

Kroki:

Otwórz plik named.conf.local:

sudo nano /etc/bind/named.conf.local

Dodaj definicję strefy dla domeny lab.local (lub innej wybranej):

// Strefa forward (nazwa -> IP)

zone "lab.local" {

type master;

file "/var/cache/bind/db.lab.local";

};

// Strefa reverse (IP -> nazwa) - opcjonalnie, dla sieci 192.168.1.0/24

zone "1.168.192.in-addr.arpa" {

type master;

file "/var/cache/bind/db.192.168.1";

};

Zapisz i zamknij plik.

Stwórz plik strefy forward:

sudo nano /var/cache/bind/db.lab.local

Wpisz następującą zawartość, dostosowując adresy IP:

$TTL 604800

@ IN SOA ns1.lab.local. admin.lab.local. (

3; Serial

604800; Refresh

86400; Retry

2419200; Expire

604800); Negative Cache TTL

;

@ IN NS ns1.lab.local.

@ IN A 192.168.1.10; Adres IP serwera DNS/domeny

ns1 IN A 192.168.1.10; Adres serwera DNS

www IN A 192.168.1.20; Przykładowy host

mail IN A 192.168.1.30; Przykładowy serwer poczty

@ IN MX 10 mail.lab.local.; Rekord pocztowy

Zapisz plik.

Sprawdź poprawność składni pliku strefy:

sudo named-checkzone lab.local /var/cache/bind/db.lab.local

(Powinien pokazać OK).Ćwiczenie 4: Uruchomienie i testowanie serwera.

Cel: Weryfikacja działania serwera rekurencyjnego i autorytatywnego.

Kroki:

Restartuj BIND9, aby zastosować konfigurację:

sudo systemctl restart bind9
sudo systemctl status bind9 # Sprawdź, czy działa

Przetestuj resolucję rekurencyjną (czy serwer pyta innych o zewnętrzne nazwy):

dig @localhost google.com

(Zastąp localhost adresem IP twojego serwera DNS, jeśli testujesz z innej maszyny).

Przetestuj resolucję autorytatywną (czy serwer odpowiada za swoją strefę):

dig @localhost ns1.lab.local
dig @localhost www.lab.local

W sekcji "ANSWER SECTION" powinieneś zobaczyć odpowiedzi zdefiniowane w pliku strefy.

Przetestuj na kliencie: Na innej maszynie w sieci skonfiguruj ręcznie w ustawieniach sieciowych adres twojego serwera DNS jako podstawowy. Następnie użyj poleceń nslookup lub dig do przetestowania resolucji zarówno nazw zewnętrznych (google.com), jak i wewnętrznych (www.lab.local).

Powiązane arkusze i pytania

Arkusze

Brak powiązanych arkuszy.

Pytania

Brak powiązanych pytań.