Domain Name System (DNS) zamienia nazwy stron i serwerów internetowych (np. amu.edu.pl) na adres IP (150.254.65.253). Jest to o tyle ważne, że w internecie to wyznaczania drogi i celu pakietów korzystamy z adresów IP.
Typy komunikatów DNS:
A - Internet address of the host hostname to IP mapping.CNAME - canonical name of an alias, a machine may have several names (aliases) associated with it, but only one of them is the real one.MX - mail exchanger, mail server for the domain. This is used by SMTP.NS - nameserver, which nameserver is responsible for the domain.PTR - Pointer to a canonical name, IP to hostname mapping.SOA - domain's start-of-authority information, who is in charge for the administration of the domain.
Pełną listę komunikatów można znaleźć tutaj:
Listę polskich serwerów DNS można znaleźć tutaj:
Narzędziem systemowym pozwalającym na odnalezienie adresu serwera za pomocą jego nazwy jest np nslookup.
nslookup amu.edu.pl
Zadanie (1 pkt)
Odpowiedz na pytanie: Czy zawsze można ufać odpowiedzi zwróconej przez serwer DNS? Dlaczego?
---
Spróbuj wykonać zapytanie
nslookup -type=NS amu.edu.pl
Podaje ono autoryzowane serwery przechowujące wpis DNS dla tej domeny.
Jeżeli chcemy założyć własną witrynę o nazwie www.my-site.com, musimy ją zarejestrować w firmie zajmującą się hostingiem DNS.
Zadanie (1 pkt)
W pliku Plik4 znajduje się log komunikacji pomiędzy komputerem a serwerem DNS.
Odpowiedz na pytania:
Czy komunikacja z serwerem DNS odbywa się poprzez TCP czy UDP? Na jakim porcie działa serwer DNS? Jakie typy zapytań DNS można odnaleźć w logu?
Zadanie (1 pkt)
Czy z jedną maszyną może być związane więcej niż jedna nazwa domenowa?
DHCP (ang. Dynamic Host Configuration Protocol) to protokół komunikacyjny, który jest wykorzystywany przez usługę DHCP, zbudowaną w architekturze klient-serwer. Usługa ta daje możliwość pozyskania od serwera DHCP danych konfiguracyjnych (i ich dynamiczne przydzielanie) np.
adresu IPmaski sieciadresy IP serwerów DNSadresu IP bramy sieciowej
Dane te mogą służyć konfigurowaniu urządzeń połączonych z siecią tak, żeby mogły komunikować się w niej używając protokołu IP.
Wiadomości wysyłane w usłudze DHCP:
DHCPDiscover - klient nadaje wiadomość w poszukiwaniu dostępnych serwerów DHCP.DHCPOffer - serwer odpowiada klientowi na wiadomość DHCPDISCOVER z oferowanymi parametrami konfiguracyjnymi.DHCPRequest - klient wysyła żądanie oferowanych parametrów od konkretnego serweraDHCPAcknowledge (DHCPAck) - wybrany serwer DHCP potwierdza żądanie klienta DHCP wysyłając pakiet DHCPAckDHCPNak - Jeżeli adres IP nie jest już ważny lub jest w danym momencie używany przez inny komputer, serwer DHCP odpowiada pakietem DHCPNak i klient musi rozpocząć proces dzierżawienia od początku.DHCPDecline - jeżeli klient określi oferowane parametry konfiguracyjne jako niepoprawne, wysyła pakiet DHCPDecline do serwera i musi rozpocząć porcez od początku.DHCPRelease - klient DHCP wysyła pakiet DHCPRelease aby zwolnić adres IP i anulować dzierżawienieDHCPInform - Klient zapytuje serwer DHCP o parametry konfiguracyjne TCP?IP hosta (host ma już przydzielony adres IP)
Opcje komunikatów można znaleźć tutaj:
Zadanie (2 pkt)
W pliku Plik3 znajduje się log komunikacji pomiędzy komputerem a serwerem dhcp.
Odpowiedz na pytania:
Czy komunikaty DHCP są wysyłane po UDP czy po TCP? Jakiego portu używa DHCP?
Podaj adres komputera przypisany mu przez serwer DHCP. Podaj adres serwera DHCP.
Podaj jakie informacje serwer DHCP przekazał do klienta (spójrz na opcje w komunikatach od serwera).
Znajdź jaki host name przesyła klient do serwera DHCP?
Zadanie (1 pkt)
Podaj jak w systemie Linux (lub Windows) wymusić przesłanie komunikatu DHCP Release.
Ze względu na rosnącą liczbę urządzeń w sieci oraz ograniczoną liczbę adresów najczęściej stosowanym obecnie rozwiązaniem jest tzw. translacja adresów, czyli udostępnianie jednego adresu IP dla całej podsieci oraz zarządzanie komunikacją poprzez serwer lub ruter. Czasem mówimy w takim wypadku, że komputery w sieci loklanej znajdują się "za NAT-em".
Wyróżniamy trzy rodzaje NAT:
Statyczny NAT: Udostępnia odzorowanie 1-1 między adresami zewnętrznymi a adresami lokalnymi (czyli każdy komputer lokalny ma swoje IP, a serwer tylko pośredniczy w przekazywaniu pakietów).Dynamiczny NAT: Serwer dysponuje pulą adresów IP, które przyporządkowuje lokalnym jednostkom dynamiczne w odpowiedzi na ich żądania skierowane do sieci zewnętrznejPAT: Port address translation Najpopularniejsza, odwzorowuje wiele komputerów sieci lokalnej na jeden adres sieci IP poprzez kierowanie ruchu na określone porty.
Kiedy komputer z sieci lokalnej wysyła zapytanie do sieci, urządzenie NAT zmienia adres nadawcy pakietu (i czasem numer portu) na publiczny adres IP.
W momencie, gdy wraca do nas odpowiedź na ten pakiet urządzenie NAT przypisuje pakietowi odpowiedni adres lokalnego węzła. Odwzorowania między pakietami a adresami zapamietywane są w tablicy translacji NAT.
Na przykład: Klient o adresie IP 192.168.10.2 chce skomunikować się z serwerem o adresie 131.110.30.4. Klient ma ustawioną bramę domyślną (ujście komunikacje) na adres 192.168.1.1, czyli adres serwera obsługującego NAT. Zewnętrzny adres serwera to 131.110.5.1. Komunikacja między klientem a serwerem zachodzi w następujący sposób:
Klient przesyła pakiet do serwera. Nagłówek pakietu wskazuje, że pochodzi on z komputera o adresie 192.168.10.2 z portu 1074 i zmierza na port 80 adresu 131.110.30.4.Serwer (ruter) podmienia nagłówek przypisując adres nadawcy jako 131.110.5.1 oraz port na 1563. Adres docelowy pozostaje bez zmian. Serwer przesyła pakiet w sieci Internet do adresata.Adresat odbiera wiadomości i przesyła swoją odpowiedź. Nagłówek komunikatu mówi, że pochodzi on z portu 80 hosta o adresie 131.110.30.4 i zmierza na port 1563 adresu 131.110.5.1.Serwer (ruter) odbiera komunikat z sieci i sprawdza w tabeli NAT informacje na temat węzła sieci lokalnej, który zainicjował komunikację. Serwer podmienia nagłówek komunikatu ustwiając jako cel port 1074 oraz adres 192.168.10.5 i przesyła komunikat do klienta. Adres i port nadawcy pozostają bez zmian.
W przypadku komputera w sieci lokalnej nasz adres zewnętrzny możemy poznać korzystając z serwisów takich jak https://www.whatismyip.com/ lub (w Linux) np wykorzystując serwer DNS:
dig +short myip.opendns.com @resolver1.opendns.com
Sprawdż, czy znajdujesz się w sieci lokalnej.
Komputery w sieci zewnętrznej nie są w stanie ustanowić bezpośredniego połączenia z komputerem znajdującym się w sieci lokalnej. Dostęp do komputera w sieci lokalnej możemy uzyskać poprzez ustawienia przekazywania ruchu w ustawieniach rutera, lub w przypadku serwera na linuxie poprzez zmiany w iptables:
Zadanie (3 pkt)
W pliku Plik1 znajduje się log komunikacji pomiędzy klientem w sieci lokalnej a siecią zewnętrzną
w Plik2 znajduje się ta sama komunikacja podsłuchana ze strony sieci zewnętrznej (pośrodku znajduje się urządzenie NAT).
W programie Wireshark użyj filtra http w celu wyfiltrowania komunikatów związnych tylko z tą komunikacją.
Odpowiedz na pytania: Jaki jest adres IP klienta (lokalny)? Przeanalizuj komunikat HTTP GET wysłany o czasie 7.102967. Podaj numery portów i adresy pakietów nadawcy i odbiorcy w tym przypadku. Znajdź ten sam komunikat w logu po stronie sieci zewnętrznej, podaj jego czas otrzymania (uwaga może on być niższy niż czas powyżej gdyż czasy są mierzone niezależnie) Podaj numery portów i adresy pakietów nadawcy i odbiorcy po stronie sieci zewnętrznej.
Które z wymienionych elementów nagłówka IP uległy zmianie pomiędzy komunikacją w sieci lokalnej a w sieci zewnętrznej: Version, Header Lenght, Flags, Checksum.
Jeżeli któryś z nich zmienił wartość, wyjaśnij dlaczego tak się stało.
Zadanie (1 pkt)
Wykonaj w terminalu linuxowym
netstat -rn
Odpowiedz czym jest Gateway i do czego służy tablica routingu.
Odpowiedzi proszę przesłać przez stronę:
Wykorzystano materiały z:
http://www.tech-faq.com/nat-network-address-translation.html
"Computer Networking: A Top-Down Approach", 6th ed., J.F. Kurose and K.W. Ross
https://en.wikibooks.org/wiki/Communication_Networks/NAT_and_PAT_Protocols
https://it-szkola.edu.pl/upload/kuznia/technologie_akademii_Cisco/main.html
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch18_:_Configuring_DNS