Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

UNIX jesień/zima 2013 Wykład 11 Zaawansowane usługi sieciowe w Linux/UNIX - DNS dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki

Podobne prezentacje


Prezentacja na temat: "UNIX jesień/zima 2013 Wykład 11 Zaawansowane usługi sieciowe w Linux/UNIX - DNS dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki"— Zapis prezentacji:

1 UNIX jesień/zima 2013 Wykład 11 Zaawansowane usługi sieciowe w Linux/UNIX - DNS dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki 1

2 Usługa Domain Name System 2 DNS służy do tłumaczenia nazw domen (takich jak na przykład na adresy IP i odwrotnie, Silnie hierarchiczny, Dodatkowo wykorzystywany jako hierarchiczna, rozproszona baza danych. Na początku baza ta zawierała wyłącznie informacje o serwerach obsługujących odbiór poczty dla nazwy domeny. Poźniej rozszerzono ten zapis także na inne usługi, np. Kerberos KDC czy serwery Jabber. Baza przechowuje także inne informacje, komentarze, uprawnienia mail itp. Adresy domen zapisane są w postaci członów rozdzielonych kropkami niejako od prawej do lewej – przykład dla Podobnie zapisywane są adresy IP przy zapytaniu odwrotnym – przykład dla adresu : in-addr.arpa

3 Adresy sieci internetowych 3 Dawniej, sieci IP były pogrupowane w klasy, których część sieciowa adresu była długa na 8, 16 lub 24 bity. Adresy IP maska podsieci długość Klasa A = /8 Klasa B = /16 Klasa C = /24 W każdej klasie istnieją zakresy adresów zarezerwowanych do użycia w sieciach lokalnych (LAN). Istnieje gwarancja, że te adresy nie będą w konflikcie z innymi adresami w internecie. adres sieci długość ilość Klasa A 10.x.x.x /8 1 Klasa B x.x x.x /16 16 Klasa C x x / Pierwszy adres w każdej sieci jest równocześnie adresem tej sieci. Ostatni adres jest adresem rozgłoszeniowym (broadcast). Wszystkie inne adresy mogą być przydzielane komputerom w sieci. Najczęściej pierwszy lub ostatni adres jest przydzielany routerowi.

4 DNS – podstawowe informacje 4 Dozwolone znaki w członie (domenie): w protokole praktycznie dowolne, jednak w ICANN zezwala się wyłącznie na stosowanie liter alfabetu łacińskiego w zakresie stosowanym w języku angielskim, cyfr oraz łącznika (-). Nazwy nie mogą się zaczynać ani kończyć łącznikiem. Istnieje możliwość rejestracji domen zawierających dowolne znaki z zestawu Unicode, jednak takie domeny i tak są tłumaczone na zapis zawierający wyłącznie znaki o zakresie takim jak powyżej. System ten nazywa się punycode. Adresy URL w kodowaniu Punycode mają postać: xn--znakiascii-kodznakowunicode Przykład Unicode - Punycode - Użytkownik może być zaskoczony, gdy zamiast np. żołty.pl zobaczy w przeglądarce xnty-4ja03asj.pl, Istnieje możliwość podszycia się pod inną domenę.

5 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" oraz części domen lokalnych, np..waw.pl. IPPT PAN – rejestracja domeny.gov.pl; ICM –.art.pl,.mbone.pl; Politechnika Wrocławska –.usenet.pl.

6 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).

7 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.

8 8 Przykład użycia hierarchii w DNS Klient szukający adresu IP dla nazwy Strefa główna. Strefa pl Strefa wp.pl Wpis: www Zapytanie 2 Zapytanie 3 Wskaźnik na serwer strefy pl Wskaźnik na serwer strefy wp.pl Zapytanie 1 Problem I – skąd znać adres serwera strefy głównej? Jest wpisany na stałe. Problem II – serwer strefy głównej oraz popularne serwery domen zostałyby zalane pytaniami od setek milionów klientów

9 Przykład hierarchii DNS 9 Rozwiązanie przeciążenia. Każda strefa to w rzeczywistości co najmniej 2 serwery – W strefie głównej dodatkowo zastosowano rozproszenie geograficzne i anycast – Caching odpowiedzi pozytywnych i negatywnych w systemach i aplikacjach, – Serwery cache DNS np. w ISP Klient szukający adresu IP dla nazwy Serwer CACHE DNS Strefa główna. Strefa pl Strefa wp.pl Wpis: www Serwer 1Serwer 2Serwer 3Serwer nSerwer 1Serwer 2Serwer 3Serwer 1Serwer 2 Zapytanie 1 Zapytanie 2 Zapytanie 3 Zapytanie 4 Za pierwszym razem wszystkie 4 zapytania, potem tylko 1

