Domain Name System Kraków, 30 Marca 2012 r. mgr Piotr Rytko Wydział Matematyki i Informatyki UJ
Plan ćwiczeń Wprowadzenie, jak to wygląda, typy serwerów, zapytania, iteracyjne, rekurencyjne, pliki strefowe itp., z czym to się je, narzędzia systemowe, ćwiczenia i zadania.
Wprowadzenie DNS (Domain Name Server / Domain Name System) - to serwer/system zawierający informacje o sposobie tłumaczenia adresów zapisywanych przy pomocy alfabetu zawierającego litery i cyfry na adres IP komputera. Usługa DNS operuje w warstwie aplikacji modelu OSI. Została opisana w dokumentach RFC 1034 i 1035. DNS jest systemem hierarchicznym, występują w nim domeny typu Top Level Domain domeny najwyższego poziomu są to np.:.com (komercyjne),.net (networks),.org (organizacji),.pl (określające państwo) itp. Kolejnym poziomem są pod domeny np.:.org.pl,.gov.pl, wp.pl itp. DNS nie tylko kieruje aplikacje do odpowiedniego adresu IP komputera na podstawie adresu strony, ale także i pocztę na podstawie adresu domeny. DNS określa na którą maszynę ma trafić poczta przychodząca na podany adres domeny.
Jak to wygląda Odwzorowanie normalne adresacja po nazwach Odwzorowanie odwrotne taka struktura umożliwia delegowanie domen w strefie odwzorowywanie odwrotnego.
Typy serwerów Tak jak zostało to wspomniane przy hierarchicznej strukturze DNS, istnieją serwery typu root (Top Domain), serwery domeny głównej i są to serwery na samym szczycie hierarchii, drugi typ serwerów to serwery autorytatywne danej domeny. Znajdują się one w niższych warstwach hierarchii i są to serwery które posiadają aktualne informacje na temat komputerów w tej domenie. Najczęściej są to lokalne serwery. Dla zwiększenia niezawodności zazwyczaj stawia się co najmniej dwa serwery autorytatywne. Każdy serwer powinien posiadać swój backup, czyli powinniśmy mieć serwer master i serwer slave.
Zapytania iteracyjne To zapytanie jakie wysyłają sobie serwery DNS. Serwer DNS zwraca pytającemu najlepszą odpowiedź jaką posiada czyli wskazanie (adresy serwerów DNS bliższych domenie, o którą otrzymał zapytanie) - pytający sam wybiera jedno ze wskazań. Kolejne kroki odwzorowywania nazwy lupus.abc.com w adres IP: 1. Jaki jest adres IP komputera o nazwie lupus.abc.com? 2. Jaki jest adres IP komputera o nazwie lupus.abc.com? 3. Nie wiem, ale zapytaj serwer domeny com. 4. Jaki jest adres IP komputera o nazwie lupus.abc.com? 5. Nie wiem, ale zapytaj serwer domeny abc.com. 6. Jaki jest adres IP komputera o nazwie lupus.abc.com? 7. Odpowiedź: 1.1.1.1 8. Odpowiedź: 1.1.1.1
Zapytania rekurencyjne To zapytanie wysyłane jest głównie przez resolwery (blokuje się obsługę zapytań rekurencyjnych od innych serwerów DNS). Gdy serwer otrzymuje zapytanie rekurencyjne zostaje obarczony odpowiedzialnością za dostarczenie odpowiedzi. Serwer powtarza tę samą procedurę tzn. wysyła zapytanie do innego serwera, który udziela mu wskazania, pytający podąża za wskazaniami aż do otrzymania ostatecznej odpowiedzi, którą może być komunikat o błędzie. Kolejne kroki odwzorowywania nazwy lupus.abc.com w adres IP 1. Jaki jest adres IP komputera o nazwie lupus.abc.com? 2. Jaki jest adres IP komputera o nazwie lupus.abc.com? 3. Jaki jest adres IP komputera o nazwie lupus.abc.com? 4. Jaki jest adres IP komputera o nazwie lupus.abc.com? 5. Jaki jest adres IP komputera o nazwie lupus.abc.com? 6. Jaki jest adres IP komputera o nazwie lupus.abc.com? 7. Odpowiedź: 1.1.1.1 8. Odpowiedź: 1.1.1.1 9. Odpowiedź: 1.1.1.1 10.Odpowiedź: 1.1.1.1 11.Odpowiedź: 1.1.1.1 12.Odpowiedź: 1.1.1.1
Pliki strefowe itp., z czym to się je SOA (Start of Authority) - mówi, że dany serwer jest najlepszy źródłem informacji o swojej domenie, oraz określa zachowanie serwerów głównych (primary/master) i zapasowych (secondary/slave). SOA jest pierwszym wpisem w pliku strefowym. A - tłumaczenie nazwy domenowej na adres IP NS - nazwa serwera dla danej domeny (musi istnieć wpis typu A dla tej nazwy) CNAME - aliasy na poszczególne maszyny MX (Mail exxhanger) - nazwa kanoniczna maszyny obsługującej pocztę elektroniczną PTR - definicja odwzorowania odwrotnego (IP => nazwa komputera)
Plik name.conf options { }; directory /var/lib/named ; # katalog roboczy serwera zone "." IN { # plik opisujący domenę główną type hint; file "named.root"; }; zone "localhost" IN { # odwzorowanie normalne type master; file "db.localhost"; }; zone "0.0.127.in-addr.arpa" IN { # odwz. odwrotne type master; file "db.127.0.0"; };
Narzędzia systemowe bind, plik named.conf, proces named dig, nslookup, etc. A ponadto: whois, host, etc.
Ćwiczenia i zadania Skonfigurować DNS tak aby komputerem odpowiedzialnym za utrzymywanie strony był komputer o adresie 192.168.15.2 komputerem odpowiedzialnym za system pocztowy był komputer o adresie 192.168.15.3 nazwa domeny to sk.ii.uj domena pocztowa to poczta
Dziękuję za uwagę!