Jak działa DNS?

W dzieciństwie (IT-owym) dowiedzieliśmy się, że komputer rozumie tylko binarne (0 i 1). Następnie, kiedy wpiszemy „www.facebook.com” w pasku wyszukiwania, jak komputery to rozumieją? Odpowiedź: DNS to umożliwia. W tym wpisie chciałbym rozwinąć podstawową wiedzę na temat DNS, jak to działa i omówimy niektóre polecenia DNS dla terminala. Zakładamy, że znasz podstawowe terminy, takie jak adresy IP, klient, serwer i nazwy domen . A więc zacznijmy !

Czym jest DNS?

Komputery i inne urządzenia używają adresów IP do wzajemnej identyfikacji w Internecie. DNS (Domain Name System) to metoda, która konwertuje czytelny dla komputera ADRES IP na czytelne dla człowieka zapytanie wyszukiwania (nazwy stron internetowych, takie jak www.microsoft.com) i odwrotnie. Pomaga naszej przeglądarce (klientowi) znaleźć serwer (jak serwer www Apache).
W wyniku niedawnego zamknięcia Facebooka w rezultacie serwery DNS Facebooka stały się nieosiągalne, mimo że nadal działały. Uniemożliwiło to reszcie Internetu znalezienie ich serwerów.
Widzisz więc, jak ważny jest DNS…

The DNS Glossary (Słownik DNS)

W tym miejscu omówimy popularne terminy i polecenia używane podczas pracy z systemem DNS. Z kilkoma dodatkowymi informacjami.

DNS Query (Zapytanie DNS)

Znany również jako żądanie DNS (DNS Request), jest żądaniem informacji wysyłanych z komputera użytkownika (klienta DNS) do serwera DNS.

Budowa adresu strony www

Name Resolution (Rozpoznawanie nazw)

Proces uzyskiwania adresu IP z nazwy domeny. Serwery DNS, posiadają tablice, które są w stanie w ułamkach sekundy, przekazywać zapytania do kolejnych poziomów drzewa, celem dotarcia do właściwej strony www.

DNS Zones (Strefy DNS)

Strefa DNS to część przestrzeni nazw DNS zarządzana przez określoną organizację lub administratora. Cała strefa DNS zawiera pliki strefy (zawierające wszystkie rekordy DNS).

Strefy DNS

DNS Records (Rekordy DNS)

Znane również jako Pliki stref. Są to pliki przechowywane na serwerze DNS. Pomaga w dostarczaniu żądanych informacji.

  • Rekord A – zawiera adres IPV4 (np. 192.168.1.1).
  • Rekord AAAA – znany również jako quad A zawiera adres IPV6.
  • Rekord CNAME (nazwa kanoniczna) – przekierowuje ruch z jednej domeny do drugiej. Na przykład www.azure.com wskazuje na microsoft.azure.com i ostatecznie microsoft.azure.com jest rozwiązany.
  • Rekord MX (Mail Exchange) – Przekierowuje do serwera poczty e-mail firmy.
  • Rekord TXT (tekstowy) – umożliwia administratorowi przechowywanie notatek tekstowych w rekordzie. Rekordy te są również często używane do zabezpieczania poczty e-mail.
  • SOA (Start Of Authority) – przechowuje informacje administratora dotyczące domeny (takie jak właściciel, jego identyfikator e-mail).
  • PTR (wskaźnik) – wyszukiwanie wsteczne (używa adresu IP w celu wyszukania nazwy domeny).
  • Rekord SRV (usługa) – określa hosta i port dla określonej usługi, takiej jak Voice Over IP (VoIP).

Azure DNS używa rekordów TXT i MX do weryfikacji domeny.

DNS Resolver (Przelicznik DNS)

Znany również jako „Rekursor”, przelicznik DNS jest typem serwera, który zarządza translacją „nazwy na adres”. Rekursor może być traktowany jako bibliotekarz, który jest proszony o znalezienie określonej książki gdzieś w bibliotece. Rekursor DNS to serwer przeznaczony do odbierania zapytań z komputerów klienckich za pośrednictwem aplikacji, takich jak przeglądarki internetowe. Zazwyczaj rekursor jest wtedy odpowiedzialny za wykonanie dodatkowych żądań w celu zaspokojenia zapytania DNS klienta.

Root Server (Serwer główny)

Serwer główny jest pierwszym krokiem w tłumaczeniu (rozwiązywaniu) nazw hostów czytelnych dla człowieka na adresy IP. Można go traktować jak indeks w bibliotece, który wskazuje różne półki z książkami – zazwyczaj służy jako odniesienie do innych, bardziej szczegółowych lokalizacji.

