19. DNS (Domain Name System)
Teorie
Internetová
doména (skupina)
- jednoznačné jméno (identifikátor) počítače nebo počítačové sítě,
které jsou připojené do Internetu (jména jsou snáz zapamatovatelná a víc
říkající než IP adresy)
- skládá se z řetězců oddělených tečkami (např. www.sspkrnov.cz)
- odzadu -
doména nejvyšší úrovně (1. úrovně)
- národní domény - zkratka státu (.cz)
- obr.,
ISO 3166
- nebo obecné domény typu .org, .com
- doména 2. úrovně = většinou název organizace (sspkrnov.cz)
- registrují se na určitou dobu, v ČR spravuje domény
CZ.NIC (možnost hledání v
registru)
- doména 3. úrovně = většinou název počítače
- domény tvoří strom - obr. -
prohledávání stromu (při hledání IP adresy) probíhá hierarchicky od kořene
(na obrázku jsou odshora domény 1., 2. a 3. úrovně)
- jména nejsou citlivá na velikost písmen
DNS
(Domain Name System)
- Protokol aplikační vrstvy umožňující překlad
doménových
jmen na IP adresy
a naopak (reverzní dotaz) -
obr., ilustrace překladu před navázáním spojení -
obr.
- používá port 53, transportní protokol je TCP nebo
UDP,
je definován v RFC1035
- prakticky jména překládají
DNS servery
- nejrozšířenější implementace je BIND
-
kořenové jmenné servery (root
name) - 13 vybraných základních serverů, které
odkazují na autoritativní servery pro domény nejvyšší úrovně -
www
-
autoritativní servery - obsahují trvale uložené
záznamy pro konkrétní domény - udržují je registrátoři domén
-
neautoritativní servery (caching only) - zprostředkovávají DNS dotazy
na autoritativní servery a uchovávají výsledky dotazů v paměti -
zrychlují klientům hledání přes DNS a šetří autoritativní servery
(tyto servery se nastavují u klientů v rámci nastavení síťové karty),
udržují je poskytovatelé Internetu
- DNS servery obsahují pro jednotlivé domény
konfigurační soubory se záznamy ve formátu
- [jméno] [TTL] třída typ
parametry
- kde třída je vždy IN jako Internet,
typ viz níže, prvky v [] jsou nepovinné (přejímají se z dřívějších
záznamů)
- Nejdůležitější
typy záznamů (records):
- SOA (Start Of Authority) - zahajující záznam
souboru obsahující např. implicitní dobu platnosti záznamů (TTL)
- A (address) obsahuje IPv4 adresu přiřazenou
danému jménu
- např. jménu pocitac.xxx.cz odpovídá záznam v
zónovém souboru pro doménu xxx.cz: pocitac IN A 1.2.3.4
- CNAME je alias (přezdívka) - jiné jméno pro jméno již
uvedené - nejč. www
- např. záznam www IN CNAME pocitac umožňuje použít
www.xxx.cz místo pocitac.xxx.cz
- PTR (pointer) - překlad IP adresy na doménové
jméno (reverzní překlad)
- NS (name server) - záznam definuje
autoritativní jmenné servery pro doménu
-
další typy
- Příklad
hledání IP adresy ke jménu www.wikipedia.org -
obr.
- uživatel (klient) zadá jméno do prohlížeče - pošle se dotaz na
místní DNS server (nastavený ve Windows)
- místní DNS server odpověď nezná, proto dotaz přepošle na
kořenový server - např. K (adresy kořenových serverů místní DNS
server zná ze své konfigurace)
- kořenový server nezná odpověď, ale poskytne místnímu DNS serveru
adresy autoritativních serverů pro doménu nejvyšší úrovně .org
- místní DNS server vybere adresu a pošle na ni dotaz
- vybraný server odpověď nezná, ale pošle místnímu DNS serveru
adresy autoritativních serverů pro wikipedia.org
- místní DNS server vybere adresu a pošle na ni dotaz
- vybraný server odpověď zná a pošle místnímu DNS serveru IP
adresu
- místní DNS server pošle hledanou IP adresu klientovi
Další
-
DNSSEC
- systém zabezpečení proti podvržení
(překladu domény na jinou/nesprávnou IP adresu)
Cvičení
- určení DNS serveru ve Windows
- IP adresa DNS serveru se zadá buď manuálně
- primární, sekundární DNS server u síťové
karty (kontrola přes ipconfig /all) - sdělený poskytovatelem Internetu
(ISP) nebo se použije
public DNS server (např. 8.8.8.8 od Googlu) -
obr.
- nebo se získá přes DHCP
- dns cache - paměť, obsahující poslední výsledky
hledání DNS dotazů
- výpis ipconfig /displaydns
- vymazání ipconfig /flushdns
- TTL - doba života záznamu
- dns cache poisoning - vložení nesprávných IP adres, které
směřují na závadné/škodlivé stránky
- předchůdce DNS - tabulka hosts (na Linuxu /etc/hosts, ve Windows
\Windows\system32\drivers\etc\hosts) - možnost uložení
aliasů
- demonstrace překladu pomocí DNS - ping www.seznam.cz - nejprve
proběhne překlad na IP adresu
- nslookup -
obousměrné hledání - jméno -> IP adresa, IP adresa -> jméno
- po spuštění interaktivní režim (? nápověda)
- zadat jméno pro hledání IP adresy
- zadat IP_adresu pro hledání jména
- hledání určeného typu záznamu: např. set q=ns pro
hledání autoritativního serveru dané domény
- nastavení jiného než implicitního name serveru příkazem např.
server 8.8.8.8
- ukázka role DNS serveru na Windows Serveru
- whois - databáze
registrovaných internetových domén - www
- Wireshark - demonstrace DNS dotazu a odpovědi -
otevřít dns_query_response.pcapng - analýza paketů (TCP nebo UDP?)
- PacketTracer - simulace DNS
- vytvořit síť PC, DNSServer, Server - propojení switchem
- nastavit u všech IP 192.168.5.x a masku 255.255.255.0
- u DNSServeru nastavit službu DNS - definovat záznam A Server ->
IP Serveru
- u PC nastavit DNS na IP DNSServeru
- ověřit funkčnost propojení PC - Server pomocí pingu na Server
přes IP, pak přes jméno
- simulovat stejný ping (filtrovat DNS, ICMP) - analyzovat pakety