SK Moduł 9: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd1.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd1.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
|} | |} | ||
Linia 23: | Linia 23: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd3.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd3.png|thumb|500px]] | ||
|valign="top"|Utrzymywanie pliku HOSTS.TXT w sieci ARPAnet było stosunkowo proste i mało kłopotliwe. Administratorzy wysyłali do NIC wprowadzone przez siebie zmiany i raz na jakiś czas (np. dwa razy w tygodniu) pobierali plik HOSTS,TXT z NIC. System ten zdawał egzamin dopóki sieć składała się z kilkuset hostów. Wraz ze wzrostem liczby host’ów wzrosło obciążenie sieci i serwera związane z dystrybucją pliku. Wystąpiły problemy z utrzymaniem spójności pliku w zakresie unikalności nazw. Ponadto proces przeszukiwania dość dużego pliku przez lokalne komputery stanowił poważne źródło obciążenia. | |valign="top"|Utrzymywanie pliku HOSTS.TXT w sieci ARPAnet było stosunkowo proste i mało kłopotliwe. Administratorzy wysyłali do NIC wprowadzone przez siebie zmiany i raz na jakiś czas (np. dwa razy w tygodniu) pobierali plik HOSTS,TXT z NIC. System ten zdawał egzamin dopóki sieć składała się z kilkuset hostów. Wraz ze wzrostem liczby host’ów wzrosło obciążenie sieci i serwera związane z dystrybucją pliku. Wystąpiły problemy z utrzymaniem spójności pliku w zakresie unikalności nazw. Ponadto proces przeszukiwania dość dużego pliku przez lokalne komputery stanowił poważne źródło obciążenia. | ||
Przystępując do tworzenia nowego systemu przyjęto szereg założeń, których celem było uniknięcie wszystkich dotychczasowych ograniczeń. | Przystępując do tworzenia nowego systemu przyjęto szereg założeń, których celem było uniknięcie wszystkich dotychczasowych ograniczeń. | ||
Linia 31: | Linia 31: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd4.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd4.png|thumb|500px]] | ||
|valign="top"|Kluczowym elementem projektu DNS jest hierarchiczna struktura nazw. Wszystkie nazwy są wieloczłonowe i rozpoczynają się od wspólnego korzenia (ang. root), reprezentowanego znakiem „.” (kropki). Poszczególne człony nazwy także oddzielane są od siebie znakiem kropki, np.: | |valign="top"|Kluczowym elementem projektu DNS jest hierarchiczna struktura nazw. Wszystkie nazwy są wieloczłonowe i rozpoczynają się od wspólnego korzenia (ang. root), reprezentowanego znakiem „.” (kropki). Poszczególne człony nazwy także oddzielane są od siebie znakiem kropki, np.: | ||
www.pw.edu.pl. | www.pw.edu.pl. | ||
Linia 46: | Linia 46: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd5.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd5.png|thumb|500px]] | ||
|valign="top"|Pierwszym członem w nazwie domenowej jest tzw. domena pierwszego poziomu TLD (and. Top-Level Domain). Poniżej domeny pierwszego poziomu może znajdować się dowolnie dużo poddomen drugiego poziomu, poniżej których może znajdować się dowolnie wiele poddomen trzeciego poziomu, itd. | |valign="top"|Pierwszym członem w nazwie domenowej jest tzw. domena pierwszego poziomu TLD (and. Top-Level Domain). Poniżej domeny pierwszego poziomu może znajdować się dowolnie dużo poddomen drugiego poziomu, poniżej których może znajdować się dowolnie wiele poddomen trzeciego poziomu, itd. | ||
W pierwotnej specyfikacji znalazło się siedem domen pierwszego poziomu: .com, .edu, .mil, .gov, .net, .org, .int, oraz dwuliterowe domeny narodowe. Obsługa każdej z domen delegowana jest do odpowiedniej organizacji, odpowiedzialnej za daną domenę. | W pierwotnej specyfikacji znalazło się siedem domen pierwszego poziomu: .com, .edu, .mil, .gov, .net, .org, .int, oraz dwuliterowe domeny narodowe. Obsługa każdej z domen delegowana jest do odpowiedniej organizacji, odpowiedzialnej za daną domenę. | ||
Linia 73: | Linia 73: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd6.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd6.png|thumb|500px]] | ||
|valign="top"|Nazwa domeny .arpa to skrót od Address and Routing Parameter Area. Domena ta przeznaczona jest do obsługi infrastruktury Internetu. Administracją domeny zajmuje się IANA wspólnie z Internet Architecture Board. Wymagania oraz wytyczne dotyczące obsługi domeny .arpa znajdują się w RFC3172 (BCP 52). Obecnie w domenie .arpa zdefiniowane są następujące domeny drugiego poziomu: | |valign="top"|Nazwa domeny .arpa to skrót od Address and Routing Parameter Area. Domena ta przeznaczona jest do obsługi infrastruktury Internetu. Administracją domeny zajmuje się IANA wspólnie z Internet Architecture Board. Wymagania oraz wytyczne dotyczące obsługi domeny .arpa znajdują się w RFC3172 (BCP 52). Obecnie w domenie .arpa zdefiniowane są następujące domeny drugiego poziomu: | ||
in-addr.arpa, której zadaniem jest mapowanie numerów IPv4 na nazwy | in-addr.arpa, której zadaniem jest mapowanie numerów IPv4 na nazwy | ||
Linia 82: | Linia 82: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd7.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd7.png|thumb|500px]] | ||
|valign="top"|Na slajdzie zaprezentowana jest przestrzeń mapowania odwrotnego dla adresów IPv4. | |valign="top"|Na slajdzie zaprezentowana jest przestrzeń mapowania odwrotnego dla adresów IPv4. | ||
|} | |} | ||
Linia 88: | Linia 88: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd8.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd8.png|thumb|500px]] | ||
|valign="top"|Slajd pokazuje położenie domeny .arpa w przestrzeni nazw DNS. | |valign="top"|Slajd pokazuje położenie domeny .arpa w przestrzeni nazw DNS. | ||
|} | |} | ||
Linia 94: | Linia 94: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd9.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd9.png|thumb|500px]] | ||
|valign="top"|Drugą istotną cechą DNS, obok hierarchicznej struktury nazw jest rozproszona baza nazw. Idea delegowania obsługi fragmentu bazy danych organizacjom, w których te dane powstają okazała się prosta i niezwykle skuteczna. | |valign="top"|Drugą istotną cechą DNS, obok hierarchicznej struktury nazw jest rozproszona baza nazw. Idea delegowania obsługi fragmentu bazy danych organizacjom, w których te dane powstają okazała się prosta i niezwykle skuteczna. | ||
Organizacje centralne, odpowiedzialne za funkcjonowanie Internetu obsługują lub zlecają obsługę domen pierwszego poziomu (np. domen narodowych), natomiast obsługa domen drugiego poziomu przekazywana jest organizacjom, do których należy dana domena, albo które specjalnie zostały do tego celu powołane. Następnie, organizacje obsługujące domeny drugiego poziomu, delegują obsługę domen trzeciego poziomu innym organizacjom, które zgodnie z przyjętymi zasadami mają do tego prawo, itd. | Organizacje centralne, odpowiedzialne za funkcjonowanie Internetu obsługują lub zlecają obsługę domen pierwszego poziomu (np. domen narodowych), natomiast obsługa domen drugiego poziomu przekazywana jest organizacjom, do których należy dana domena, albo które specjalnie zostały do tego celu powołane. Następnie, organizacje obsługujące domeny drugiego poziomu, delegują obsługę domen trzeciego poziomu innym organizacjom, które zgodnie z przyjętymi zasadami mają do tego prawo, itd. | ||
Linia 104: | Linia 104: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd10.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd10.png|thumb|500px]] | ||
|valign="top"|Podstawą fizycznej realizacji systemu nazw są serwery DNS zaimplementowane w postaci specjalnych programów komputerowych. Jakkolwiek działanie wszystkich serwerów opiera się na kilku, bardzo podobnych aplikacjach, to ze względów praktycznych poszczególny serwery różnią się między sobą funkcjonalnością. Różnice te wynikają tylko i wyłącznie ze sposobu konfiguracji, odzwierciedlającej politykę danej firmy, a nie ze względu na stosowane oprogramowanie. To jak zostanie skonfigurowany dany serwer zależy przede wszystkim od zakresu przechowywanych danych oraz budowy sieci komputerowej firmy. | |valign="top"|Podstawą fizycznej realizacji systemu nazw są serwery DNS zaimplementowane w postaci specjalnych programów komputerowych. Jakkolwiek działanie wszystkich serwerów opiera się na kilku, bardzo podobnych aplikacjach, to ze względów praktycznych poszczególny serwery różnią się między sobą funkcjonalnością. Różnice te wynikają tylko i wyłącznie ze sposobu konfiguracji, odzwierciedlającej politykę danej firmy, a nie ze względu na stosowane oprogramowanie. To jak zostanie skonfigurowany dany serwer zależy przede wszystkim od zakresu przechowywanych danych oraz budowy sieci komputerowej firmy. | ||
|} | |} | ||
Linia 110: | Linia 110: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd11.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd11.png|thumb|500px]] | ||
|valign="top"|Podstawowym typem serwerów DNS są serwery główne. Z praktycznego punktu widzenia każdy serwer przechowujący dane źródłowe jest traktowany jako serwer główny dla danego poziomu w hierarchii nazw domenowych. Wśród tego typu serwerów szczególną funkcję pełnią tzw. „root serwery”, czyli serwery przechowujące informacje o serwerach głównych, obsługujących domeny pierwszego poziomu. Ze względu na dość specyficzną rolę, która ma krytyczne znaczenie dla sprawnego działania całego systemu nazw w Internecie, serwery te realizują tylko i wyłącznie tę jedną funkcjonalność. Wszystkie inne serwery DNS muszą znać adresy „root serwerów”, co jest podstawowym warunkiem umożliwiającym rozwiązanie wszystkich poprawnych nazw. | |valign="top"|Podstawowym typem serwerów DNS są serwery główne. Z praktycznego punktu widzenia każdy serwer przechowujący dane źródłowe jest traktowany jako serwer główny dla danego poziomu w hierarchii nazw domenowych. Wśród tego typu serwerów szczególną funkcję pełnią tzw. „root serwery”, czyli serwery przechowujące informacje o serwerach głównych, obsługujących domeny pierwszego poziomu. Ze względu na dość specyficzną rolę, która ma krytyczne znaczenie dla sprawnego działania całego systemu nazw w Internecie, serwery te realizują tylko i wyłącznie tę jedną funkcjonalność. Wszystkie inne serwery DNS muszą znać adresy „root serwerów”, co jest podstawowym warunkiem umożliwiającym rozwiązanie wszystkich poprawnych nazw. | ||
|} | |} | ||
Linia 116: | Linia 116: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd12.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd12.png|thumb|500px]] | ||
|valign="top"|Na każdym poziomie systemu nazw instalowane są tzw. „master serwery”, przechowujące dane źródłowe dla konkretnego poddrzewa danego poziomu. W zależności od możliwości firmy, serwery te mogą ograniczać się jedynie do tej jednej funkcjonalności albo mogą świadczyć szerszy zakres usług w sieci, np. udzielać odpowiedzi bezpośrednio stacjom klienckim. Na ogół, w celu podniesienia poziomu bezpieczeństwa sieci, serwery te oprócz przechowywania danych źródłowych, świadczą jedynie usługi polegające na transferze pełnych danych do serwerów zapasowych oraz udzielaniu odpowiedzi dotyczących domen zależnych. | |valign="top"|Na każdym poziomie systemu nazw instalowane są tzw. „master serwery”, przechowujące dane źródłowe dla konkretnego poddrzewa danego poziomu. W zależności od możliwości firmy, serwery te mogą ograniczać się jedynie do tej jednej funkcjonalności albo mogą świadczyć szerszy zakres usług w sieci, np. udzielać odpowiedzi bezpośrednio stacjom klienckim. Na ogół, w celu podniesienia poziomu bezpieczeństwa sieci, serwery te oprócz przechowywania danych źródłowych, świadczą jedynie usługi polegające na transferze pełnych danych do serwerów zapasowych oraz udzielaniu odpowiedzi dotyczących domen zależnych. | ||
|} | |} | ||
Linia 122: | Linia 122: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd13.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd13.png|thumb|500px]] | ||
|valign="top"|Serwery zapasowe także zaliczane są do serwerów głównych. W praktyce, klient jednakowo traktuje odpowiedzi uzyskane od serwera typu slave co i master. Zgodnie z normami, dopuszczalna liczba oficjalnych serwerów głównych (master i slave) wynosi pięć. | |valign="top"|Serwery zapasowe także zaliczane są do serwerów głównych. W praktyce, klient jednakowo traktuje odpowiedzi uzyskane od serwera typu slave co i master. Zgodnie z normami, dopuszczalna liczba oficjalnych serwerów głównych (master i slave) wynosi pięć. | ||
Praca serwera typu slave polega na transferowaniu informacji z serwera typu master zawsze wtedy, gdy serwer typu slave nie ma odpowiednich danych albo gdy dane uległy zmianie. Serwer typu slave okresowo porównuje wersję danych, które posiada z wersją danych znajdujących się na serwerze typu master. Jeżeli wersje różnią się między sobą (wersja master jest nowsza niż wersja slave), serwer typu slave dokonuje transferu danych z serwera typu master. Najnowsze serwery DNS umożliwiają bardziej efektywny sposób synchronizacji danych poprzez informowanie serwerów pomocniczych o zmianie wersji oraz transfer tylko tych danych, kóre uległy zmianie. | Praca serwera typu slave polega na transferowaniu informacji z serwera typu master zawsze wtedy, gdy serwer typu slave nie ma odpowiednich danych albo gdy dane uległy zmianie. Serwer typu slave okresowo porównuje wersję danych, które posiada z wersją danych znajdujących się na serwerze typu master. Jeżeli wersje różnią się między sobą (wersja master jest nowsza niż wersja slave), serwer typu slave dokonuje transferu danych z serwera typu master. Najnowsze serwery DNS umożliwiają bardziej efektywny sposób synchronizacji danych poprzez informowanie serwerów pomocniczych o zmianie wersji oraz transfer tylko tych danych, kóre uległy zmianie. | ||
Linia 134: | Linia 134: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd14.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd14.png|thumb|500px]] | ||
|valign="top"|Jedną z funkcji serwerów DNS jest buforowanie danych, które zostały uzyskane w wyniku procesu wyszukiwania. Jeżeli serwer nie został skonfigurowany do przechowywania danych dla konkretnego fragmentu systemu nazw jako serwer typu master lub slave, to taki serwer nazywa się serwerem buforującym. Jego jedynym zadaniem jest wyszukiwanie danych i ich buforowanie. Podstawową informacją, na podstawie której serwer buforujący poszukuje danych jest baza adresów serwerów typu root. | |valign="top"|Jedną z funkcji serwerów DNS jest buforowanie danych, które zostały uzyskane w wyniku procesu wyszukiwania. Jeżeli serwer nie został skonfigurowany do przechowywania danych dla konkretnego fragmentu systemu nazw jako serwer typu master lub slave, to taki serwer nazywa się serwerem buforującym. Jego jedynym zadaniem jest wyszukiwanie danych i ich buforowanie. Podstawową informacją, na podstawie której serwer buforujący poszukuje danych jest baza adresów serwerów typu root. | ||
Tego typu serwery przeznaczone są na ogół do obsługi segmentu sieci, którego są członkami. | Tego typu serwery przeznaczone są na ogół do obsługi segmentu sieci, którego są członkami. | ||
Linia 141: | Linia 141: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd15.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd15.png|thumb|500px]] | ||
|valign="top"|Funkcjonalność serwera typu forward nie wynika z konfiguracji, a ze sposobu jego użytkowania. Serwerem typu forward może być zarówno serwer typu master jak i slave, czy cache, który komunikuje się z serwerami zewnętrznymi w imieniu serwerów wewnętrznych. Jeżeli serwer wewnętrzny otrzyma zapytanie, które wymaga wyszukiwania w Internecie, przekazuje to zapytanie do konkretnego serwera, a ten dokonuje standardowego wyszukiwania danych komunikując się z serwerami zewnętrznymi. Tego typu konstrukcje stosuje się najczęściej w przypadku, gdy sieć wewnętrzna odseparowana jest od Internetu za pomocą FireWall’a i ze względów bezpieczeństwa serwery wewnętrzne komunikują się jedynie z serwerem typu forward, którego rolę pełni zwykły serwer DNS’u zainstalowany na hoście bastionowym w strefie zdemilitaryzowanej. | |valign="top"|Funkcjonalność serwera typu forward nie wynika z konfiguracji, a ze sposobu jego użytkowania. Serwerem typu forward może być zarówno serwer typu master jak i slave, czy cache, który komunikuje się z serwerami zewnętrznymi w imieniu serwerów wewnętrznych. Jeżeli serwer wewnętrzny otrzyma zapytanie, które wymaga wyszukiwania w Internecie, przekazuje to zapytanie do konkretnego serwera, a ten dokonuje standardowego wyszukiwania danych komunikując się z serwerami zewnętrznymi. Tego typu konstrukcje stosuje się najczęściej w przypadku, gdy sieć wewnętrzna odseparowana jest od Internetu za pomocą FireWall’a i ze względów bezpieczeństwa serwery wewnętrzne komunikują się jedynie z serwerem typu forward, którego rolę pełni zwykły serwer DNS’u zainstalowany na hoście bastionowym w strefie zdemilitaryzowanej. | ||
|} | |} | ||
Linia 147: | Linia 147: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd16.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd16.png|thumb|500px]] | ||
|valign="top"|Działanie serwera DNS polega na wyszukiwaniu danych i ich buforowaniu oraz na ewentualnym przechowywaniu informacji stałych o ściśle określonym fragmencie systemu nazw. Na podstawie przechowywanych informacji, stałych lub buforowanych serwer DNS udziela odpowiedzi na otrzymane zapytania. Zapytania mogą mieć postać zapytań iteracyjnych albo rekurencyjnych. | |valign="top"|Działanie serwera DNS polega na wyszukiwaniu danych i ich buforowaniu oraz na ewentualnym przechowywaniu informacji stałych o ściśle określonym fragmencie systemu nazw. Na podstawie przechowywanych informacji, stałych lub buforowanych serwer DNS udziela odpowiedzi na otrzymane zapytania. Zapytania mogą mieć postać zapytań iteracyjnych albo rekurencyjnych. | ||
W systemie operacyjnym każdego komputera znajduje się zestaw funkcji bibliotecznych przeznaczonych do komunikacji z serwerami nazw. Każda aplikacja wykorzystuje te funkcje do rozwiązywania nazw hostów, do których wysyła pakiety. W celu rozwiązania nazwy hosta, funkcje biblioteczne zadają pytanie serwerowi nazw, którego internetowy adres IP znajduje się w ściśle określonych plikach konfiguracyjnych systemu operacyjnego. | W systemie operacyjnym każdego komputera znajduje się zestaw funkcji bibliotecznych przeznaczonych do komunikacji z serwerami nazw. Każda aplikacja wykorzystuje te funkcje do rozwiązywania nazw hostów, do których wysyła pakiety. W celu rozwiązania nazwy hosta, funkcje biblioteczne zadają pytanie serwerowi nazw, którego internetowy adres IP znajduje się w ściśle określonych plikach konfiguracyjnych systemu operacyjnego. | ||
Linia 154: | Linia 154: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd17.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd17.png|thumb|500px]] | ||
|valign="top"|Proces rekurencyjny polega na tym, że serwer po otrzymaniu zapytania bierze na siebie cały ciężar znalezienia odpowiedzi na zapytanie przesłane od klienta. Na rysunku przedstawiono proces rozwiązywania nazwy składający się w całości z zapytań rekurencyjnych. | |valign="top"|Proces rekurencyjny polega na tym, że serwer po otrzymaniu zapytania bierze na siebie cały ciężar znalezienia odpowiedzi na zapytanie przesłane od klienta. Na rysunku przedstawiono proces rozwiązywania nazwy składający się w całości z zapytań rekurencyjnych. | ||
W praktyce jedynie lokalne serwery nazw dopuszczają zapytania rekurencyjne pochodzące tylko i wyłącznie od klientów znajdujących się w danym segmencie sieci, gdyż oprogramowanie resolvera nie potrafi samodzielnie szukać rozwiązań w przestrzeni nazw. Natomiast, lokalny serwer nazw po otrzymaniu od klienta pytania rekurencyjnego poszukuje odpowiedzi za pomocą pytań iteracyjnych. | W praktyce jedynie lokalne serwery nazw dopuszczają zapytania rekurencyjne pochodzące tylko i wyłącznie od klientów znajdujących się w danym segmencie sieci, gdyż oprogramowanie resolvera nie potrafi samodzielnie szukać rozwiązań w przestrzeni nazw. Natomiast, lokalny serwer nazw po otrzymaniu od klienta pytania rekurencyjnego poszukuje odpowiedzi za pomocą pytań iteracyjnych. | ||
Linia 161: | Linia 161: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd18.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd18.png|thumb|500px]] | ||
|valign="top"|Iteracyjny sposób rozwiązywania nazw dla odmiany polega tym, że serwer zwraca najlepszą odpowiedź jaką ma w bazie albo w buforze. W skrajnym przypadku zwraca adres serwera typu root. | |valign="top"|Iteracyjny sposób rozwiązywania nazw dla odmiany polega tym, że serwer zwraca najlepszą odpowiedź jaką ma w bazie albo w buforze. W skrajnym przypadku zwraca adres serwera typu root. | ||
Na przykład, jeżeli trzeba rozwiązać nazwę www.pw.edu.pl klient wysyła zapytanie rekurencyjne do serwera DNS, którego adres znajduje się w plikach konfiguracyjnych systemu operacyjnego. Serwer DNS sprawdza, czy w buforze znajduje się informacja dotycząca tej nazwy. Jeżeli tak, to zwraca do klienta odpowiedź. Jeżeli nie ma takiej nazwy w bazie albo w buforze, to sprawdza, czy ma wie jaki serwer obsługuje domenę pw.edu.pl, potem domenę edu.pl i na końcu pl. Jeżeli serwer nie ma takiej informacji w buforze, to wysyła zapytanie do jednego z serwerów głównych typu root. W odpowiedzi otrzyma informację w postaci adresu serwera DNS obsługującego domenę pl, do którego wyśle zapytanie. Serwer obsługujący domenę pl w odpowiedzi prześle adres serwera obsługującego domenę edu.pl, do którego nasz serwer wyśle kolejne zapytanie i od którego otrzyma adres serwera DNS obsługującego domenę pw.edu.pl, który z kolei, jak należy się spodziewać w odpowiedzi zwróci adres IP odpowiadający nazwie www.pw.edu.pl. | Na przykład, jeżeli trzeba rozwiązać nazwę www.pw.edu.pl klient wysyła zapytanie rekurencyjne do serwera DNS, którego adres znajduje się w plikach konfiguracyjnych systemu operacyjnego. Serwer DNS sprawdza, czy w buforze znajduje się informacja dotycząca tej nazwy. Jeżeli tak, to zwraca do klienta odpowiedź. Jeżeli nie ma takiej nazwy w bazie albo w buforze, to sprawdza, czy ma wie jaki serwer obsługuje domenę pw.edu.pl, potem domenę edu.pl i na końcu pl. Jeżeli serwer nie ma takiej informacji w buforze, to wysyła zapytanie do jednego z serwerów głównych typu root. W odpowiedzi otrzyma informację w postaci adresu serwera DNS obsługującego domenę pl, do którego wyśle zapytanie. Serwer obsługujący domenę pl w odpowiedzi prześle adres serwera obsługującego domenę edu.pl, do którego nasz serwer wyśle kolejne zapytanie i od którego otrzyma adres serwera DNS obsługującego domenę pw.edu.pl, który z kolei, jak należy się spodziewać w odpowiedzi zwróci adres IP odpowiadający nazwie www.pw.edu.pl. | ||
Linia 170: | Linia 170: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd19.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd19.png|thumb|500px]] | ||
|valign="top"|Najpopularniejszą fizyczną implementacją serwera DNS jest program o nazwie BIND, który na ogół stanowi jeden z elementów składowych wszystkich systemów operacyjnych z rodziny UNIX i LINUX. | |valign="top"|Najpopularniejszą fizyczną implementacją serwera DNS jest program o nazwie BIND, który na ogół stanowi jeden z elementów składowych wszystkich systemów operacyjnych z rodziny UNIX i LINUX. | ||
Obecnie dostępnych jest kilka implementacji serwerów DNS, które można pobrać z Internetu w postaci programów źródłowych lub w postaci binarnej dla konkretnej platformy programowo sprzętowej. | Obecnie dostępnych jest kilka implementacji serwerów DNS, które można pobrać z Internetu w postaci programów źródłowych lub w postaci binarnej dla konkretnej platformy programowo sprzętowej. | ||
Linia 177: | Linia 177: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd20.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd20.png|thumb|500px]] | ||
|valign="top"|Aby aplikacje pracujące w danym systemie operacyjnym mogły korzystać z systemu nazw, należy w systemie operacyjnym skonfigurować reslover. Resolver tworzy zbiór programów bibliotecznych systemu operacyjnego, które odpowiadają za komunikację z serwerami DNS. | |valign="top"|Aby aplikacje pracujące w danym systemie operacyjnym mogły korzystać z systemu nazw, należy w systemie operacyjnym skonfigurować reslover. Resolver tworzy zbiór programów bibliotecznych systemu operacyjnego, które odpowiadają za komunikację z serwerami DNS. | ||
W przypadku systemów UNIX i LINUX konfiguracja wykonywana jest w postaci odpowiednich deklaracji w ściśle określonych plikach. Wpisy dokonywane są albo bezpośrednio za pomocą edytora tekstowego ed lub vi, lub innego kompatybilnego z tymi edytorami, albo za pomocą aplikacji graficznej dostarczonej z systemem. W przypadku dokonywania wpisów bezpośrednich, należy upewnić się czy sposób zapisu tekstu do pliku jest zgodny ze specyfikacją konkretnego systemu operacyjnego (znaki zakończenia linii oraz znaki zakończenia pliku). | W przypadku systemów UNIX i LINUX konfiguracja wykonywana jest w postaci odpowiednich deklaracji w ściśle określonych plikach. Wpisy dokonywane są albo bezpośrednio za pomocą edytora tekstowego ed lub vi, lub innego kompatybilnego z tymi edytorami, albo za pomocą aplikacji graficznej dostarczonej z systemem. W przypadku dokonywania wpisów bezpośrednich, należy upewnić się czy sposób zapisu tekstu do pliku jest zgodny ze specyfikacją konkretnego systemu operacyjnego (znaki zakończenia linii oraz znaki zakończenia pliku). | ||
Linia 185: | Linia 185: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd21.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd21.png|thumb|500px]] | ||
|valign="top"|W systemach operacyjnych typu UNIX i LINUX konfigurację resolvera zaczyna się od ustawienia odpowiedniej deklaracji w pliku nsswitch.conf (NameServiceSWITCH.CONFiguration), który na ogół znajduje się w katalogu /etc. W pliku tym definiuje się serwisy oraz kolejność ich przeszukiwania w celu znalezienia konkretnej informacji. W przypadku rozwiązywania nazw istnieje wiele serwisów umożliwiających rozwiązanie nazwy: plik hosts (opcja „files”), dns, nis, nisplus, ldap i inne. W celu wymuszenia przeszukiwania serwerów DNS należy w pliku nsswitch.conf umieścić odpowiednią deklarację w opcjach hosts oraz ipnodes. Opcja ipnodes i związana jest z obsługą adresów IPv6. | |valign="top"|W systemach operacyjnych typu UNIX i LINUX konfigurację resolvera zaczyna się od ustawienia odpowiedniej deklaracji w pliku nsswitch.conf (NameServiceSWITCH.CONFiguration), który na ogół znajduje się w katalogu /etc. W pliku tym definiuje się serwisy oraz kolejność ich przeszukiwania w celu znalezienia konkretnej informacji. W przypadku rozwiązywania nazw istnieje wiele serwisów umożliwiających rozwiązanie nazwy: plik hosts (opcja „files”), dns, nis, nisplus, ldap i inne. W celu wymuszenia przeszukiwania serwerów DNS należy w pliku nsswitch.conf umieścić odpowiednią deklarację w opcjach hosts oraz ipnodes. Opcja ipnodes i związana jest z obsługą adresów IPv6. | ||
Następnie należy wpisać odpowiednie deklaracje do pliku resolv.conf, który także na ogół znajduje się w katalogu /etc. W pliku tym powinna znajdować co najmniej jedna deklaracja „nameserver”, wskazująca adres IP serwera DNS. Serwer ten będzie każdorazowo pytany przez aplikacje uruchomione w danym systemie operacyjnym podczas poszukiwania rozwiązań dla nazw. W deklaracji tej możemy podać dowolny serwer w Internecie, jednak zazwyczaj podawany jest adres serwera właściwego dla danego segmentu sieci, ze względu na szybkość odpowiedzi, ale przede wszystkim, ze względu na fakt, że ten inny serwer może odmówić udzielenia odpowiedzi. Jeżeli na danym hoście uruchomiony jest serwer DNS, to jako adres IP serwera DNS podaje się numer IP: 127.0.0.1. | Następnie należy wpisać odpowiednie deklaracje do pliku resolv.conf, który także na ogół znajduje się w katalogu /etc. W pliku tym powinna znajdować co najmniej jedna deklaracja „nameserver”, wskazująca adres IP serwera DNS. Serwer ten będzie każdorazowo pytany przez aplikacje uruchomione w danym systemie operacyjnym podczas poszukiwania rozwiązań dla nazw. W deklaracji tej możemy podać dowolny serwer w Internecie, jednak zazwyczaj podawany jest adres serwera właściwego dla danego segmentu sieci, ze względu na szybkość odpowiedzi, ale przede wszystkim, ze względu na fakt, że ten inny serwer może odmówić udzielenia odpowiedzi. Jeżeli na danym hoście uruchomiony jest serwer DNS, to jako adres IP serwera DNS podaje się numer IP: 127.0.0.1. | ||
Linia 195: | Linia 195: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd22.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd22.png|thumb|500px]] | ||
|valign="top"|W systemach M$ Windows konfiguracji resolvera dokonuje się za pomocą aplikacji graficznej dostępnej, np. w następujący sposób: | |valign="top"|W systemach M$ Windows konfiguracji resolvera dokonuje się za pomocą aplikacji graficznej dostępnej, np. w następujący sposób: | ||
Linia 206: | Linia 206: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd23.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd23.png|thumb|500px]] | ||
|valign="top"|W przypadku, gdy dystrybucja adresów IP odbywa się w sposób całkowicie przypadkowy, konkretna stacja robocza może za każdym razem otrzymywać inny adres IP. Zatem, w celu zachowania spójności systemu nazw opracowano system tzw. dynamicznego DNS’u, w którym stacja robocza, po otrzymaniu z serwera DHCP wartości parametrów sieciowych może dokonać odpowiedniego wpisu do baz serwera DNS. | |valign="top"|W przypadku, gdy dystrybucja adresów IP odbywa się w sposób całkowicie przypadkowy, konkretna stacja robocza może za każdym razem otrzymywać inny adres IP. Zatem, w celu zachowania spójności systemu nazw opracowano system tzw. dynamicznego DNS’u, w którym stacja robocza, po otrzymaniu z serwera DHCP wartości parametrów sieciowych może dokonać odpowiedniego wpisu do baz serwera DNS. | ||
W zwykłych konfiguracjach opcja dynamicznego uaktualniania baz DNS jest zablokowana po stronie serwera. | W zwykłych konfiguracjach opcja dynamicznego uaktualniania baz DNS jest zablokowana po stronie serwera. | ||
Linia 215: | Linia 215: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd24.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd24.png|thumb|500px]] | ||
|valign="top"|Zamieszczony w tym module opis konfiguracji serwera DNS stanowi niezbędne minimum jakie należy wykonać aby uruchomić poszczególne typy serwerów. Opis ten jest zgodny z implementacjami BIND w wersji 8 oraz 9 (widoki dotyczą tylko wersji 9). Natomiast, położenie plików konfiguracyjnych oraz sposób uruchamiania i zatrzymywania serwera został przedstawiony na podstawie systemu operacyjnego SUN Solaris. Przyjęto również założenie, że stosowne oprogramowanie aplikacyjne znajduje się już w systemie operacyjnym. | |valign="top"|Zamieszczony w tym module opis konfiguracji serwera DNS stanowi niezbędne minimum jakie należy wykonać aby uruchomić poszczególne typy serwerów. Opis ten jest zgodny z implementacjami BIND w wersji 8 oraz 9 (widoki dotyczą tylko wersji 9). Natomiast, położenie plików konfiguracyjnych oraz sposób uruchamiania i zatrzymywania serwera został przedstawiony na podstawie systemu operacyjnego SUN Solaris. Przyjęto również założenie, że stosowne oprogramowanie aplikacyjne znajduje się już w systemie operacyjnym. | ||
Linia 231: | Linia 231: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd25.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd25.png|thumb|500px]] | ||
|valign="top"|Buforowanie danych jest naturalną, jedną z podstawowych funkcjonalności serwera DNS, dlatego aby uruchomić serwer DNS dowolnego typu należy zawsze zacząć od uruchomienia serwera buforującego. | |valign="top"|Buforowanie danych jest naturalną, jedną z podstawowych funkcjonalności serwera DNS, dlatego aby uruchomić serwer DNS dowolnego typu należy zawsze zacząć od uruchomienia serwera buforującego. | ||
Na konfigurację serwera buforującego składają się: | Na konfigurację serwera buforującego składają się: | ||
Linia 242: | Linia 242: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd26.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd26.png|thumb|500px]] | ||
|valign="top"|Slajd przedstawia pierwsza część pliku named.conf, zawierająca deklaracje „options” oraz „logging”. | |valign="top"|Slajd przedstawia pierwsza część pliku named.conf, zawierająca deklaracje „options” oraz „logging”. | ||
Linia 257: | Linia 257: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd27.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd27.png|thumb|500px]] | ||
|valign="top"|Slajd przedstawia drugą część minimalnej wersji pliku „named.conf”, zawierającą deklaracje dotyczące bazy root serwerów oraz mapowania prostego i odwrotnego dla interfejsu loopback. Wszystkie deklaracje wykonane są zgodnie ze składnią stosowaną do opisu stref. | |valign="top"|Slajd przedstawia drugą część minimalnej wersji pliku „named.conf”, zawierającą deklaracje dotyczące bazy root serwerów oraz mapowania prostego i odwrotnego dla interfejsu loopback. Wszystkie deklaracje wykonane są zgodnie ze składnią stosowaną do opisu stref. | ||
Linia 266: | Linia 266: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd28.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd28.png|thumb|500px]] | ||
|valign="top"|Plik zawierający bazę root serwerów składa się z dwóch typów rekordów. Jeden typ to rekordy stosowane opisu delegacji domeny: | |valign="top"|Plik zawierający bazę root serwerów składa się z dwóch typów rekordów. Jeden typ to rekordy stosowane opisu delegacji domeny: | ||
. 3600000 IN NS A.ROOT-SERVERS.NET. | . 3600000 IN NS A.ROOT-SERVERS.NET. | ||
Linia 279: | Linia 279: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd29.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd29.png|thumb|500px]] | ||
|valign="top"|Na slajdzie przedstawiono przykładowe implementacje plików localhost.zone i localhost.rev. | |valign="top"|Na slajdzie przedstawiono przykładowe implementacje plików localhost.zone i localhost.rev. | ||
Pliki te włączane są do konfiguracji serwerów DNS w celu zachowania ciągłości odwzorowania wszystkich nazw i adresów IP. | Pliki te włączane są do konfiguracji serwerów DNS w celu zachowania ciągłości odwzorowania wszystkich nazw i adresów IP. | ||
Linia 289: | Linia 289: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd30.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd30.png|thumb|500px]] | ||
|valign="top"|Slajd przedstawia komunikaty wygenerowane podczas poprawnego uruchomienia serwera typu cache. | |valign="top"|Slajd przedstawia komunikaty wygenerowane podczas poprawnego uruchomienia serwera typu cache. | ||
Jak widać serwer przeczytał i załadował do pamięci jedyne zadeklarowane strefy dla interfejsu loopback. | Jak widać serwer przeczytał i załadował do pamięci jedyne zadeklarowane strefy dla interfejsu loopback. | ||
Linia 304: | Linia 304: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd31.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd31.png|thumb|500px]] | ||
|valign="top"|Określenie „serwer typu master” używane jest w kontekście konkretnej domeny. Stąd serwer typu master dla konkretnej domeny, to serwer DNS, który posiada źródłowe bazy odwzorowania nazw na adresy IP. | |valign="top"|Określenie „serwer typu master” używane jest w kontekście konkretnej domeny. Stąd serwer typu master dla konkretnej domeny, to serwer DNS, który posiada źródłowe bazy odwzorowania nazw na adresy IP. | ||
W celu skonfigurowania serwera DNS jako master serwera dla konkretnej domeny, należy do pliku named.conf dodać odpowiednią deklarację typu „zone”, zawierającą opcję „type master” oraz opcję określającą nazwę pliku z bazą danych dla domeny. | W celu skonfigurowania serwera DNS jako master serwera dla konkretnej domeny, należy do pliku named.conf dodać odpowiednią deklarację typu „zone”, zawierającą opcję „type master” oraz opcję określającą nazwę pliku z bazą danych dla domeny. | ||
Linia 313: | Linia 313: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd32.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd32.png|thumb|500px]] | ||
|valign="top"|Konfiguracja serwera typu „revers”, czyli odwzorowania odwrotnego dotyczy sytuacji, gdy adres IP odwzorowywany jest na nazwę. Także i w tym przypadku rozróżniane są serwery typu master i slave, których konfiguracja odbywa się w kontekście konkretnej strefy numeracyjnej. | |valign="top"|Konfiguracja serwera typu „revers”, czyli odwzorowania odwrotnego dotyczy sytuacji, gdy adres IP odwzorowywany jest na nazwę. Także i w tym przypadku rozróżniane są serwery typu master i slave, których konfiguracja odbywa się w kontekście konkretnej strefy numeracyjnej. | ||
Deklaracja obsługi danej strefy jako serwer typu master wykonywana jest tak samo jak dla odwzorowania zwykłego, czyli przez odpowiedni wpis w pliku named.conf. Postać deklaracji jest taka sama jak dla deklaracji typu „zone”, przy czym jako nazwę strefy podaje się numer sieci zapisany w odwrotnej kolejności i uzupełniony nazwą domeny specjalnej „in.addr.arpa” stosowanej do obsługi infrastruktury Internetu. | Deklaracja obsługi danej strefy jako serwer typu master wykonywana jest tak samo jak dla odwzorowania zwykłego, czyli przez odpowiedni wpis w pliku named.conf. Postać deklaracji jest taka sama jak dla deklaracji typu „zone”, przy czym jako nazwę strefy podaje się numer sieci zapisany w odwrotnej kolejności i uzupełniony nazwą domeny specjalnej „in.addr.arpa” stosowanej do obsługi infrastruktury Internetu. | ||
Linia 321: | Linia 321: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd33.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd33.png|thumb|500px]] | ||
|valign="top"|W przypadku serwera typu „slave” do znanych już opcji dochodzi opcja „masters”, która pokazuje serwer lub serwery główne dla danej domen/strefy, z których serwer będzie transferował dane. | |valign="top"|W przypadku serwera typu „slave” do znanych już opcji dochodzi opcja „masters”, która pokazuje serwer lub serwery główne dla danej domen/strefy, z których serwer będzie transferował dane. | ||
Wartość opcji type zmienia się na slave, co jest jednoznacznie związane z funkcjonalnością serwera dla danej domen/strefy. Natomiast ciągi znaków w opcji „file” są nazwami plików, w których serwer będzie przechowywał bazy uzyskane w wyniku transferu danych z serwerów typu master. Pliki te tworzone są automatycznie. Ich wewnętrzna zawartość, co do sposobu deklaracji dość mocno odbiega od oryginału, jednak co do treści pokrywa się całkowicie z treścią zawartą w bazie źródłowej. | Wartość opcji type zmienia się na slave, co jest jednoznacznie związane z funkcjonalnością serwera dla danej domen/strefy. Natomiast ciągi znaków w opcji „file” są nazwami plików, w których serwer będzie przechowywał bazy uzyskane w wyniku transferu danych z serwerów typu master. Pliki te tworzone są automatycznie. Ich wewnętrzna zawartość, co do sposobu deklaracji dość mocno odbiega od oryginału, jednak co do treści pokrywa się całkowicie z treścią zawartą w bazie źródłowej. | ||
Linia 328: | Linia 328: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd34.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd34.png|thumb|500px]] | ||
|valign="top"|W momencie wprowadzenia do konfiguracji sieci mechanizmu mapowania adresów (NAT) pojawił się problem obsługi tego typu konstrukcji przez serwery DNS. | |valign="top"|W momencie wprowadzenia do konfiguracji sieci mechanizmu mapowania adresów (NAT) pojawił się problem obsługi tego typu konstrukcji przez serwery DNS. | ||
Zazwyczaj fizyczna i logiczna budowa sieci firmowej przewiduje dwie główne części: strefę zdemilitaryzowana (DMZ), do której jest dostęp z Internetu, i w której znajdują się Internetowe serwery usługowe oraz sieć wewnętrzną, do której nie ma dostępu z Internetu, a dostęp do Internetu jest filtrowany. W sieci wewnętrznej, w takich przypadkach stosowana jest numeracja oparta na adresach prywatnych. | Zazwyczaj fizyczna i logiczna budowa sieci firmowej przewiduje dwie główne części: strefę zdemilitaryzowana (DMZ), do której jest dostęp z Internetu, i w której znajdują się Internetowe serwery usługowe oraz sieć wewnętrzną, do której nie ma dostępu z Internetu, a dostęp do Internetu jest filtrowany. W sieci wewnętrznej, w takich przypadkach stosowana jest numeracja oparta na adresach prywatnych. | ||
Linia 337: | Linia 337: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd35.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd35.png|thumb|500px]] | ||
|valign="top"|Pliki zawierające bazę danych dla domeny, czy strefy składają się z różnego typu rekordów i deklaracji zapisanych w postaci tekstowej. | |valign="top"|Pliki zawierające bazę danych dla domeny, czy strefy składają się z różnego typu rekordów i deklaracji zapisanych w postaci tekstowej. | ||
Najważniejszym rekordem w bazie jest rekord SOA (ang. Start Of Authority), który zgodnie ze swoją rolą zawsze znajduje się jako pierwszy. | Najważniejszym rekordem w bazie jest rekord SOA (ang. Start Of Authority), który zgodnie ze swoją rolą zawsze znajduje się jako pierwszy. | ||
Linia 348: | Linia 348: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd36.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd36.png|thumb|500px]] | ||
|valign="top"|Rekord SOA (ang. Start Of Authority) jest rekordem zasobów, informujących, że dany serwer jest serwerem informacji źródłowych o danej strefie. | |valign="top"|Rekord SOA (ang. Start Of Authority) jest rekordem zasobów, informujących, że dany serwer jest serwerem informacji źródłowych o danej strefie. | ||
Zgodnie z budową rekordu, rekord SOA zaczyna się nazwą obiektu, który opisuje. Może tu występować jawna nazwa domeny, koniecznie zakończona kropką albo zamiast jawnej nazwy może zostać użyty znak „@” oznaczający nazwę domeny źródłowej zgodnej z deklaracją w pliku named.conf. | Zgodnie z budową rekordu, rekord SOA zaczyna się nazwą obiektu, który opisuje. Może tu występować jawna nazwa domeny, koniecznie zakończona kropką albo zamiast jawnej nazwy może zostać użyty znak „@” oznaczający nazwę domeny źródłowej zgodnej z deklaracją w pliku named.conf. | ||
Linia 370: | Linia 370: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd37.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd37.png|thumb|500px]] | ||
|valign="top"|Rekord typu MX określa nazwę serwera pocztowego, obsługującego daną domenę lub konkretny host. | |valign="top"|Rekord typu MX określa nazwę serwera pocztowego, obsługującego daną domenę lub konkretny host. | ||
Wartością rekordu, jest wartość składająca się z dwóch elementów: | Wartością rekordu, jest wartość składająca się z dwóch elementów: | ||
Linia 382: | Linia 382: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd38.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd38.png|thumb|500px]] | ||
|valign="top"|Rekord typu NS służą do definiowania serwerów DNS obsługujących daną domenę (a) albo jej poddomenę (c). Adres serwera DNS może zostać wpisany w formie pełnej, kwalifikowanej nazwy domenowej, koniecznie zakończonej „.” (a) (c), co jest najczęściej stosowane albo w postaci adresu IP (b). Jeżeli adres serwera zostanie podany w postaci nazwy domenowej, to w tym samym pliku dodawane są tzw. rekordy „sklejające” (ang. glue records), których zadaniem jest: | |valign="top"|Rekord typu NS służą do definiowania serwerów DNS obsługujących daną domenę (a) albo jej poddomenę (c). Adres serwera DNS może zostać wpisany w formie pełnej, kwalifikowanej nazwy domenowej, koniecznie zakończonej „.” (a) (c), co jest najczęściej stosowane albo w postaci adresu IP (b). Jeżeli adres serwera zostanie podany w postaci nazwy domenowej, to w tym samym pliku dodawane są tzw. rekordy „sklejające” (ang. glue records), których zadaniem jest: | ||
przyśpieszenie poszukiwań, | przyśpieszenie poszukiwań, | ||
Linia 392: | Linia 392: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd39.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd39.png|thumb|500px]] | ||
|valign="top"|Slajd pokazuje początek typowego pliku z definicją domeny. Zgodnie z normami, plik otwiera rekord SOA i towarzysząca mu deklaracja TTL dla pozytywnego buforowania. | |valign="top"|Slajd pokazuje początek typowego pliku z definicją domeny. Zgodnie z normami, plik otwiera rekord SOA i towarzysząca mu deklaracja TTL dla pozytywnego buforowania. | ||
Następnie, występują deklaracje serwerów DNS oraz serwera pocztowego. | Następnie, występują deklaracje serwerów DNS oraz serwera pocztowego. | ||
Linia 405: | Linia 405: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd40.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd40.png|thumb|500px]] | ||
|valign="top"|Plik opisujący mapowanie odwrotne, czyli adres IP -> nazwa skonstruowany jest identycznie jak plik z opisem mapowania nazwa -> adres IP przedstawiony na slajdzie poprzednim. | |valign="top"|Plik opisujący mapowanie odwrotne, czyli adres IP -> nazwa skonstruowany jest identycznie jak plik z opisem mapowania nazwa -> adres IP przedstawiony na slajdzie poprzednim. | ||
Różnica polega na tym, że zasadniczym elementem pliku są rekordy typu „PTR” (ang. pointer). | Różnica polega na tym, że zasadniczym elementem pliku są rekordy typu „PTR” (ang. pointer). | ||
Linia 414: | Linia 414: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd41.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd41.png|thumb|500px]] | ||
|valign="top"|Czynności wykonywane podczas uruchamiania serwera DNS są w dużej mierze podobne do procesu diagnostyki serwera w sytuacji wystąpienia awarii. W celu sprawdzenia poprawności działania serwera lub w celu usunięcia ewentualnych błędów w konfiguracji należy sprawdzić: | |valign="top"|Czynności wykonywane podczas uruchamiania serwera DNS są w dużej mierze podobne do procesu diagnostyki serwera w sytuacji wystąpienia awarii. W celu sprawdzenia poprawności działania serwera lub w celu usunięcia ewentualnych błędów w konfiguracji należy sprawdzić: | ||
poprawność uruchamiania programu serwera (ps –ef, /var/adm/messages), | poprawność uruchamiania programu serwera (ps –ef, /var/adm/messages), | ||
Linia 423: | Linia 423: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd42.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd42.png|thumb|500px]] | ||
|valign="top"|Pliki z logami, zarówno systemowymi , jak i pochodzącymi od samej aplikacji stanowią bardzo istotną pomoc podczas uruchamiania i monitorowania serwera DNS. | |valign="top"|Pliki z logami, zarówno systemowymi , jak i pochodzącymi od samej aplikacji stanowią bardzo istotną pomoc podczas uruchamiania i monitorowania serwera DNS. | ||
Na slajdzie przedstawiono fragment takich logów z programu BIND. | Na slajdzie przedstawiono fragment takich logów z programu BIND. | ||
Linia 431: | Linia 431: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd43.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd43.png|thumb|500px]] | ||
|valign="top"|Najstarszym program służącym do diagnostyki systemu nazw jest program „nslookup”. Obecnie wykorzystywane są do tego celu inne programy jak dig, czy host. Jednak nslookup należy do podstawowych dystrybucji wszystkich sieciowych systemów operacyjnych. | |valign="top"|Najstarszym program służącym do diagnostyki systemu nazw jest program „nslookup”. Obecnie wykorzystywane są do tego celu inne programy jak dig, czy host. Jednak nslookup należy do podstawowych dystrybucji wszystkich sieciowych systemów operacyjnych. | ||
Program ten wywołany bez opcji uruchamia się w trybie interakcyjnym wypisując parametry domyślnego serwera DNS. | Program ten wywołany bez opcji uruchamia się w trybie interakcyjnym wypisując parametry domyślnego serwera DNS. | ||
Linia 441: | Linia 441: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd44.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd44.png|thumb|500px]] | ||
|valign="top"|Slajd przedstawia odpowiedź na zapytanie dotyczące mapowania odwrotnego. Charakterystyczne jest to, że zapytanie sformułowane jest zgodnie z budową domeny in-addr.arpa, czyli od ostatniego elementu adresu IP do pierwszego. | |valign="top"|Slajd przedstawia odpowiedź na zapytanie dotyczące mapowania odwrotnego. Charakterystyczne jest to, że zapytanie sformułowane jest zgodnie z budową domeny in-addr.arpa, czyli od ostatniego elementu adresu IP do pierwszego. | ||
Linia 450: | Linia 450: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd45.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd45.png|thumb|500px]] | ||
|valign="top"|Jako przykład zostanie przedstawiona konfiguracja serwerów DNS w firmie z dwoma oddziałami, niezależnie podpiętymi do Internetu. Sieć każdego oddziału oraz sposób podpięcia do Internetu jest identyczny. W sieci każdej z tych sieci wyróżniamy dwie części: DMZ (strefa zdemilitaryzowana) oraz sieć lokalną (LAN), oddzielone od siebie ścianą ogniową. Oddziały połączone są dodatkowo łączem prywatnym. | |valign="top"|Jako przykład zostanie przedstawiona konfiguracja serwerów DNS w firmie z dwoma oddziałami, niezależnie podpiętymi do Internetu. Sieć każdego oddziału oraz sposób podpięcia do Internetu jest identyczny. W sieci każdej z tych sieci wyróżniamy dwie części: DMZ (strefa zdemilitaryzowana) oraz sieć lokalną (LAN), oddzielone od siebie ścianą ogniową. Oddziały połączone są dodatkowo łączem prywatnym. | ||
W części DMZ jednego oddziału znajduje się serwer DNS typu master obsługujący domenę firmy, a w drugim oddziale znajduje się serwer DNS typu slave dla tej samej domeny. | W części DMZ jednego oddziału znajduje się serwer DNS typu master obsługujący domenę firmy, a w drugim oddziale znajduje się serwer DNS typu slave dla tej samej domeny. | ||
Linia 459: | Linia 459: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd46.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd46.png|thumb|500px]] | ||
|valign="top"|Wszystkie cztery serwery należy w fazie początkowej skonfigurować jednakowo, w sposób jaki konfiguruje się serwer buforujący. W pliku /etc/named.conf powinny znaleźć się bloki „options”, „logging” oraz „zone” dla sieci wewnętrznej (loopback). W zależności od wersji programu BIND można dodać lub nie blok „zone” dla root serwerów. | |valign="top"|Wszystkie cztery serwery należy w fazie początkowej skonfigurować jednakowo, w sposób jaki konfiguruje się serwer buforujący. W pliku /etc/named.conf powinny znaleźć się bloki „options”, „logging” oraz „zone” dla sieci wewnętrznej (loopback). W zależności od wersji programu BIND można dodać lub nie blok „zone” dla root serwerów. | ||
Ponadto zgodnie z wpisami w pliku named.conf należy w katalogu /var/named albo innym, w zależności od wartości deklaracji „directory” bloku „options” umieścić pliki wymienione w blokach „zone”. | Ponadto zgodnie z wpisami w pliku named.conf należy w katalogu /var/named albo innym, w zależności od wartości deklaracji „directory” bloku „options” umieścić pliki wymienione w blokach „zone”. | ||
Linia 467: | Linia 467: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd47.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd47.png|thumb|500px]] | ||
|valign="top"|Jeżeli serwery DNS skonfigurowane jako serwery buforujące działają poprawnie, można przystąpić do konfiguracji szczegółowej poszczególnych stref. | |valign="top"|Jeżeli serwery DNS skonfigurowane jako serwery buforujące działają poprawnie, można przystąpić do konfiguracji szczegółowej poszczególnych stref. | ||
W celu ustalenia uwagi oddziały firmy oznaczono literami „A” oraz „B”. | W celu ustalenia uwagi oddziały firmy oznaczono literami „A” oraz „B”. | ||
Linia 478: | Linia 478: | ||
{| border="0" cellpadding="4" width="100%" | {| border="0" cellpadding="4" width="100%" | ||
|valign="top" width="500px"|[[Grafika:SK_M9_Slajd48.png]] | |valign="top" width="500px"|[[Grafika:SK_M9_Slajd48.png|thumb|500px]] | ||
|valign="top"| | |valign="top"| | ||
|} | |} | ||
<hr width="100%"> | <hr width="100%"> |
Wersja z 11:09, 21 wrz 2006
![]() |
![]() |
Pierwszym członem w nazwie domenowej jest tzw. domena pierwszego poziomu TLD (and. Top-Level Domain). Poniżej domeny pierwszego poziomu może znajdować się dowolnie dużo poddomen drugiego poziomu, poniżej których może znajdować się dowolnie wiele poddomen trzeciego poziomu, itd.
W pierwotnej specyfikacji znalazło się siedem domen pierwszego poziomu: .com, .edu, .mil, .gov, .net, .org, .int, oraz dwuliterowe domeny narodowe. Obsługa każdej z domen delegowana jest do odpowiedniej organizacji, odpowiedzialnej za daną domenę. Po kilkunastu latach od chwili ogłoszenia pierwszej specyfikacji zostały zgłoszone propozycje nowych domen pierwszego poziomu, z których zaakceptowano kolejnych siedem, z czego cztery .biz, .info, .name, .pro otrzymały status domen ogólnie dostępnych, natomiast pozostałe trzy .aero, .coop, .museum status domen sponsorowanych. Spośród domen znajdujących się w pierwotnej specyfikacji, w trzech: .com – firmy comercyjne, .net – firmy/organizacje zajmujące się ogólnie rozumianą technologią sieciową, .org – firmy/organizacje non-profit rejestracja nie podlega ograniczeniom, natomiast w pozostałych czterech rejestracja odbywa się według ściśle określonych kryteriów: .edu – jednostki oficjalnie uznane za edukacyjne w USA, .mil – Armia USA, .gov – instytucje rządowe USA, .int – organizacje oficjalnie zajmujące się obsługą Internetu na podstawie umów międzynarodowych. Nazwy domen pierwszego poziomu oraz związane z nimi zasady rejestracji zostały przeniesione i zaakceptowane w odniesieniu do domen drugiego poziomu domen narodowych. Ostatecznie zasady organizacji domen zostały dość mocno rozluźnione. Rozszerzono zestaw domen pierwszego poziomu, dopuszczono stosowanie dowolnych schematów tworzenia domen poniżej poziomu domen narodowych. W związku z tym pojawiły się domeny regionalne (w Polsce waw, czest, katowice), zmieniono nazwy niektórych domen (Wielka Brytania com -> co, edu -> ac), dopuszczono dowolne nazwy poniżej poziomu domen narodowych. Z wyjątkiem wspomnianych wyżej reguł rejestracji w 4 domenach pierwszego poziomu, które zaadoptowano także dla drugiego poziomu domen narodowych oraz takich wyjątków jak rejestracja w domenie .eu, gdzie stworzono bufor czasowy dla firm i organizacji posiadających osobowość prawną, rejestracja odbywa się w dowolny sposób na zasadzie „kto pierwszy ten lepszy”. Szczegóły dotyczące zasad funkcjonowania nazw domenowych można znaleźć na stronach ICANN (Internet Corporation For Assigned Names and Numbers): http://www.icann.org/tlds/ - Top-Level Domains (gTLDs), http://www.icann.org/topics/TLD-acceptance/ - Universal Acceptance of all Top-Level Domains http://data.iana.org/TLD/tlds-alpha-by-domain.txt - List of Top Level Domains |
![]() |
Na slajdzie zaprezentowana jest przestrzeń mapowania odwrotnego dla adresów IPv4. |
![]() |
Slajd pokazuje położenie domeny .arpa w przestrzeni nazw DNS. |
![]() |