The top level domain server (TLD) (Serwer domeny najwyższego poziomu (TLD)

Serwer domeny najwyższego poziomu (TLD) można traktować jako specyficzny stojak na książki w bibliotece. Ten serwer nazw jest kolejnym krokiem w poszukiwaniu określonego adresu IP i obsługuje ostatnią część nazwy hosta (w google.com serwer TLD to „com”).

Name Server (Serwer nazw)

Ten końcowy serwer nazw może być traktowany jako słownik na stojaku z książkami, w którym konkretna nazwa może zostać przetłumaczona na jej definicję. Autorytatywny serwer nazw jest ostatnim przystankiem w zapytaniu serwera nazw. Jeśli autorytatywny serwer nazw ma dostęp do żądanego rekordu, zwróci adres IP żądanej nazwy hosta z powrotem do Rekursora DNS (bibliotekarza), który wysłał początkowe żądanie.

DNS Round Robin

Metoda równoważenia obciążenia w DNS. Na przykład, jeśli domena ma 3 serwery nazw (N1, N2,N3) Zapytanie 1 skierowane do N1, Zapytanie 2 skierowane do N2 w celu równoważenia ruchu.

W jaki sposób działa DNS?

Znajdowanie adresu IP z zapytania DNS jest znane jako rozwiązywanie nazw DNS. Składa się na to kilka kroków:

  • Po tym, jak użytkownik wyszuka dowolny adres URL (np. www.google.com), najpierw przeglądarka i system operacyjny sprawdzają pamięć podręczną (cache).
  • Gdy obaj nie mogą znaleźć żądanego adresu IP, żądanie jest przekazywane do zapytania DNS (z ustawioną flagą rekurencyjną) poza siecią lokalną do rekursywnego DNS wewnątrz dostawcy usług internetowych (ISP).
  • Resolver najpierw sprawdza swoją pamięć podręczną. Serwerem przeliczeniowym jest zwykle Twój ISP (dostawca usług internetowych). Może znać adres IP lub nie. Wszystkie resolwery muszą wiedzieć jedno: gdzie zlokalizowany jest serwer główny.
  • Serwer główny wie, gdzie zlokalizować serwer TLD .com. TLD oznacza domenę najwyższego poziomu
  • Strona .com znalazła autorytatywne serwery nazw dla domeny google.com.
  • Na koniec adres IP serwera jest przekazywany do przelicznika. Następnie udostępnia go przeglądarce. Buforując go również w celu szybkiego rozwiązania problemu następnym razem.
  • Na końcu treść jest dostarczana użytkownikowi.

Po zakupie domeny rejestrator domen (np. home.pl) rezerwuje nazwę i przekazuje rejestrowi TLD autorytatywne serwery nazw.

Komendy DNS

Dig, narzędzie GNU/Linux, które jest w stanie pokazać wiele informacji związwanych z serwerami DNS (również obcymi).

Dig

NSLOOKUP (NameServer Lookup) – kolejne narzędzie do pracy z DNS z poziomu systemów Windows. Jest dostępne zarówno z poziomu cmd jak i PowerShell.

Nslookup

Pozostałe informacje dotyczące DNS

Serwery DNS działają na porcie 53, ich głównym protokołem jest UDP, jednak mogą działać również na TCP.

DNS to usługa warstwy aplikacji, która używa protokołu UDP do szybszej obsługi. Według Microsoft Docs, DNS używa protokołu TCP do transferu strefy i UDP do nazwy, a także wysyła zapytania albo zwykłe (podstawowe), albo zwrotne. UDP może być używany do wymiany małych informacji, podczas gdy TCP musi być używany do wymiany informacji większych niż 512 bajtów. Ponieważ UDP nie może przesyłać dużych pakietów. Pakiety UDP nie mogą być większe niż 512 bajtów. Tak więc każda aplikacja wymagająca przesyłania danych o rozmiarze większym niż 512 bajtów, wymaga użycia protokołu TCP.

Typy serwerów DNS

Istnieją dwa rodzaje usług DNS:

  • Autorytatywne –  przechowują konfiguracje domen (czyli np. ns1.beitadmin.pl oraz ns2.beitadmin.pl). Odpowiadają jedynie na zapytania innych serwerów DNS – nie odpowiadają na zapytania tzw. resolverów (programów, które rozwiązują dla nas nazwę domeny).
  • Rekursywne – ich zadaniem jest znaleźć adres IP dla danej domeny. Takie właśnie typy serwerów zapisane są w konfiguracji sieci komputerów.

Co to jest buforowanie DNS? Gdzie występuje buforowanie DNS?

Celem buforowania jest tymczasowe przechowywanie danych w lokalizacji, co skutkuje poprawą wydajności i niezawodności żądań danych. skrócenie czasu ładowania i zmniejszenie przepustowości/zużycia procesora. Z których każdy będzie przechowywać rekordy DNS przez określony czas określony przez czas życia (TTL).

Czy DNS jest bezpieczny?

Komputery nie są wystarczająco inteligentne. Nasze urządzenia będą na ślepo wysyłać ruch na adres IP otrzymany jako odpowiedź. Ataki te mogą przekierować ruch przychodzący z witryny do fałszywej kopii witryny, zbierając poufne informacje o użytkowniku. Dlatego mamy do tego celu dedykowany protokół DNSSEC (Domain Name System Security Extensions).

Podsumowanie

Dzisiejszy coraz bardziej cyfrowy świat, wymaga zastosowania usług, które muszą gwarantować wydajność oraz bezpieczeństwo. Oczywiście zdarzają się wpadki (jak ta ostatnia facebook’a). Dlatego tak istotne jest odpowiednie zaprojektowanie infrastuktury IT, aby w razie problemów, zadziałały systemy bezpieczeństwa czy nadmiarowości.


Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT