Internet działa na kodzie. To dziki, chaotyczny świat spajany standardami, których ledwo zauważamy. W centrum tego wszystkiego znajduje się DNS.

Ludzie często mówią „serwer nazw domenowych”. To nie jest prawda. Skrót oznacza System nazw domenowych. Jest to protokół z pakietu TCP/IP. Jego zadanie jest proste, ale ambitne. Konwertuje nazwy czytelne dla człowieka, takie jak „howstuffworks.com” na adresy protokołu internetowego (IP). Komputery nie czytają słów. Czytają liczby. 70.42.251.42 – w ten sposób maszyna znajduje swojego przyjaciela w sieci.

Pomyśl o DNS jak o książce telefonicznej w Internecie. Bez tego musiałbyś zapamiętać ciągi liczb, aby odwiedzić dowolną witrynę internetową. Na pamięć poruszałbyś się po wirtualnych równinach i gęstych miastach danych. Obecnie istnieją setki milionów domen. Powodzenia w próbowaniu zapamiętania ich wszystkich.

Bez serwerów DNS przestrzeń internetowa zatrzymuje się. Ale skąd Twoje urządzenie wie, z którym serwerem się skontaktować? Gdy łączysz się z siecią Wi-Fi lub usługodawcą internetowym, router lub modem wysyła dane konfiguracyjne. Należą do nich serwery DNS, których urządzenie musi używać do rozpoznawania adresów.

Omówiliśmy podstawy. Przejdźmy teraz do mechanizmów. Mianowicie, jak zorganizowane są adresy IP i dlaczego jest to ważne przy rozpoznawaniu nazw.

Zrozumienie struktury adresów IP i procesu rozwiązywania problemów

Serwer DNS tłumaczy nazwę domeny na adres IP. Brzmi prosto. W rzeczywistości nie jest to prawdą.

  • W użyciu są miliardy adresów IP.
  • Większość maszyn ma nazwy zrozumiałe dla człowieka.
  • Serwery DNS przetwarzają jednocześnie miliardy zapytań.
  • Miliony domen zmieniają się każdego dnia.

Aby poradzić sobie z tym obciążeniem, DNS opiera się na ścisłej wydajności. Standardami zarządza Internet Assigned Numbers Authority (IANA). Każde urządzenie potrzebuje unikalnego adresu w formacie IPv4 lub IPv6.

Oto jak je rozróżnić:

  • IPv4 : Cztery liczby oddzielone kropkami. Przykład: 70.74.251.42.
  • IPv6 : Osiem grup szesnastkowych oddzielonych dwukropkami. Przykład: 2001:0cb8:85a3:0000:0000:8a2e:0370:7334.

IPv6 to nowszy standard. Na razie pozostaniemy przy powszechnym IPv4.

Każda liczba w adresie IPv4 jest oktetem. Jest to 8-bitowa liczba binarna. Weźmy liczbę 42. W systemie binarnym jest to 00101010. Każda cyfra odpowiada potędze dwójki. Dodaj wartości bitów, które są włączone. „2 + 8 + 32 = 42”.

Dla każdego oktetu istnieje łącznie 256 możliwych wartości. Od zera do 255.

Niektóre adresy są zastrzeżone. IANA przydziela im konkretne zadania. 127.0.0.1 to adres hosta lokalnego (pętla zwrotna). Identyfikuje komputer, którego używasz. Komunikowanie się z 127.0.0.1 to po prostu komunikowanie się z samym sobą.

Serwery internetowe potrzebują stabilności. Używają statycznych adresów IP. Do interfejsu sieciowego tego systemu przypisany jest zawsze ten sam adres. Aby to osiągnąć, adres IP jest powiązany z adresem kontroli dostępu do multimediów (MAC). Adres MAC jest wpisany w urządzeniu przez producenta. On jest wyjątkowy. Każdy interfejs przewodowy lub bezprzewodowy ma taki adres.