10 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.

11 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)...

12 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)

13 BIND 13 BIND (Berkeley Internet Name Domain, poprzednio: Berkeley Internet Name Daemon) jest popularnym serwer (demon) DNS. Stworzony przez Paula Vixie w Cechy BIND Open source, licencja BSD, BIND zawarty jest w praktycznie każdej dystrybucji Linuxa Wykorzystywany jest w systemach Linux i Unix. Stanowi ważny składnik zapewniający poprawne działanie systemu nazw w Internecie. Bieżąca wersja BIND 9 napisana od zera pod koniec lat 90. XX wieku, ze względu na dużą ilość błędów bezpieczeństwa w poprzedniej wersji BIND 4. Obsługa ładowania stref z plików, katalogu LDAP, baz danych Berkeley DB, PGSQL, MySQL Integracja z serwerem DHCP ISC dla automatycznych uaktualnień DDNS klientów DHCP

14 14 Podstawy konfiguracji BIND Instalacja # apt-get install bind9 dnsutils bind9-doc bind9-host Katalog z konfiguracją /etc/bind Polecenie startujace usługę # /etc/init.d/bind9 start Program zarządzania usługą # rndc Główny plik konfiguracyjny /etc/bind/named.conf W Debianie plik ten zawiera polecenia użycia plików: named.conf.options – konfig. katalogu roboczego, porty nasłuchu, forward named.conf.default-zones – konfiguracja stref głównych, localhosta i broadcastu named.conf.local – definicje lokalnych stref

15 15 Rodzaje stref DNS Strefa podstawowa (primary, master) Zawiera dane strefy pobrane bezpośrednio z pliku na hoście Strefa zapasowa (secondary, slave). Zawiera dane kopiowane podczas procesu replikacji z podstawowego serwera strefy lub z innego serwera zapasowego Strefa skrótowa (stub zone) Strefa ta zawiera wyłącznie rekordy, które są potrzebne do zidentyfikowania serwera DNS dla tej strefy. Forwardowanie – przekazywanie zapytań dla konkretnej strefy do innego serwera DNS znajdującego się na liście forwardu Strefa prosta (forward zone) – strefa przechowująca rekordy do zapytań prostych: adres domenowy -> adres IP zone "test.debian.org.pl" { type master; file "/etc/bind/db.test.debian.org.pl"; }; Strefa odwrotna (reverse zone) – strefa przechowująca rekordy do zapytań odwrotnych: adres IP - >nazwa domenowa zone " in-addr.arpa" { type master; file "/etc/bind/db in-addr.arpa"; };

16 Przykładowa konfiguracja serwera BIND 16 Poprawić plik named.conf.options options { directory "/var/cache/bind"; listen-on { any; }; listen-on-v6 { any; }; auth-nxdomain yes; query-source address * port 53; transfer-source * port 53; notify-source * port 53; version "Mój serwer DNS"; forwarders { ; ; }; }; options { directory "/var/cache/bind"; listen-on { any; }; listen-on-v6 { any; }; auth-nxdomain yes; query-source address * port 53; transfer-source * port 53; notify-source * port 53; version "Mój serwer DNS"; forwarders { ; ; }; }; Nasz serwer DNS będzie pracował jako serwer cacheujący i ustawimy forwarding do DNSów dostawcy. Wcześniej ustaw statyczną konfigurację IP.

17 Tworzymy własną strefę podstawową Edytujemy plik /etc/bind/named.conf.local zone "wojciech.bieniecki.pl" { type master; file "/etc/bind/wojciech.bieniecki.pl"; allow-transfer { any }; notify yes; }; zone "wojciech.bieniecki.pl" { type master; file "/etc/bind/wojciech.bieniecki.pl"; allow-transfer { any }; notify yes; }; type (master/slave) mówi o tym, że to serwer jest podstawowy lub zapasowy file wskazuje na ścieżkę do pliku ze strefą allow-transfer to adresy IP serwerów, które mogą transferować całą zawartośc strefy. Zazwyczaj są to adresy IP zapasowych serwerów DNS dla danej domeny. notify ustawia, czy zapasowe serwery mają być informowane o zmianach w strefie. Opcja ta znacznie przyspiesza aktualizowanie informacji o strefach.

