• Nie Znaleziono Wyników

Jarek DurakPI 2009 DNS

N/A
N/A
Protected

Academic year: 2021

Share "Jarek DurakPI 2009 DNS"

Copied!
27
0
0

Pełen tekst

(1)

DNS

Jarek Durak

PI 2009

(2)

Historia usług rozwiązywania nazw

Domain Name System

Opracowany na potrzeby dostarczania poczty w sieci ARPANET na początku lat 80 (83 rok RFC881 882 i 883)

Zastąpił plik HOSTS.TXT

Pozostałość po tym pliku istnieje we wszystkich systemach operacyjnych

LINUX/UNIX - /etc/hosts

Windows NT/2k/XP -

/Windows(WINNT)/system32/drivers/etc/hosts

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath

Plik hosts funkcjonował przez 10 lat

(3)

Historia usług rozwiązywania nazw

Plik hosts

Na przełomie lat 70/80 znacznie wzrosła liczba hostów w ARPANET

Rozmiar pliku stał się zbyt duży

Częste zmiany przypisań nazwa-adres

wymuszały częste transfery pliku do wszystkich hostów

Transport poczty wymagał wyspecyfikowania wszystkich hostów pośredniczących

utzoo!decvax!harpo!eagle!mhtsa!ihnss!ihuxp!grg

user@host

(4)

Historia usług rozwiązywania nazw

Obecny format pliku hosts

Każda linia jest osobnym wpisem

Zawiera

Adres IP v4 lub v6

Nazwa długa i nazwa krótka (obie/jedna/kilka nazw)

127.0.0.1 localhost #IPv4

255.255.255.255 broadcasthost

fe80::1%lo0 localhost #MacOSX

149.156.112.55 tempus.metal.agh.edu.pl tempus

# IPv6

::1 localhost ipv6-localhost ipv6-loopback fe00::0 ipv6-localnet

ff00::0 ipv6-mcastprefix ff02::1 ipv6-allnodes ff02::2 ipv6-allrouters ff02::3 ipv6-allhosts

(5)

Historia usług rozwiązywania nazw

Plik hosts

To czy plik hosts jest używany przez resolver jest zależne od systemu operacyjnego

Dla Linux/Unix jest to plik /etc/hosts conf

order hosts, bind

I /etc/nsswitch.conf

Dla Windows są to wpisy w rejestrach

W przypadku korzystania z AD istnienie wpisów w pliku hosts może zakłócić działanie stacji w drzeie AD

(6)

DNS po stronie klienta

Za korzystanie z DNS na stacji klienckiej odpowiada:

Jej konfiguracja (np. dodatkowe usługi)

resolver (zestaw bibliotek systemowych i plików)

Resolver

Odpowiada za tłumaczenie nazw w postaci

Tempus, www.agh.edu.pl na adres IP v4 lub 6

tempus.metal.agh.edu.pl → 149.156.112.55 –

Usługę ReverseDNS

Tłumaczenie adresu IP na nazwę domenową

55.112.156.149.in-addr.arpa. → tempus.metal.agh.edu.pl

(7)

DNS po stronie klienta

Przykład ReverseDNS

# nslookup

> set type=PTR

> 55.112.156.149.in-addr.arpa Server: 192.168.1.1 Address: 192.168.1.1#53 Non-authoritative answer:

55.112.156.149.in-addr.arpa name = tempus.metal.agh.edu.pl.

Authoritative answers can be found from:

112.156.149.in-addr.arpa nameserver = nms.cyf-kr.edu.pl.

112.156.149.in-addr.arpa nameserver = deenes.uci.agh.edu.pl.

112.156.149.in-addr.arpa nameserver = galaxy.uci.agh.edu.pl.

nms.cyf-kr.edu.pl internet address = 149.156.1.3

nms.cyf-kr.edu.pl has AAAA address 2001:6d8:0:1::a:3 deenes.uci.agh.edu.pl internet address = 149.156.119.130 galaxy.uci.agh.edu.pl internet address = 149.156.96.9

(8)

DNS po stronie klienta

Plik /etc/resolv.conf

nameserver – określa adresy IP serwerów DNS

domain – nazwa domeny np. „metal.agh.edu.pl”

search - nazwy domen wyszukiwania (maks 6)

sortlist – sposób sortowania odpowiedzi

option – dodatkowe opcje

Przykładowa zawartość /etc/resolv.conf

namserver 149.156.111.10 namserver 149.156.96.9 domain metal.agh.edu.pl

search metal.agh.edu.pl agh.edu.pl

(9)

DNS po stronie klienta

(10)

DNS po stronie klienta

Rodzaje zapytań

Nie rekursywne (non-recursive)

Rekursywne (recursive)

Rodzaje odpowiedzi

Autorytatywne

Jeżeli komputery o które pytamy są administrowane przez pytany serwer

Nieautorytatywne

W pozostałych przypadkach

(11)

Mechanizm rozwiązywania nazw

Nazwy podlegające rozwiązywaniu mają zwykle od 2 do 5 członów

Nazwy rozwiązywane są segment po segmencie od prawej do lewej

Na każdym etapie odpowiedź zawiera adres

następnego serwera DNS do odpytania

(12)

DNS po stronie klienta

W praktyce

Klient zazwyczaj łączy się z serwerem DNS, który przechowuje odpowiedzi w pamięci

podręcznej przez czas równy TTL danego wpisu

DNS

(13)

Struktura DNS

Domain Name System

Jest to rozproszona hierarchiczna baza danych

Rozproszona – za poszczególne domeny

odpowiadają wskazane serwery DNS, zawierające wpisy tylko dla tej domeny (ew kliku domen)

Hierarchiczna – ma strukturę odwróconego drzewa

Baza danych – zawiera uporządkowaną strukturę w postaci rekordów

.pl .uk .edu .gov .info

.com .edu .firma

.agh .metal .uci

(14)

Struktura DNS

Root „.”

Stanowią podstawowe serwery DNS zawierające wskazania dla domen podstawowych

Aktualna lista znajduję się pod adresem

http://www.iana.org/about/popular-links/

A listę operatorów na

http://www.root-servers.org/

Obecnie (5.01.2009) zawiera 13 serwerów root

Ograniczenie ustalono na na limit defragmentacji pakietu Ipv4 (576B) - co daje maks. 15 rekordów (IPv6 jest więcej)

. 3600000 IN NS A.ROOT-SERVERS.NET.

A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4

A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30

. 3600000 NS M.ROOT-SERVERS.NET.

M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 M.ROOT-SERVERS.NET. 3600000 AAAA 2001:dc3::35

; End of File

(15)

Struktura DNS

Domeny narodowe i funkcjonalne

Serwery root zawierają wskazania do serwerów domen narodowych i funkcjonalnych

Domeny narodowe jak „.us”, „.uk” „.pl” „.eu”

W ramach domen narodowych są domeny funkcjonalne

aid.pl agro.pl atm.pl auto.pl biz.pl com.pl edu.pl gmina.pl gsm.pl info.pl mail.pl miasta.pl media.pl mil.pl net.pl nieruchomosci.pl nom.pl org.pl

pc.pl powiat.pl priv.pl realestate.pl rel.pl sex.pl shop.pl sklep.pl sos.pl

szkola.pl targi.pl tm.pl tourism.pl travel.pl turystyka.pl

Domeny funkcjonalne

Początkowo edu, net, gov, com, net, mil, org

Nowe domeny

.aero – transport lotniczy

.biz (businesses) - dla firm

.info (information) – do użytku ogólnego

.coop (cooperatives) - dla przedsiębiorców

.museum - dla muzeów

.name – dla osób prywatnych

.pro (professionals) - dla profesjonalistów w danym zawodzie

(16)

Struktura DNS

Administracja domenami

ICANN-IANA - nadzór ogólny nad nazewnictwem i

strukturą domen najwyższego poziomu (TLD - ang. Top Level Domains), np.: .pl, .gov, .com.

VeriSign Global Registry Services - rejestracja i nadzór nad domenami: .net, .org, .com (52 serwery)

Rząd USA - rejestracja i nadzór nad domenami - .mil i .gov

NeuLevel - rejestracja i nadzór nad domeną - .biz

SITA - rejestracja i nadzór nad domeną - .aero

Afilias Limited - rejestracja i nadzór nad domeną - .info

Global Name Registry - rejestracja i nadzór nad domeną - .name

EurID - rejestracja i nadzór nad domeną - .eu

rządy poszczególnych krajów:

(17)

Struktura DNS

Organizacja działania serwerów ROOT

Początkowo serwery te były umiejscowione na terenie USA

Obecnie każdy z serwerów jest klastrem a równoważenie

obciążania zapewniają routery

(18)

Serwery DNS

Typy serwerów

Primary (podstawowy)

Zawiera strefę (1 lub więcej) dla której jest podstawowym źródłem rekordów

Wysyła odpowiedź autorytatywną

Secondary (zapasowy) – powinien być w innej sieci

pobiera plik strefy z serwera podstawowego

Wysyła odpowiedź autorytatywną

Caching

odpowiada na zapytania klientów i przechowuje odpowiedzi przez czas TTL

Wysyła odpowiedź nieautorytatywną

(19)

Serwery DNS

Reverse DNS

RevDNS

Zawiera strefę odwrotną

Tych serwerów jest najmniej bo prowadzi się je dla przynajmniej kilkuset adresów

Powstał dla wspomagania diagnostyki

np. traceroute czy ping

Obecnie wykorzystywany jest do wspomagania ochrony przed spamem

Serwer SMTP przed przyjęciem poczty sprawdza czy serwer wysyłający pocztę rozwiązuje się na ten sam adres

mnemoniczny, którym się przedstawia eliminuje to większość hostów

(20)

Serwery DNS

Typy rekordów DNS (najważniejsze)

A (adres record)

Zawiera adres IPv4 (32b)

AAAA

jw dla IPv6 (128b)

CNAME (Cannonical Name)

Alias do innej nazwy w DNS

MX (Mail Exchanger)

Mapuje nazwę domeny na listę serwerów ją obsługujących

NS (Name Server)

Deleguje strefę do autorytatywnego serwera DNS

PTR (Pointer Record)

Zwraca nazwę mnemoniczną (reverse DNS)

SOA (Start Of Authority)

Zawiera autorytatywne informacje o strefie w tym Primary DNS, email administratora, numer seryjny domeny (transfer do

secondary gdy się zmienia) i parametry czasowe

(21)

Serwery DNS

$TTL 2d ; lub 172800 w sekundach

acme.com. IN SOA ns.acme.com. root.acme.com. (

2009010501 ; numer seryjny(typowo data + 2 cyfry) 28800 ; od wie anie lub w formie 1d12hś ż

3600 ; powtórzenia 1h 604800 ; wygasa

38400 ; TTL dawniej teraz minimum

; NegativeCache )

acme.com. IN NS ns.acme.com. ;rekord serwera DNS acme.com. IN MX 10 poczta.acme.com. ;wymiennik poczty www IN A 192.168.0.2 ; rekordy A

poczta IN A 192.168.0.3 ns IN A 192.168.0.1

ftp IN CNAME www ; Alias do www

Czyli ftp.acme.com to to samo co www.acme.com → 192.168.0.2

(22)

Nazwy w DNS

Tworzenie nazwy

Dozwolone znaki

A-Z, a-z – duże i małe litery nie są rozróżniane

0-9

„-” (minus) wewnątrz nazwy

Znaki niedozwolone

Narodowe znaki diakrytyczne ąęśćżńół... symbole þ + . , | ! " £ $

% & / ( ) = ? ^ * ç ° § ; : _ > ] [ @ ); <spacje>

Długość nazwy

3-63 znaki

W strukturze geograficznej 1-63

internationalized domain name (IDN)

Pozwala zastosować unicode

Realizowane jest mapowanie Unicode → ASCII

(23)

Protokół DNS

Protokół UDP

Mniejsze obciążanie serwera i klienta

Mniejszy pakiet

Krótszy etap nawiązywania połączenia

Port 53

Format wiadomości RFC 1035

Nagłówek

Występuje we wszystkich pakietach DNS

Nie może być pusty

Zawiera m.in.

Message ID – 16b identyfikator wiadomości

QR- 1b 0-pytanie 1 odpowiedź

QPCODE – 4b typ operacji (0 -standardowe żądanie, 1 – zapytanie odwrotne, 2 – żądanie stanu)

AA – Odpowiedź autorytatywna

RD - Recursion Desired – żądanie wyszukiwania rekursywnego RA – Recursion Avaiable – tryb rekursywny dostępny

