Usługi sieciowe Wykład 3 DNS- debian Jarosław Kurek WZIM SGGW
DNS Domain Name System – system nazw domenowych Usługa DNS warstwy aplikacji modelu TCP/IP, jest związana z portem 53 TCP/UDP. Główny węzeł DNS (najwyższy poziom) przestrzeni nazw Internetu jest zarządzany przez organizację ICANN (Internet Corporation for Assignes Names and Numbers). Koordynuje ona przydział identyfikatorów, które muszą być unikatowe w całej sieci Internet, wliczając w to nazwy domen, adresy IP, parametry protokołów i numerów portów. Poniżej głównego węzła domeny DNS położone sa domeny najwyższego poziomu, również zarządzane przez ICANN, Wyróżnione zostały 3 rodzaje domen wysokiego poziomu: - domeny dla organizacji, domeny geograficzne -domeny odwrotne (in-addr.arpa) w listopadzie 2000 ICANN dodał 7 dodatkowych:aero,biz, coop, info, museum,name, pro
DNS domeny Instytucje administrujące DNS na świecie: 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 Rząd USA – rejestracja i nadzór nad domenami – .mil i .gov NeuLevel – rejestracja i nadzór nad domeną – .biz IEEE – 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: rejestracja i nadzór nad domenami "krajowymi", np. .pl (zwykle rządy poszczególnych krajów przekazują ten nadzór wyspecjalizowanym instytucjom) 3
DNS domeny Instytucje administrujące DNS w Polsce: NASK – nadzór nad domeną .pl jako całością, oraz obsługa rejestrowania domen: .com.pl, .biz.pl, .org.pl, .net.pl oraz kilkudziesięciu innych domen "funkcjonalnych" (łącznie z np. sex.pl) oraz części domen lokalnych, np. .waw.pl. IPPT PAN – rejestracja domeny .gov.pl; ICM – .art.pl, .mbone.pl; Stowarzyszenie Klon/Jawor – .ngo.pl; TASK – .med.pl, .gda.pl, .gdansk.pl, .gdańsk.pl, .sopot.pl, .gdynia.pl; SGH – .irc.pl; Politechnika Wrocławska – .usenet.pl. 4
DNS domeny Domeny mają strukturę drzewiastą, na szczycie znajduje się 13 głównych serwerów (root servers) obsługujących domeny najwyższego poziomu (TLD – top level domains), których listę z ich adresami IP można pobrać z ftp://ftp.rs.internic.net/domain/named.root Serwery najwyższego poziomu z reguły posiadają tylko odwołania do odpowiednich serwerów DNS odpowiedzialnych za domeny niższego rzędu, np. serwery główne (obsługujące między innymi TLD .com) wiedzą, które serwery DNS odpowiedzialne są za domenę example.com. Serwery DNS zwracają nazwę serwerów odpowiedzialnych za domeny niższego rzędu. Możliwa jest sytuacja, że serwer główny odpowiada, że dane o domenie example.com posiada serwer dns.example.com. W celu uniknięcia zapętlenia w takiej sytuacji serwer główny do odpowiedzi dołącza specjalny rekord (tak zwany glue record) zawierający także adres IP serwera niższego rzędu (w tym przypadku dns.example.com). 5
DNS System DNS posiada następujące cechy: Nie ma jednej centralnej bazy danych adresów IP i nazw. Najważniejszych jest 13 głównych serwerów rozrzuconych na różnych kontynentach. Serwery DNS przechowują dane tylko wybranych domen. Każda domena powinna mieć co najmniej 2 serwery DNS obsługujące ją, jeśli więc nawet któryś z nich będzie nieczynny, to drugi może przejąć jego zadanie. Każda domena posiada jeden główny dla niej serwer DNS (tzw. master), na którym to wprowadza się konfigurację tej domeny, wszystkie inne serwery obsługujące tę domenę są typu slave i dane dotyczące tej domeny pobierają automatycznie z jej serwera głównego po każdej zmianie zawartości domeny. 6
DNS System DNS posiada następujące cechy: Serwery DNS mogą przechowywać przez pewien czas odpowiedzi z innych serwerów (ang. caching), a więc proces zamiany nazw na adresy IP jest często krótszy niż w podanym przykładzie. Czasami pod jedną nazwą może kryć się więcej niż 1 adres IP po to, aby jeśli jeden z nich zawiedzie, inny mógł spełnić jego rolę . Przy zmianie adresu IP komputera pełniącego funkcję serwera WWW, nie ma konieczności zmiany adresu internetowego strony, a jedynie poprawy wpisu w serwerze DNS obsługującym domenę. Protokół DNS posługuje się do komunikacji serwer-klient głównie protokołem UDP, serwer pracuje na porcie numer 53, przesyłanie domeny pomiędzy serwerami master i slave odbywa się protokołem TCP na porcie 53. 7
DNS Prywatna przestrzeń nazw->mycompany.local Strefy DNS- jest ciąglą częścią przestrzeni nazw, dla której serwer jest autorytatywny. Serwer może być autorytatywny dla jednej lub kilku stref. Delegowanie- polega na oddelegowaniu stefy podrzędnej innemu DNS np. WZIM.SGGW.PL Rekordy zasobów: Są wpisami bazy danych, na których podstawie udzielane są odpowiedzi na zapytania klientów DNS. Rekordy zasobów są opisane przy użyciu specyficznego typu rekordu, takiego jak: -adres hosta (A) ... 8
DNS Rekordy zasobów: adres hosta (A) alias (CNAME) -rekord nazwy kanonicznej usługa wymiany poczty (MX) serwer DNS (NS) rekord wskaźnika lub rekord PTR Start of Authority (SOA) rekordy SRV (lokalizacja usług) 9
Komendy Windows/Linux nslookup ww.wp.pl //Windows dig wikipedia.pl ANY //Linux dig jarek.local any host pl.www.wp.pl //Linux 10
DNS rekursja vs iteracja rekursja- serwer DNS w imienu klienta wysyła zapytania do innych serwerów DNS iteracja- klient sam próbuje skontaktować się z innymi serwerami DNS TimeToLive (czas wygaśnięcia) TTL// default 1h 11
Ćwiczenie 1 nslookup ls jarek.local Używając polecenia nslookup w Windows należy sprawdzić adres serwera DNS dla www.wp.pl (rekord zasobów NS) Używając polecenia nslookup w Windows należy sprawdzić adres serwera poczty elektronicznej dla www.wp.pl (rekord zasobów MX) nslookup ls jarek.local Sprawdzić gdzie jest serwer autorytatywny dla danego IP. np. dla 194.29.146.3 12
Ćwiczenie 2 Skonfigurować sieć z konfiguracją taką jaką pobieramy z serwera DHCP # ifdown eth0 # editor /etc/network/interfaces # dostosuj według potrzeb # ifup eth0 13
Ćwiczenie 3 Zainstalować server DNS BIND i dodatki (tools) # apt-get install bind9 dnsutils bind9-doc bind9-host Sprawdzić działanie serwera DNS: A) Podpinają windowsa pod server DNS debiana B) debiana pod swój własny serwer DNS //plik /etc/resolv.conf Polecenie w linuxie: host www.wp.pl 14
Ćwiczenie 4 Za pomoca polecenia DIG przerzukać dowolną strefę dig @zoltan.eu.org zoltan.eu.org axfr przeprowadza transfer strefy zoltan.eu.org od serwera zoltan.eu.org dig ns wp.pl odpytuje jeden z serwerów w pliku resolv.conf o rekordy NS domeny wp.pl dig -x 194.29.146.3 wykonuje zapytanie odwrotne do serwer dns.tpsa.pl 15
Ćwiczenie 5 Dodać na stałe lokalne wpisy rozwiązywania nazw Plik /etc/host Sprzwdzić jakie są priorytety ? Co pierwsze stałe wpisy w host vs DNS Czy da się zmienić kolejność? order bind,host 16
Ćwiczenie 6 Znaleźć lokalizacje pliku w root hints (podpowiedzi serwerów głównych) i wskazać ile tych serwerów jest dostępnych z debianie Skonfigurować serwer do pracy jako serwer cache’ujący i ustawić forwarding do DNS’ów dostawcy – plik /etc/bind/named.conf.options 17
Ćwiczenie 7 1. Dodać do DNS swoją własną strefę wg schematu [nazwisko].local np. jarek.local /etc/bind/named.conf.local 18
Ćwiczenie 7 Stworzyć plik strefy: logi: /var/log/daemon ! 19
Ćwiczenie 7 1. W /etc/resolv.conf 20
Ćwiczenie 8 Secondary DNS Stawianie serwera zapasowego (secondary) Dodajemy modyfikacje o secondary DNS 21
Ćwiczenie 8 Secondary DNS Stawianie serwera zapasowego (secondary) Pozwalamy na transfer stref 22
Ćwiczenie 8 Secondary DNS Na serwerze zapasowym: Ustawiamy strefy jako zapasową -slave 23
Ćwiczenie 8 Secondary DNS Patrzymy w logi /var/log/daemon czy jest ok Ale przed tym należy utworzyć katalog np. Slave w /etc/bind/slave i zmienić właściciela na bind # mkdir /etc/bind/slave # chown bind.bind /etc/bind/slave Inaczej będzie permission denied! Testujemy: zmieniać wpis RR A na podstawowym i zmieniamy serial, za chwilę patrzymy czy jest zmiana na zapasowym 24
Ćwiczenie 9 Cache DNS Należy wywołać parę rozwiązań nazw np. Ping ww.wp.pl, onet.pl etc. aby zapełnic cache DNS Należy sprawdzić zawartosć cache dns poprzez polecenie: rndc dumpdb Plik zostanie wygenerowany w: /var/cache/bind/named_dump.db Następnie należy wyczyścić cache: rndc flush Następnie ponownie sprawdzić zwartość cache DNSS 25
Ćwiczenie 10 Load Balancing Dystrybucja obciążenia (load balancing): Mechanizm rotowania rekordów jest szczególnie przydatny, gdy posiadamy kilka hostów pełniących te same funkcje (np. mirrorowane serwery ftp) i chcemy w miarę równomiernie rozłożyć ruch pomiędzy nimi. Dokonuje się tego umieszczając w pliku strefy następujące rekordy: ftp.linux.pl. 60 IN A 213.25.234.82 ;serwer ftp ftp.linux.pl. 60 IN A 212.160.112.227; mirror pierwszy ftp.linux.pl. 60 IN A 213.25.234.170; mirror drugi 26
Ćwiczenie 10 Load Balancing Jak to działa? Kiedy serwer otrzymuje zapytanie o nazwę ftp.linux.pl zwraca adresy w kolejności: 213.25.234.82, 212.160.112.227, 213.25.234.170 otrzymując kolejne zmienia ich kolejność w następujący sposób: 212.160.112.227, 213.25.234.170, 213.25.234.82 na trzecie zapytanie odpowie: 213.25.234.170, 213.25.234.82, 212.160.112.227 a na czwarte: 213.25.234.82, 212.160.112.227, 213.25.234.170 I tak w kółko. Mechanizm ten jest domyślnie włączony, jednak, aby zapewnić mu prawidłowe funkcjonowanie, należy dla rotowanych rekordów ustawić mały ttl, przykładowo na 60 sekund 27
Ćwiczenie 11 Delegacja domeny Konfiguracja na przykładzie: www.zytrax.com/books/dns/ch9/delegate.html Moje ustawienia główny serwer: 28
Ćwiczenie 11 Delegacja domeny 29
Ćwiczenie 11 Delegacja domeny 30
Ćwiczenie 12 Webmin pod debiana http://www.webmin.com/ dpkg --install webmin_1.510_all.deb Jeżeli brakuje składników to: apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl http://localhost:10000 31