Przyjrzyjmy się teraz drugiej stronie równania – nazwom domen. Ale najpierw, gdzie ukrywa się Twój własny adres IP?

Jak znaleźć adres IP na dowolnym urządzeniu

Twój adres zmienia się okresowo, chyba że ustawiłeś statyczny adres IP. Jest to rzadkość w przypadku użytkowników domowych. Oto, jak go teraz znaleźć.

  • Windows : Otwórz wiersz poleceń. Wpisz „ipconfig”. Naciśnij Enter. Poszukaj adresu IPv4.
  • Mac : Przejdź do Preferencji systemowych. Kliknij opcję Sieć. Wybierz aktywne połączenie (zielona kropka). Kliknij „Zaawansowane”. Przejdź do zakładki TCP/IP.
  • Linux lub UNIX : Otwórz terminal taki jak XTERM lub iTerm. Wpisz „ifconfig”. Poszukaj adresu „inet”.
  • Smartfony : Sprawdź ustawienia sieciowe w systemie operacyjnym. To zależy od telefonu i wersji systemu operacyjnego.

Jeśli jesteś w sieci domowej, prawdopodobnie zobaczysz „192.168.x.x”, „172.16.x.x” lub „10.x.x.x”. Litera x jest liczbą z zakresu od 0 do 255. Są to zastrzeżone adresy prywatne. Twój router używa ich do łączenia Cię z szerszym Internetem.

To jest strona lokalna. Następnym krokiem jest zrozumienie samych nazw domen.

Jak naprawdę działają nazwy domen

Zapamiętywanie adresów IP to przegrana bitwa. Twój mózg nie jest zaprojektowany do przechowywania losowych ciągów liczb, ale kocha słowa. Oto cały sens nazw domen. Masz już w głowie setki tych nazw.

  • google.com to gigant, z którego korzystają wszyscy
  • mit.edu – ogranicza się do obszaru edukacji
  • bbc.co.uk – zagnieżdżona struktura kodów krajów

Widzisz kropki. Znacie ten wzór. Ostatnia część tego adresu to domena najwyższego poziomu (TLD). IANA zarządza nimi w bazie danych strefy głównej. Teraz jest ich już ponad 1000. Większość z nich jest otwarta dla każdego. Niektóre są ograniczone.

  • COM, NET, ORG – każdy może je zarejestrować. Pierwotnie były przeznaczone do użytku komercyjnego, sieci i organizacji non-profit. Teraz? Tylko znaki.
  • EDU, MIL, GOV – ograniczona. Nie możesz po prostu kupić adresu .edu, chyba że jesteś instytucją edukacyjną.
  • .UK, .US, .RU – kody krajów. Zarządzane przez władze lokalne.

Dodanie słów przed TLD tworzy hierarchię. Każda kropka oddziela poziom. „howstuffworks” jest wymieniona jako domena drugiego poziomu w domenie .com. Ta struktura wskazuje na konkretne serwery.

Weź bbc.co.uk. To nie jest tylko domena. Jest to subdomena w domenie .co, która sama w sobie znajduje się w domenie .uk. Jest to zagnieżdżony system plików dla Internetu.

Słowo po lewej stronie? To jest nazwa hosta. Zwykle jest to „www” lub „mail”. Informuje system, z którym komputerem chcesz się połączyć. Pojedyncza domena może obsługiwać miliony unikalnych nazw hostów. Dopóki nie kolidują ze sobą, wszystko jest w porządku.

Następnie jest przedrostek. HTTP. Protokół przesyłania hipertekstu. Jest to uzgadnianie pomiędzy Twoją przeglądarką a serwerem. Ale teraz będziesz go rzadko widywać. Zobaczysz HTTPS. „S” oznacza bezpieczeństwo. Szyfrowanie włączone. Numer Twojej karty kredytowej pozostaje poufny. Jeśli nie korzystasz z protokołu HTTPS, przesyłasz dane w otwartym kanale.