18 Tworzymy własną strefę podstawową Edytujemy plik /etc/bind/wojciech.bieniecki.pl $TTL IN SOA ns1.wojciech.bieniecki.pl. root.wojciech.bieniecki.pl.( ; Serial ; Refresh 180 ; Retry ; Expire - 1 week 60 ) ; Minimum NS IN A ns1 IN A paserver IN A paserver2 IN A wojtek IN A wojtek2 IN A $TTL IN SOA ns1.wojciech.bieniecki.pl. root.wojciech.bieniecki.pl.( ; Serial ; Refresh 180 ; Retry ; Expire - 1 week 60 ) ; Minimum NS IN A ns1 IN A paserver IN A paserver2 IN A wojtek IN A wojtek2 IN A Zauważ, że wszystkie nazwy domenowe są zakończone kropką. Gdyby tych kropek nie było, serwer potraktowałby tą nazwę jako cześć domeny utrzymywanej w tej strefie!

19 Objaśnienia do pliku strefy 19 $TTL to czas, przez jaki poszczególne wpisy są buforowane na serwerach DNS $ORIGIN to nazwa utrzymywanej strefy. ns1.twoj.server.pl to adres Twojego serwera nazw root.twoj.server.pl to Twój adres , gdzie pierwsza kropka oznacza Serial to numer seryjny. Zaleca się aby był on w formacie RRRRMMDDNN. (data ostatniej modyfikacji plus numer poprawki) Refresh – Częstość odświeżania. Decyduje o tym, jak często serwery dodatkowe będą sprawdzać, czy ich dane na temat strefy są aktualne. Retry – Częstość powtórek. Jeśli serwerowi dodatkowemu nie uda się skontaktować z serwerem podstawowym po czasie odświeżania, to próbuje co jakiś tu zdefiniowany czas. Expire – Czas wygaśnięcia. Jeśli serwerowi dodatkowemu nie uda się skontaktować z serwerem podstawowym przez czas wygaśnięcia, to zaczyna usuwać stare dane. Czas wygaśnięcia zawsze powinien być znacznie większy od częstości odświeżania i powtórek (na przykład 30 dni).

20 Tworzymy własną strefę podstawową Edytujemy plik /etc/resolv.conf domain wojciech.bieniecki.pl search wojciech.bieniecki.pl nameserver domain wojciech.bieniecki.pl search wojciech.bieniecki.pl nameserver

21 Tworzymy zapasowy serwer DNS 21 Ponownie edytujemy plik /etc/bind/wojciech.bieniecki.pl Dodajemy modyfikacje o secondary DNS $TTL IN SOA ns1.wojciech.bieniecki.pl. root.wojciech.bieniecki.pl.( ; Serial ; Refresh 180 ; Retry ; Expire - 1 week 60 ) ; Minimum NS IN A ns1 IN A ns2 IN A paserver IN A paserver2 IN A wojtek IN A wojtek2 IN A $TTL IN SOA ns1.wojciech.bieniecki.pl. root.wojciech.bieniecki.pl.( ; Serial ; Refresh 180 ; Retry ; Expire - 1 week 60 ) ; Minimum NS IN A ns1 IN A ns2 IN A paserver IN A paserver2 IN A wojtek IN A wojtek2 IN A

22 Tworzymy zapasowy serwer DNS Edytujemy plik named.conf.local Pozwalamy na transfer stref zone "wojciech.bieniecki.pl" { type master; file "/etc/bind/wojciech.bieniecki.pl"; allow-transfer { }; notify yes; }; zone "wojciech.bieniecki.pl" { type master; file "/etc/bind/wojciech.bieniecki.pl"; allow-transfer { }; notify yes; };

23 Serwer zapasowy DNS Konfigurujemy DNS na drugim serwerze Edytujemy plik named.conf.local zone "wojciech.bieniecki.pl" { type slave; file "/etc/bind/slave/wojciech.bieniecki.pl"; masters { }; }; zone "wojciech.bieniecki.pl" { type slave; file "/etc/bind/slave/wojciech.bieniecki.pl"; masters { }; }; należy utworzyć katalog /etc/bind/slave i zmienić właściciela na bind # mkdir /etc/bind/slave # chown bind.bind /etc/bind/slave Poprawność konfiguracji sprawdzamy w pliku /var/log/daemon.log


Pobierz ppt "UNIX jesień/zima 2013 Wykład 11 Zaawansowane usługi sieciowe w Linux/UNIX - DNS dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki"

Podobne prezentacje


Reklamy Google