W PROTOKOLE INTERNET ZDEFINIOWANO: nazwy określające czego szukamy, adresy wskazujące, gdzie to jest, trasy (ang. route) jak to osiągnąć. Każdy interfejs sieciowy w sieci TCP/IP jest identyfikowany przez adres IP (v.4.0.) Do każdego urządzenia posiadającego adres IP może być przypisana nazwa. Połączenia sieciowe odbywają się zawsze na podstawie adresu IP. ODWZOROWYWANIE NAZW NA ADRESY: a) tablica komputerów (unixowy plik /etc/hosts) obecnie: małe tablice dotyczące sieci lokalnej, b) rozproszony system baz danych: Domain Name Service (DNS). Ad. a) przykład /etc/hosts Table of IP addresses and host names adres IP nazwa domenowa alias (nazwa alternatywna) 127.0.0.1 localhost 128.66.12.2 matka.rodzina.org.pl matka 128.66.12.3 ojciec.rodzina.org.pl ojciec 128.66.12.4 corka.rodzina.org.pl corka 128.66.12.5 syn.rodzina.org.pl syn Ad. b) DOMAIN NAME SERVICE DNS rozproszona baza danych; rozproszony, hierarchiczny system, informacja o nowym komputerze jest automatycznie rozprowadzana w całej sieci - tylko tym, którzy jej potrzebują, w systemach unixowych: obsługa nazw: port 53, usługa domain w /etc/services 1
JAK DZIAŁA DNS? 1. serwer DNSu otrzymuje pytanie o komputer: posiada informacje odsyła odpowiedź nie posiada informacji pytanie do serwera autorytatywnego serwer autorytatywny: odpowiedzialny za utrzymywanie dokładnych informacji o domenie 2. serwer autorytatywny: posiada informacje odsyła odpowiedź do serwera lokalnego, który zapamiętuje ją w cache u, w celu ponownego wykorzystywania w przyszłości, HIERARCHIA DOMEN domena główna (ang. root domain) złożona z grupy serwerów nazw, tzw. serwerów głównych, domeny górnego poziomu (bezpośrednio pod domeną główną): geograficzne (dla każdego kraju) i organizacyjne (net, gov, mil, org, com, edu), nazwy domen odzwierciedlają ich hierarchię (od szczegółu do ogółu), nie ma serwerów, które mają pełną informację o wszystkich domenach! Serwery główne posiadają wskazania na serwery domen drugiego poziomu nie znają odpowiedzi, ale wiedzą kogo zapytać. TWORZENIE DOMEN I PODDOMEN 1. wniosek do centrum sieciowego o utworzenie i przydzielenie domeny w ramach wybranej domeny głównej, np.: domeny rodzina w ramach org.pl 2. wniosek musi zawierać nazwy i adresy przynajmniej dwóch komputerów realizujących serwis nazw dla tej domeny, 3. realizacja wniosku powoduje dodanie do domeny, np. org.pl wskazania na nowe serwery nazw pytanie o domenę rodzina.org.pl zostanie skierowane do nowych serwerów, 4. każda zarejestrowana domena może zostać podzielona na poddomeny decyzje należą do administratora domeny lokalnej, 5. nowa domena jest dostępna, gdy w domenie nadrzędnej zostaną umieszczone wskazania do serwerów ją obsługujących, tzn. dopóki w org.pl nie zostanie umieszczone wskazanie na rodzina.org.pl uwaga: podsieci i poddomeny nie są ze sobą powiązane: poddomena może posiadać informacje o komputerach należących do różnych sieci, tworząc nową podsieć nie musimy tworzyć nowej poddomeny (i na odwrót). 2
OPROGRAMOWANIE REALIZUJĄCE DNS IMPLEMENTACJA BIND (Berkeley Internet Name Domain) Podział obsługi nazw: resolver oprogramowanie (zbiór procedur bibliotecznych, nie proces) formułujące zapytania klient, serwer nazw (ang. name server) proces, który odpowiada na zapytania. W ramach BIND wszystkie komputery używają kodu resolvera, nie na wszystkich działa proces realizujący serwer nazw. SERWER NAZW BIND działa jako oddzielny proces: named. KLASYFIKACJA SERWERÓW NAZW primary dostarcza wszystkich danych o danej domenie, serwery podstawowe są autorytatywne, tzn. zawsze mają kompletną i poprawną informację, w każdej domenie powinien się znajdować jeden serwer podstawowy. secondary otrzymują pełną informację o domenie z serwera podstawowego (transfer pliku zone file), okresowe pobieranie zone file zapewnia utrzymywanie dokładnej informacji, także autorytatywne dla swojej domeny. caching-only otrzymują odpowiedzi na wszystkie zapytania od innych serwerów nazw, pamiętają odpowiedzi w cache u, są nieautorytatywne. 3
KONFIGURACJA BINDa KONFIGURACJA RESOLVERA domyślna (nie wymaga czytania pliku konfiguracyjnego), - używa lokalnego komputera jako domyślnego serwera nazw, - pobiera domyślną nazwę domeny z hostname (po pierwszej kropce), np. peacock.au.poznan.pl w niektórych systemach wykorzystywane jest również polecenie domainname, - musi być uruchomiony proces named, własna plik /etc/resolv.conf nie wymagany w systemach wykorzystujących named. Plik konfiguracyjny resolvera definicja domyślnej nazwy domeny domain rodzina.org.pl nameserver pozycje określające poprzez adresy IP, które serwery pytać (wg kolejności, w jakiej są wpisane) nameserver 127.0.0.1 w systemach typu resolver-only nie występuje pozycja dot. lokalnego komputera nameserver 128.66.12.2 nameserver 128.66.12.3 4
KONFIGURACJA DEMONA NAMED pliki konfiguracyjne named.boot ustawia podstawowe parametry procesu named, wskazuje na pliki źródłowe baz danych domen używane przez serwer (lokalne lub zdalne), sposób konfiguracji tego pliku określa kiedy serwer nazw jest pierwotny, wtórny lub pomocniczy, named.ca wskazuje na serwery domeny root, named.local używany do translacji adresu lokalnego (loopback), named.hosts plik strefowy odwzorowujący nazwy komputerów na adresy IP, named.rev plik strefowy dla domeny odwrotnej (adresy IP na nazwy) Polecenia konfiguracyjne pliku named.boot polecenie działanie directory określa katalog dla wszystkich później występujących plików, primary definiuje dany komputer jako serwer pierwotny dla strefy, secondary definiuje dany komputer jako serwer wtórny dla strefy, cache wskazuje plik notatnikowy, forwarders lista serwerów, do których przekazywane są zapytania, slave wymusza na serwerze użycie wyłącznie serwerów określonych jako forwarders. 5
plik named.boot definiuje źródła informacji konfiguracja pomocniczego serwera nazw primary 0.0.127.IN-ADDR.ARPA /etc/named.local definiuje dany serwer jako pierwotny serwer nazw dla domeny lokalnej, domena lokalna jest domeną in-addr.arpa i odwzorowuje adres 127.0.0.1 na nazwę localhost, (taka linia znajduje się praktycznie w każdej konfiguracji serwera pomocniczego), informuje, że dane o domenie lokalnej są w pliku named.local cache /etc/named.ca linia cache jedyna wymagana w konfiguracji serwera pomocniczego, żąda przechowywania odpowiedzi udzielanych przez inne serwery i inicjalizacji pamięci podręcznej zawartością pliku named.ca 6
plik named.boot konfiguracja pierwotnego serwera nazw plik startowy dla pierwotnego serwera nazw domeny rodzina.org.pl directory /etc plik danych dla domeny primary rodzina.org.pl named.hosts serwer lokalny jest pierwotnym serwerem dla domeny odwrotnej primary 66.128.IN-ADDR.ARPA named.rev serwer pierwotny dla domeny lokalnej primary 0.0.127.IN-ADDR.ARPA named.local inicjalizacja pamięci podręcznej cache named.ca 7
plik named.boot konfiguracja wtórnego serwera nazw plik startowy dla wtórnego serwera nazw domeny rodzina.org.pl słowo kluczowe nazwa domeny adres serwera directory pierwotnego nazwa pliku lokalnego /etc secondary rodzina.org.pl 128.66.12.2 rodzina.hosts secondary primary cache ADDR.ARPA 66.128.IN- 0.0.127.IN- ADDR.ARPA 128.66.12.2 128.66.rev named.local named.ca 8
STANDARDOWE REKORDY ŹRÓDŁOWE w plikach: named.hosts, named.rev, named.local, named.ca Nazwa rekordu Typ rekordu Funkcja źródłowego Start of Authority SOA określa początek danych dotyczących strefy oraz definiuje parametry, które odnoszą się do całej strefy, Name Server NS określa serwer nazw dla domeny, Address A przekształca nazwę komputera na jego adres, Pointer PTR przekształca adres na nazwę, Mail Exchange MX określa miejsce dostarczania poczty dla domeny, Canonical Name CNAME definiuje nazwę alternatywną nazwy komputera, Host Information HINFO opisuje platformę sprzętowo-systemową komputera, Well Known Services WKS ogłasza usługi sieciowe. Struktura rekordów [nazwa] [ttl] IN typ dane nazwa nazwa obiektu w domenie, do którego odwołuje się rekord źródłowy (komputer lub domena), jeśli pole nazwy jest puste, rekord dotyczy obiektu domeny, którego nazwa określona jest w rekordzie poprzednim, ttl czas [s] przez jaki informacja zawarta w rekordzie źródłowym powinna być przetrzymywana w pamięci podręcznej, zazwyczaj pole puste, przyjmowana jest wartość domyślna dla całej strefy określana w rekordzie SOA, IN określa dany rekord jako rekord źródłowy Internetowego serwisu nazw DNS, typ typ rekordu (jedna z wartości z tabeli) dane informacje specyficzne dla danego typu rekordu, np. adres IP dla rekordów typu A 9
Plik inicjujący pamięć podręczną plik named.ca określony w linii cahce w pliku named.boot Serwery domeny root (oznaczonej jako.) nazwa ttl typ dane. 99999999 IN NS terp.umd.edu. Adresy serwerów głównych 99999999 IN NS aos.brl.mil. 99999999 IN NS c.nyser.net. 99999999 IN NS ns.nasa.gov. 99999999 IN NS ns.nic.ddn.mil. 99999999 IN NS a.isi.edu. 99999999 IN NS nic.nordu.net terp.umd.edu. 99999999 IN A 128.8.10.90 aos.brl.mil. 99999999 IN A 192.5.25.82 c.nyser.net. 99999999 IN A 192.33.4.12 ns.nasa.gov. 99999999 IN A 192.52.195.10 ns.nic.ddn.mil. 99999999 IN A 192.67.67.53 a.isi.edu. 99999999 IN A 128.9.0.107 nic.nordu.net 99999999 IN A 192.36.148.17 Plik named.ca może również zawierać: dane na temat serwerów domeny lokalnej, adresy najczęściej odpytywanych serwerów. 10
plik named.local konwersja adresu 127.0.0.1 na nazwę localhost (praktycznie identyczne dla wszystkich serwerów) @ - domena aktualna serwer inicjujący strefę @ IN SOA matka.rodzina.org.pl. admin.rodzina.org.pl. ( 1 ; numer seryjny 36000 ; odświeżaj co 100 godzin 3600 ; powtórz po 1 godzinie 3600000 ; przedawnij po 1000godzinach 36000 ; domyślny ttl wynosi 100 godzin ) IN NS matka.rodzina.org.pl. 1 IN PTR localhost. adres admina strefy Uwaga: Pliki: named.boot, named.ca, named.local to jedyne pliki wymagane w konfiguracji serwerów pomocniczych i wtórnych. 11
plik named.rev plik domeny odwrotnej Odwzorowywanie adresów IP na nazwy komputerów. Dla domeny zdefiniowanej przez deklaracje primary w pliku named.boot pierwotnego serwera nazw primary 66.128.IN-ADDR.ARPA named.rev @ IN SOA matka.rodzina.org.pl. admin.rodzina.org.pl. ( 10099 ; numer seryjny 43200 ; odświeżanie 3600 ; powtarzanie 3600000 ; przedawnienie 2592000 ; minimum ) rekordy NS definiują serwery nazw dla domeny (domena jak w rekordzie SOA) IN NS matka.rodzina.org.pl. IN NS ojciec.rodzina.org.pl. rekordy PTR zapewniają translację adresów na nazwy komputerów; nazwy nie są zakończone kropką, tzn. są względne do aktualnej domeny 2.12 jest interpretowane jako: 2.12.66.128.in-addr.arpa 2.12 IN PTR matka.rodzina.org.pl. 3.12 IN PTR ojciec.rodzina.org.pl. 4.12 IN PTR corka.rodzina.org.pl. 5.12 IN PTR syn.rodzina.org.pl. w domenie in-addr.arpa mogą być tworzone poddomeny 6 IN NS pra.rodzina.org.pl 12
plik named.hosts Odwzorowywanie nazw na adresy IP. @ IN SOA matka.rodzina.org.pl. admin.rodzina.org.pl. ( 10118 ; numer seryjny 43200 ; odświeżanie 3600 ; powtarzanie 3600000 ; przedawnienie 2592000 ; minimum definicje serwerów pocztowych i serwerów nazw ) IN NS matka.rodzina.org.pl. IN NS ojciec.rodzina.org.pl. IN MX 10 matka.rodzina.org.pl. IN MX 20 corka.rodzina.org.pl priorytet 13
Definicja nazwy localhost localhost IN A 127.0.0.1 definicja komputerów danej strefy matka IN A 128.66.12.2 IN MX 5 matka.rodzina.org.pl. loghost IN CNAME matka.rodzina.org.pl. ojciec IN A 128.66.12.3 corka IN A 128.66.12.4 syn IN A 128.66.12.5 definicja poddomen pra IN NS dziadek.pra.rodzina.org.pl. 14
Literatura: Hunt C.1996: TCP/IP administracja sieci.oficyna Wydawnicza READ ME. Warszawa 15