Rejestrując domenę, musisz wskazać, dokąd ona wskazuje. W szczególności potrzebujesz serwerów nazw. Te serwery DNS mają uprawnienia do Twojej domeny. Wiedzą, gdzie jest „www.yoursite.com”. Zwykle zajmuje się tym Twój dostawca usług hostingowych. Mają już przygotowaną infrastrukturę DNS.

Jak serwery DNS kierują ruch

To tutaj dzieje się magia. Albo ból głowy zaczyna się, gdy coś się zepsuje.

DNS nie jest jednym dużym komputerem. Jest to system rozproszony. Hierarchia serwerów współpracujących ze sobą. Jeśli jeden ulegnie awarii, pozostali przejmują ładunek. Został zaprojektowany z myślą o stabilności. Ale to też jest skomplikowane.

Po wprowadzeniu adresu URL komputer nie tylko zgaduje adres IP. pyta.

Najpierw sprawdza własną pamięć podręczną. Czy odwiedził tę stronę wczoraj? Świetnie. Zna już adres IP. Nie ma potrzeby przeszkadzać nikomu innemu. Szybkość ma znaczenie. Opóźnienie zabija doświadczenie użytkownika.

Jeśli pamięć podręczna jest pusta, kontaktuje się z resolwerem. Zwykle zapewnia to Twój dostawca usług internetowych lub usługa publiczna, taka jak Cloudflare lub Google. Główną pracę wykonuje resolwer. Nie ma jeszcze odpowiedzi, ale wie, gdzie szukać.

Zaczyna od góry. Serwery główne. Na całym świecie istnieje 13 klastrów logicznych. Nie znają adresu IP Twojej witryny. Wiedzą, kto prowadzi .com. Kierują one funkcję rozpoznawania nazw do serwerów TLD .com.

Serwery TLD wiedzą, kto jest właścicielem Twojej konkretnej domeny. Kierują one funkcję rozpoznawania nazw do twoich autorytatywnych serwerów nazw. Są to te, które skonfigurowałeś podczas rejestracji domeny. Prowadzą faktyczny rejestr. Zapisz A. Adres IP.

Mechanizm rozpoznawania nazw otrzymuje ten adres IP. Wysyła go z powrotem do komputera. Twoja przeglądarka łączy się. Strona się ładuje.

Wszystko to dzieje się w milisekundach. Nie widzisz uścisków dłoni. Nie widzisz żądań przeskakujących między serwerami głównymi, TLD i organami władzy. Po prostu widzisz stronę.

Co jednak w sytuacji, gdy na którymkolwiek etapie wystąpi awaria? Otrzymasz błąd. „DNS_PROBE_FINISHED_NO_INTERNET.” Denerwuje. Ponieważ problem nie leży w Twoim połączeniu. Problem leży w książce telefonicznej.

To właśnie rozproszona natura powstrzymuje Internet przed upadkiem. Nie ma jednego punktu awarii. Oznacza to jednak również, że łatwo jest popełnić błąd w konfiguracji. Jedna literówka w ustawieniach DNS i Twoja witryna zniknęła. Nie wyłącza się. Po prostu staje się nie do znalezienia.

System opiera się na dokładności. I redundancja. Jeśli Twój serwer autorytatywny ulegnie awarii, ale masz skonfigurowane serwery dodatkowe, ruch będzie nadal płynący. W przeciwnym razie? Cisza.

Zrozumienie tego przepływu pomaga, gdy coś się psuje. To nie magia. To jest tabela przeglądowa. Bardzo duża, bardzo rozproszona tabela przeglądowa.

Co faktycznie robi serwer DNS w Twojej sieci

Skala jest niesamowita. Serwery DNS przetwarzają więcej zapytań niż jakakolwiek inna baza danych na świecie. Każdego dnia przeprowadzają miliardy wyszukiwań, jednocześnie akceptując aktualizacje od milionów użytkowników. A jednak pomimo tego, że są one rozproszone na milionach maszyn i kontrolowane przez niezliczone zespoły, system działa jak pojedynczy mózg.

To cud inżynierii rozproszonej.