QDCOUNT – ilość rekordów w pytaniu ANCOUNT – ilość rekordów odpowiedzi NSCOUNT – ilość rekordów NS

ARCOUNT – ilość rekordów w dodatkowej sekcji

(24)

Protokół DNS

Format wiadomości RFC 1035

Pytanie

QNAME

Przeszukiwana domena QTYPE

Typ zapytania 1-A, 2-NS, 5-CNAME,6-SOA..., 255-ANY

Kompletna lista IANA.org QCLASS - klasa zasobów

Domyślnie 1 – IN czyli INTERNET

Kompletna lista IANA.org

QNAME=

08 6D 79 64 6F 6D 61 69 6E 03 63 6F 6D 00 ! m y d o m a i n ! c o m !

! - liczba znaków do separatora

(25)

Protokół DNS

Format wiadomości RFC 1035

Odpowiedź

NAME

Offset do nazwy TYPE

Typ rekordu odpowiedzi 1-A, 2-NS, 5-CNAME,6-SOA..., 255-ANY

Kompletna lista IANA.org CLASS - klasa zasobów

Domyślnie 1 – IN czyli INTERNET

Kompletna lista IANA.org

TTL - czas przechowywania w cache w sek.

RDLENGHT

RDATA

(26)

Dodatkowe funkcje DNS

Równoważenie obciążenia serwerów np. WWW

RoundRobin

Klient zwykle wykorzystuje pierwszy adres z odpowiedzi

Do jednej nazwy przypisanych jest kilka adresów IP

Adresy są podawane w różnych kolejnością w kolejnych odpowiedziach

Różne typy rekordów

DNS może zawierać wiele typów rekordów (kilkadziesiąt)

Opisy TXT

Klucze i podpisy TKEY TSIG KEY SIG IPSECKEY ....

(27)

Problemy z DNS

DNS jest kluczową usługą internetu

Cache poisoning

Zatruwanie pamięci cache serwerów pośredniczących

Pozwala na podszywanie się

Serwer pośredniczący przyjmuje więcej informacji a nie tylko te o które pytał

Brak sprawdzania czy odpowiedź przychodzi od właściwego serwera

Użycie zbliżonych nazw lub częstych czeskich błędów

np. domeny zarejestrowane www.google.com → www.gogle.com www.goog1e.com

DDNS (Dynamic Domain Name System)

Pozwala zarejestrować domenę na adresie dynamicznym

Czasy TTL są zwykle krótkie (www.dyndns.org www.no-ip.org)

Cytaty

Powiązane dokumenty

przykładem jest relacja koloru zdefiniowana na zbiorze wszystkich samochodów, gdzie dwa samochody są w tej relacji, jeśli są tego samego koloru.. Jeszcze inny przykład to

nierozsądnie jest ustawić się dziobem żaglówki w stronę wiatru – wtedy na pewno nie popłyniemy we właściwą stronę – ale jak pokazuje teoria (i praktyka), rozwiązaniem

W przestrzeni dyskretnej w szczególności każdy jednopunktowy podzbiór jest otwarty – dla każdego punktu możemy więc znaleźć taką kulę, że nie ma w niej punktów innych niż

Spoglądając z różnych stron na przykład na boisko piłkarskie, możemy stwierdzić, że raz wydaje nam się bliżej nieokreślonym czworokątem, raz trapezem, a z lotu ptaka

Bywa, że każdy element zbioru A sparujemy z innym elementem zbioru B, ale być może w zbiorze B znajdują się dodatkowo elementy, które nie zostały dobrane w pary.. Jest to dobra

Następujące przestrzenie metryczne z metryką prostej euklidesowej są spójne dla dowolnych a, b ∈ R: odcinek otwarty (a, b), odcinek domknięty [a, b], domknięty jednostronnie [a,

nierozsądnie jest ustawić się dziobem żaglówki w stronę wiatru – wtedy na pewno nie popłyniemy we właściwą stronę – ale jak pokazuje teoria (i praktyka), rozwiązaniem

W przestrzeni dyskretnej w szczególności każdy jednopunktowy podzbiór jest otwarty – dla każdego punktu możemy więc znaleźć taką kulę, że nie ma w niej punktów innych niż