Dydaktyka:
FeedbackTo jest stara wersja strony!
http://www.cs.put.poznan.pl/ddwornikowski/sieci/sieci2/dns.html
Przygotowanie do laboratoriów w salach 1.6.16 / 1.6.18
Na początku zajęć pobierz skrypt dns_lab_setup.sh i wykonaj go z uprawnieniami roota, podając jako argument adres IP podany przez prowadzącego.
Nazwa domenowa [2]
Budowa nazwy domenowej: struktura drzewiasta, korzeń.
Top Level Domain [3], lista (do 2012r istniały tylko funkcjonalne i krajowe domeny, teraz mogą też funkcjonować prawie dowolne)
Fully qualified domain name – pełna nazwa domenowa [1]
Zadanie 1. Porównaj wynik poniższych poleceń:
$ ping -c1 lab-net-1 $ ping -c1 lab-net-1.cs.put.poznan.pl
Serwery nazw można podzielić ze względu na pełnione zadanie na:
Klienci odpytujący DNS korzystają z UDP1)
Do odpytywania serwerów DNS można używać np. komend:
dig -hnslookup (zacznij od przeczytania man nslookup)dnstracer (pozwala przejść całe drzewo DFSem, np: dnstracer -c -o -s . assets.publishing.service.gov.uk. )Zadanie 2. Przetestuj poniższe zapytania:
host lab-net-1.cs.put.poznan.pl host lab-net-1.cs.put.poznan.pl. host lab-net-1 dig lab-net-1.cs.put.poznan.pl dig +noall +answer lab-net-1.cs.put.poznan.pl dig +short lab-net-1.cs.put.poznan.pl dig www.cs.put.edu.pl dig wp.pl host wp.pl
Wybór typu rekordu:
host -t typ nazwa_domenowa np: host -t MX put.poznan.pl dig nazwa_domenowa typ np: dig put.poznan.pl AAAAPytanie o "wszystkie" rekordy:
host -a [-v] nazwa_domenowadig nazwa_domenowa anyZadanie 3. Odpytaj kilka domen o wszystkie rekordy. Jakie typy rekordów głównie widzisz?
Ważniejsze typy rekordów:
| A | Adres IPv4 |
| AAAA | Adres IPv6 |
| NS | Serwer nazw |
| SOA | Start of Authority (omówione dokładniej przy konfiguracji serwera DNS) |
| MX | Serwer odbierający pocztę dla domeny |
| CNAME | Alias na inną nazwę domenową ( np. host -t cname www.cs.put.edu.pl dig unixlab.cs.put.poznan.pl cname ) |
| TXT | Dowolny tekst (dosłownie dowolny). Używany np. na potrzeby mechanizmów walki ze spamem – SPF i DKIM) ( przykłady: Cokolwiek: dig akamai.net txt Cokolwiek: host -t txt lenovo.com SPF: dig student.put.poznan.pl txt DKIM: host -t txt 20161025._domainkey.googlegroups.com ) |
| SRV | Host i port usługi, ( np. dla klientów xmpp: dig _xmpp-client._tcp.jabber.org srv dla klientów minecrafta: host -t srv _minecraft._tcp.cubecraft.net w domenie AD: https://technet.microsoft.com/en-us/library/cc961719.aspx ) |
| PTR | Nazwa domenowa (patrz niżej) |
Pozostałe: https://en.wikipedia.org/wiki/List_of_DNS_record_types
Zadanie 4a. Wykonaj zapytania o odwzorowanie odwrotne:
host 150.254.30.43 dig -x 150.254.30.43 dig @8.8.8.8 -x 150.254.30.43 host -t ptr 43.30.254.150.in-addr.arpa dig 43.30.254.150.in-addr.arpa ptr
Zadanie 4b. Zadaj zapytania odwrotne o adres IPv6. Jaka domena jest użyta?
home.cern,
zapytam się root serwera gdzie jest serwer nazw dla cern.
Serwer nazw jest pod adresem a2.nic.cern,
więc żeby dowiedzieć się, gdzie jest a2.nic.cern,
zapytam się root serwera gdzie jest serwer nazw dla cern…“
Jeśli NS jest w tej samej domenie, którą rozwiązuje, to razem z rekordem NS w nadrzędnym serwerze nazw musi być też rekord A lub AAAA tzw. glue record
Zadanie 5. Sprawdź jak wygląda wynik komendy: dig nask.pl @a-dns.pl. Które rekordy to glue records?
System operacyjny Linux używa serwera DNS skonfigurowanego w pliku /etc/resolv.conf. Dokumentacja możliwych wpisów w tym pliku: man resolv.conf
Ręczne wybranie serwera:
host name server, np: host pl.wikipedia.org dns.tpsa.pl host pl.wikipedia.org one.one.one.onedig @server name, np: dig @dns.tpsa.pl pl.wikipedia.org dig @one.one.one.one pl.wikipedia.orgRodzaje zapytań [1]:
dig nazwa +tracedig @a.root-servers.net cs.put.poznan.pl dig @a-dns.pl cs.put.poznan.pl ……… dig nazwa +recurse
Przykładowe adresy publicznych serwerów DNS:
9.9.9.9 IBM (Quad9)Zadanie 6. Wykonaj zapytanie iteracyjne dla przykładowej nazwy domenowej
Serwery authoritative i caching – przypomnienie
Zadanie 7a.
Porównaj odpytanie o stronę poznan.pl programem dig następujących serwerów DNS:
cns1a.atman.pl ordns.he.net bilbo.nask.org.pl
Co oznacza druga kolumna wyników? Czym różnią się flagi odpowiedzi?
Bezpieczeństwo:
Prywatność:
Zadanie 7b. Porównaj wynik zapytania o adres dowolnej strony z listy: https://hazard.mf.gov.pl/ pytając poniższe serwery DNS:
cns1a.atman.pl ordns.he.net dns.tpsa.pl
Rodzaje serwerów – master (primary), slave (secondary)
W trakcie laboratoriów jest używany serwer DNS BIND w wersji 9 którego rozwój dba ISC.
BIND9 pozwala tworzyć zarówno serwery authoritative jak i caching (i serwery pełniące obie role naraz, co zwykle jest odradzane).
Standardowa nazwa głównego programu BIND to named (od name daemon).
Inne popularne authoritative DNS to NSD i Knot DNS.
Inne popularne caching DNS to Unbound czy dnsmasq (który łączy w sobie serwer DNS i DHCP).
Format plików stref (zone files) opisujących informacje znajdujące się w DNS (a pochodzący z BIND) stał się standardem używanym do konfiguracji rekordów DNS w większości serwerów DNS.
Zadanie 8.
chmod a+w .)named -4 -g -c bind9-caching-server.confSensowniejszy przykład takiej konfiguracji jest np. tutaj.
Uwaga: przedstawione tutaj konfiguracje w wielu miejscach nie przestrzegają dobrych praktyk i zaleceń dotyczących konfigurowania serwerów DNS – zostało to zrobione celowo dla skrócenia plików konfiguracyjnych, trzymania wszystkich plików w jednym miejscu, poprawienia czytelności, skróceniu czasów do mieszczących się w trakcie zajęć et cetera.
Zadanie 9a.
named -g -c durna-konfiguracja.confZadanie 9b.
rndc reload example.com
Do sprawdzenia konfiguracji serwera możesz wykonać komendę:
named-checkconf sciezka/do/pliku.conf
natomiast do sprawdzenia pliku strefy:
named-checkzone example.com sciezka/do/pliku/example.com.zone
Zadanie 10. (zadanie wykonaj w parach)
dwaserwery-master.conf), dwaserwery-slave.conf)rndc reload example.com
Zadanie 11. Dodaj nową domenę do konfiguracji serwera i stwórz plik strefy dla tej domeny.
Do pliku strefy dodaj kolejno przykładowe wpisy AAAA, TXT i MX (wzorując się na przykładowych wynikach dig)
Dłuższe materiały o konfiguracji DNS są tutaj.
Serwery slave ściągają kompletny plik strefy od serwerów master wykonując tzw. zone transfer [1], czyli zapytanie AXFR.
Wymiana danych między serwerem master a serwerem slave (zone transfer) wykorzystuje TCP
Zadanie 12. Wykonaj zone transfer dla domeny zonetransfer.me i porównaj wyniki z zapytaniem o wszystkie rekordy:
host -al zonetransfer.me nsztm1.digi.ninja dig @nsztm1.digi.ninja zonetransfer.me axfrhost -a zonetransfer.me nsztm1.digi.ninja dig @nsztm1.digi.ninja zonetransfer.me any