Większość ludzi postrzega DNS jako czarną skrzynkę. Oddajesz kontrolę działowi IT i liczysz na najlepsze. Ale nie musisz być inżynierem sieciowym, aby skutecznie zarządzać. Wystarczy zrozumieć opis zadania.

Nie każdy serwer DNS pełni tę samą funkcję. Właściwie są dwie główne role. Zrozumienie, który z nich ma zastosowanie do Twojej konfiguracji, zmienia sposób podejścia do rozwiązywania problemów i konfiguracji.

Narzędzie rozpoznawania pamięci podręcznej

Serwer ten znajduje się w Twojej sieci lokalnej. Jego głównym zadaniem nie jest wiedzieć wszystkiego, ale pamiętać o tym, o co często prosi. Przechowuje małą lokalną bazę danych zawierającą nazwy domen i adresy IP, z których najczęściej korzysta Twoja sieć.

W pozostałych przypadkach deleguje prośby. W celu uzyskania odpowiedzi kontaktuje się z innymi serwerami DNS w Internecie. Przyspiesza to przeglądanie Internetu wszystkim użytkownikom w tej sieci. Nie musisz kontaktować się z serwerem głównym na innym kontynencie za każdym razem, gdy otwierasz nową kartę. Uzyskujesz dostęp do lokalnej pamięci podręcznej.

Autorytatywny serwer nazw

Serwer ten przechowuje rekord główny. Kojarzy adresy IP ze wszystkimi hostami i subdomenami, za które jest odpowiedzialny.

Nie ma delegacji dla stref niestandardowych. Jeśli posiadasz domenę, ten serwer jest źródłem prawdy. Informuje resztę Internetu o dokładnej lokalizacji Twojej witryny, serwera pocztowego lub punktu końcowego interfejsu API.

Jeden służy jako skrót, drugi jako źródło danych.

Zamieszanie między nimi jest początkiem większości problemów. Nie możesz buforować rekordów, za które nie jesteś odpowiedzialny, ani nie możesz być autorytetem w domenie, którą nie zarządzasz.

Dlaczego to rozróżnienie jest ważne? Ponieważ ustawienia bezpieczeństwa i wydajności całkowicie zależą od roli, jaką pełni Twój serwer. Mechanizm rozpoznawania nazw wymaga silnych zasad buforowania. Serwer autorytatywny wymaga ścisłego zarządzania strefami.

Którego więc używasz? A może używasz obu? W małych konfiguracjach często zdarza się, że jedna maszyna wykonuje oba zadania. To jest w porządku. Pamiętaj tylko, że są to logicznie odrębne funkcje.

Zrozumienie tej separacji sprawia, że ​​reszta zarządzania DNS nie przypomina magii, a bardziej logikę.

Jak Twój dostawca usług internetowych obsługuje zapytania DNS

Twój dostawca usług internetowych zapewnia pierwszą linię obrony. Albo ataki. W zależności od tego, co myślisz o jego zwyczajach ograniczania prędkości. Kiedy się łączysz, DHCP automatycznie podaje adres serwera DNS Twojego dostawcy. Nie prosisz o to. Po prostu się pojawia.

Serwer dostawcy działa jak leniwy bibliotekarz.

  • Sprawdza własne półki. Jeśli ma adres IP dla tej domeny, przekazuje go Tobie. Gotowy.
  • Jeśli półka jest pusta, łączy się z innym serwerem. Może wysyłać zapytania do trzech lub czterech serwerów sekwencyjnie.
  • Pamięta odpowiedź. Buforowanie zapewnia szybkie przetwarzanie przyszłych żądań.
  • Jeśli po dokładnym wyszukiwaniu nie znajdzie tego, czego szuka, zwraca błąd. „Nie znaleziono domeny.”

Całkiem proste. Ale to tylko strona wnioskodawcy.

Kto faktycznie jest właścicielem danych domeny

