0Pricing
Linux Server Deployment & SSH Mastery · Lekcja

Konfiguracja i rozwiązywanie problemów z DNS

Poznają Państwo sposób, w jaki serwery Linux rozwiązują nazwy hostów na adresy IP: skonfigurują resolvery, edytują /etc/hosts oraz użyją dig, nslookup i host do diagnozowania problemów z DNS, które przerywają łączność nawet wtedy, gdy sieć działa prawidłowo.

Konfiguracja i rozwiązywanie problemów z DNS to bezpłatna lekcja Linux Server Deployment & SSH Mastery na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Server Deployment & SSH Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.

Dlaczego DNS ma znaczenie na serwerze

Serwer może mieć idealnie skonfigurowaną sieć i zaporę, a mimo to nie być w stanie połączyć się ze światem zewnętrznym, jeśli nie potrafi rozpoznawać nazw. DNS tłumaczy przyjazne dla ludzi nazwy hostów, takie jak example.com, na adresy IP.

Znajomość sposobu rozpoznawania nazw — oraz metod jego diagnozowania — jest niezbędną umiejętnością sieciową.

Ścieżka rozpoznawania nazw

Gdy program potrzebuje adresu IP dla danej nazwy, Linux sprawdza źródła w określonej kolejności, zazwyczaj:

  • Lokalny plik /etc/hosts
  • Skonfigurowane serwery DNS (resolvery)

Kolejność określa wpis hosts: w pliku /etc/nsswitch.conf.

grep hosts /etc/nsswitch.conf
# hosts: files dns

Plik /etc/hosts

/etc/hosts lokalnie mapuje nazwy na adresy IP, z pominięciem DNS. Doskonale nadaje się do testów, obsługi wewnętrznych nazw hostów lub przypisania domeny do konkretnego adresu IP.

Każdy wiersz zawiera adres IP, a po nim jedną lub więcej nazw.

127.0.0.1   localhost
192.168.1.50  db.internal db

Gdzie konfiguruje się resolvery

Klasycznym plikiem konfiguracyjnym jest /etc/resolv.conf, który zawiera listę serwerów nazw. We współczesnych systemach jest on często zarządzany przez systemd-resolved lub NetworkManager, dlatego bezpośrednia edycja może nie przynieść trwałego efektu.

Przed wprowadzeniem zmian sprawdź, jaka konfiguracja jest faktycznie używana.

cat /etc/resolv.conf
resolvectl status

Ustawianie serwera DNS

W systemie korzystającym z systemd-resolved ustaw DNS dla konkretnego interfejsu zamiast edytować resolv.conf. Na serwerach opartych na Netplan konfigurację definiuje się w pliku YAML.

Ten przykład ustawia publiczne resolvery dla interfejsu.

sudo resolvectl dns eth0 1.1.1.1 8.8.8.8
resolvectl dns eth0

Wyszukiwanie rekordów za pomocą dig

dig to najbardziej rozbudowane narzędzie do odpytywania DNS. Wyświetla odpowiedź oraz metadane zapytania.

Opcja +short ogranicza wynik do samej odpowiedzi — idealnie sprawdza się w skryptach.

dig example.com
dig +short example.com

Odpytywanie o określone typy rekordów

DNS przechowuje wiele typów rekordów. Określ typ, aby sprawdzić pocztę, serwery nazw lub aliasy.

  • A — adres IPv4
  • AAAA — adres IPv6
  • MX — serwery pocztowe
  • NS — serwery nazw
  • CNAME — alias
dig example.com MX +short
dig example.com NS +short

nslookup i host

nslookup i host to prostsze alternatywy dla dig. Przydają się do szybkich kontroli oraz wyszukiwania odwrotnego (zamiany adresu IP na nazwę).

Wyszukiwanie odwrotne odpyta o rekord PTR przypisany do adresu.

host example.com
nslookup example.com
dig -x 8.8.8.8 +short

Odpytywanie konkretnego serwera

Aby sprawdzić, czy problem dotyczy konkretnego resolvera, skieruj zapytanie do określonego serwera za pomocą składni @. Jeśli publiczny resolver działa, a Twój nie, problem leży w konfiguracji DNS.

dig @1.1.1.1 example.com +short
dig @8.8.8.8 example.com +short

Procedura diagnozowania problemów

Gdy nazwa nie zostaje rozpoznana, sprawdzaj kolejne warstwy:

  • Czy możesz pingować adres IP bezpośrednio? (wyklucza problemy z siecią)
  • Czy działa dig @1.1.1.1 name? (wyklucza problem z samą nazwą)
  • Czy działa dig name z użyciem domyślnego resolvera? (pozwala zawęzić problem do konfiguracji resolvera)
  • Czy nieaktualny wpis w /etc/hosts nie nadpisuje wyniku?
ping -c1 1.1.1.1
dig @1.1.1.1 example.com +short
dig example.com +short

Najlepsze praktyki

Zadbaj o niezawodne rozpoznawanie nazw:

  • Używaj co najmniej dwóch resolverów, aby zapewnić nadmiarowość
  • Nie edytuj ręcznie resolv.conf, jeśli jest zarządzany automatycznie
  • Używaj /etc/hosts do testów, ale usuwaj nieaktualne wpisy
  • W skryptach preferuj dig +short, aby uzyskać przejrzyste dane wyjściowe

Szybkie sprawdzenie

Sprawdź swoją wiedzę na temat diagnozowania problemów z DNS.

Podsumowanie

Potrafisz teraz konfigurować i diagnozować DNS na serwerze:

  • Kolejność rozpoznawania nazw za pomocą /etc/nsswitch.conf i /etc/hosts
  • Resolvery w resolv.conf / systemd-resolved
  • Odpytywanie za pomocą dig, host i nslookup, w tym o określone typy rekordów i do konkretnych serwerów
  • Warstwowa procedura diagnozowania problemów

Uzupełnia to umiejętności związane z siecią i zaporą o warstwę nazewnictwa.

Często zadawane pytania

Czy lekcja „Konfiguracja i rozwiązywanie problemów z DNS” jest bezpłatna?

Tak — pełny tekst „Konfiguracja i rozwiązywanie problemów z DNS” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Server Deployment & SSH Mastery, przejdź na CoddyKit PRO. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.

Co nauczysz się w „Konfiguracja i rozwiązywanie problemów z DNS”?

Poznają Państwo sposób, w jaki serwery Linux rozwiązują nazwy hostów na adresy IP: skonfigurują resolvery, edytują /etc/hosts oraz użyją dig, nslookup i host do diagnozowania problemów z DNS, które p… Ćwiczysz Linux Server Deployment & SSH Mastery z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Linux Server Deployment & SSH Mastery?

Nie wymagamy żadnego doświadczenia. Linux Server Deployment & SSH Mastery w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Konfiguracja i rozwiązywanie problemów z DNS”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Linux Server Deployment & SSH Mastery?

Tak. Każda lekcja Linux Server Deployment & SSH Mastery zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawowa konfiguracja sieci
  2. Poznawanie zapór sieciowych (UFW/firewalld)
  3. Zarządzanie portami i bezpieczeństwo
  4. Konfiguracja i rozwiązywanie problemów z DNS
← Powrót do Linux Server Deployment & SSH Mastery