Druga grupa serwerów jest ważniejsza, jeśli publikujesz jakąkolwiek treść. Są to serwery powiązane z Twoim dostawcą hostingu lub poczty e-mail. Nie musisz być administratorem serwera, aby z nich korzystać. Panele sterowania hostingiem pozwalają na konfigurację jednym kliknięciem.

Konkretny serwer przechowujący wiarygodne dane Twojej domeny nazywa się Sign of Authority (SOA). To jest główne. Kiedy SOA aktualizuje rekord, zmiana jest propagowana. Jest przekazywany do innych serwerów DNS, które z kolei przekazują go innym, rozprzestrzeniając się po Internecie niczym plotka.

SOA jest jedynym źródłem prawdy. Wszystko inne to tylko kopia.

Serwery główne i hierarchia

Na górze znajdują się główne serwery nazw. Obsługują domeny najwyższego poziomu, takie jak .com czy .org. Są ich setki. Rzadko komunikujesz się z nimi bezpośrednio. Twój dostawca usług internetowych zwykle zatrzymuje się na poziomie domeny najwyższego poziomu (TLD).

Ale co, jeśli łańcuch się zerwie? Co się stanie, jeśli dostawca odmówi wyszukiwania? System może powrócić do serwera głównego. To ostateczność. Siatka bezpieczeństwa. Pomaga znaleźć właściwą SOA w przypadku utraty ścieżki.

Konfigurowanie uprawnień domeny

Teraz widzisz sieć. Jak ona jest połączona? Dlaczego jest szybka? Dlaczego czasami zawodzi?

Następnym krokiem jest ustawienie się w roli autorytetu. Nie czytasz już mapy. Narysuj to.

Konfigurowanie rekordów domeny

Wybrałeś imię. To nic nie kosztuje. Zarejestrowałeś to. Co dalej?

Musisz dokładnie poinformować Internet, gdzie znajduje się ta domena. Jeśli Twój rejestrator różni się od Twojego dostawcy usług hostingowych, musisz wypełnić tę lukę. Wskaż domenę na prawidłowy adres IP lub nazwę hosta. Dzieje się to za pomocą rekordów DNS.

Traktuj rekordy DNS jak instrukcje. Każdy z nich wykonuje określone zadanie. Są one przechowywane w pliku strefy na serwerze DNS. Jeśli prowadzisz własny serwer, prawdopodobnie edytujesz ten plik ręcznie w edytorze tekstu. Większość nowoczesnych rejestratorów udostępnia interfejs sieciowy. To łatwiejsze. Zamiast wpisywać kod, po prostu naciskasz przyciski.

Oto typy postów, z których będziesz faktycznie korzystać.

Rekordy gospodarzy (A)
To jest wymagane minimum. Rekord A odwzorowuje nazwę hosta na adres IP. Bez rekordu A nie ma strony internetowej. Jest to podstawowa relacja pomiędzy twojadomena.com a numerem serwera 192.0.2.1.

Rekordy nazw kanonicznych (CNAME)
To jest pseudonim. Przydomek. CNAME wskazuje jedną nazwę na drugą. Jeśli wpiszesz alias, zostanie on automatycznie przekierowany na serwer zdefiniowany w rekordzie A. Czy chcesz, aby „www” wskazywało Twoją główną domenę? Użyj rekordu CNAME.

Rekordy poczty elektronicznej (MX)
Odpowiada za pocztę elektroniczną. Informuje świat, który serwer akceptuje pocztę w Twojej domenie. Nie musisz hostować własnego serwera pocztowego. Większość ludzi korzysta z Google lub Microsoft. Tworzysz rekord MX wskazujący na „ghs.google.com” lub podobny adres. Twoja domena zachowuje swoją tożsamość, ale Gmail wykonuje ciężką pracę.

Rekordy serwera nazw (NS)
Deklarują władzę. Rekordy NS zawierają serwery nazw odpowiedzialne za Twoją strefę. Kiedy inne serwery DNS wyszukują Twoją domenę, najpierw sprawdzają te rekordy NS. Informują sieć globalną, kto ma ostatnie słowo w sprawie danych Twojej domeny.

Rozpoczęcie uprawnień (SOA)
Główny wpis. Znajduje się na początku każdego pliku strefy. Określa główny serwer nazw i inne dane administracyjne. Jeśli korzystasz z rejestratora DNS, nie musisz z tym pracować. Jeśli sam hostujesz serwer, musisz to zrozumieć.

Rekord SOA jest jedynym źródłem prawdy dla strefy DNS Twojej domeny.

Oto jak wygląda surowy plik strefy dla osób bezpośrednio edytujących tekst. Środkowa kolumna pokazuje typ wpisu. Symbol @ oznacza „odnosi się to do domeny głównej, chyba że zaznaczono inaczej”.

Większość użytkowników interesują tylko rekordy MX i CNAME. Użyj MX, aby kierować pocztę do Google Workspace. Użyj rekordu CNAME do „parkowania” subdomen. Być może masz serwer gier na osobnym adresie IP. Wskaż na niego games.example.com, używając rekordu CNAME. Tylko.

Jak zmieniają się zabezpieczenia DNS

DNS nie jest statyczny. On się zmienia.

Pod koniec 2018 r. ICANN wdrożył nowe funkcje bezpieczeństwa. Zaktualizowali klucze kryptograficzne dla DNSSEC. W szczególności klucz podpisywania klucza strefy głównej (KSK). Było to ważne wydarzenie dla profesjonalistów z branży technologicznej.

Dlaczego? Internet rośnie. Internet rzeczy codziennie dodaje miliony nowych urządzeń. Więcej urządzeń oznacza więcej powierzchni ataku. Hakerzy uwielbiają DNS. Porywają go, aby kraść dane lub zakłócać usługi.

Zatruwanie DNS i ataki typu „odmowa usługi” to realne zagrożenia. Bronić się przed nimi wymaga stałego informowania. Jeśli zarządzasz DNS, nie możesz zignorować tych aktualizacji. Klucze zmieniły się nie bez powodu. Bezpieczeństwo nie jest opcjonalne, gdy internetowa książka telefoniczna może zostać nadpisana przez osobę atakującą.

Często zadawane pytania dotyczące DNS

Co to jest DNS?
To jest system nazw domen. Internetowa książka telefoniczna. Łączy adresy URL czytelne dla człowieka z adresami IP czytelnymi dla maszyn.

Co robi DNS?
Dopasowuje adres URL do konkretnego adresu IP witryny internetowej. Bez tego musiałbyś zapamiętywać ciągi liczb dla każdej odwiedzanej witryny.

Czy mogę używać wersji 8.8.8.8?
Tak. To jest publiczny DNS Google. Google to wspiera. Każdy może z niego skorzystać. Często jest szybszy niż domyślny DNS Twojego dostawcy usług internetowych.

Czy zmiana DNS jest bezpieczna?
Tak. Przejście na OpenDNS lub Google DNS jest bezpieczne. Jest to odwracalne. Nie uszkodzi twojego komputera ani sieci. Wystarczy zmienić katalog, w którym żądasz adresów.

Co oznacza DNS w moim telefonie?
Każde połączenie internetowe korzysta z DNS. Twój telefon nie jest wyjątkiem. Możesz skonfigurować prywatny DNS na Androidzie. Wybierz Ustawienia > Sieć i Internet > Zaawansowane > Prywatny DNS. Wprowadź nazwę hosta preferowanej usługi DNS. Kliknij „Zapisz”. Spowoduje to kierowanie zapytań przez tego dostawcę, a nie przez domyślny DNS operatora.

Dodatkowe zasoby

Zawsze można się czegoś nowego nauczyć. DNS sięga głębiej niż tylko określenie domeny. Jeśli chcesz zagłębić się w architekturę, poszukaj tutoriali na temat struktury plików stref lub implementacji DNSSEC. Podstawy umieszczenia Twojej witryny w internecie. Szczegóły zapewniają bezpieczeństwo.