MANIEK Logo Mój Asystent Nauki Informatyki i Egzaminów Klasyfikacyjnych
Logowanie
ASSO / Linux Server / Resolver nazw / hosts

7 — Odwzorowanie nazwy na adres IP

Czas: 135 min

Cele i treść

Cele:
  • Uczeń wyjaśnia przeznaczenie usługi lub narzędzia w systemie Linux.
  • Uczeń zna najważniejsze pliki i polecenia administracyjne.
  • Uczeń wykonuje konfigurację w terminalu lub narzędziu graficznym.
  • Uczeń testuje działanie usługi i dokumentuje wynik.

Lekcja obejmuje temat: Odwzorowanie nazwy na adres IP.

Główne części: Konfigurowanie resolvera nazw, Ćwiczenia praktyczne, Konfigurowanie pliku /etc/hosts, Ćwiczenia praktyczne.

Notatka:

Import przygotowany z rozkładu klasy 2. Po imporcie można dopisać własne screeny, załączniki, zadania i kryteria oceniania.

#/etc/hosts#DNS#resolver

Punkty lekcji

1 - Konfigurowanie resolvera nazwkomenda

Treści nauczania:

Resolver systemowy: Mechanizm w systemie Linux odpowiedzialny za tłumaczenie nazw domenowych na adresy IP (tzw. resolucja nazw).

Plik /etc/resolv.conf: Główny plik konfiguracyjny resolvera. Zawiera adresy serwerów DNS, które system ma pytać o odwzorowanie nazw.

Składnia: nameserver <adres_IP> (np. nameserver 8.8.8.8). Może być multiple nameserver entries dla redundancji.

Uwaga: W nowoczesnych systemach plik ten jest często zarządzany dynamicznie przez usługi takie jak systemd-resolved lub NetworkManager i ręczne edycje mogą być nadpisywane.

Plik /etc/nsswitch.conf: Określa kolejność źródeł, z których system pobiera informacje o nazwach (hosts). Kluczowa linia: hosts: files dns.

files – oznacza, że najpierw sprawdzany jest plik /etc/hosts.

dns – następnie zapytanie jest wysyłane do serwerów DNS zdefiniowanych w resolv.conf.

Narzędzia diagnostyczne:

dig <nazwa_domeny> – szczegółowe zapytania DNS.
nslookup <nazwa_domeny> – proste zapytania DNS (przestarzałe, ale wciąż używane).

systemd-resolve --status – pokazuje aktualną konfigurację resolvera systemd.

3 - Konfigurowanie pliku /etc/hostsopis

Treści nauczania:

Lokalna statyczna baza nazw: Plik /etc/hosts to prosty plik tekstowy mapujący nazwy hostów na adresy IP. Działa jako lokalny system DNS.

Zastosowanie:

Przyspieszenie dostępu do często używanych hostów (omija zapytanie DNS).

Testowanie serwera przed rejestracją domeny (przekierowanie domeny na lokalny adres IP).

Blokowanie niechcianych hostów (przekierowanie na 127.0.0.1 lub 0.0.0.0).

Składnia: <adres_IP> <pełna_nazwa_hosta> <alias> [alias2...]

Przykład: 192.168.1.10 server.moja-domena.local s1

5 - Stosowanie polecenia ping do testowania siecizadanie

Treści nauczania:

Cel polecenia ping: Testowanie łączności na poziomie warstwy sieciowej (ICMP) między twoim hostem a zdalnym hostem. Mierzy także opóźnienie (latencję).

Zasada działania: Wysyła pakiety ICMP Echo Request do docelowego hosta i oczekuje na odpowiedź ICMP Echo Reply.

Składnia i najważniejsze opcje:

ping <adres_IP_lub_nazwa> – wysyła pakiety w nieskończoność (przerwij Ctrl+C).

-c <liczba> – określa liczbę pakietów do wysłania (np. ping -c 4 google.com).

-i <interval> – zmienia interwał wysyłania pakietów (domyślnie 1s).

Interpretacja wyniku:

time=X ms – opóźnienie (im mniej, tym lepiej).

% packet loss – procent utraconych pakietów (0% jest idealne).

Brak odpowiedzi może oznaczać: brak łączności, blokadę zapory po stronie docelowej, wyłączony host.

7 - Konfigurowanie plików /etc/hosts.allow i /etc/hosts.denykomenda

Treści nauczania:

Demon tcpwrapper: Historyczny mechanizm kontroli dostępu do usług sieciowych korzystających z biblioteki libwrap. Nie wszystkie usługi go obsługują (np. sshd, vsftpd często tak).

Zasada działania: Sprawdza reguły w plikach przed zezwoleniem na połączenie.

Sprawdza /etc/hosts.allow – jeśli znajdzie pasującą regułę, zezwala.

Jeśli nie, sprawdza /etc/hosts.deny – jeśli znajdzie pasującą regułę, blokuje.

Jeśli nie ma pasującej reguły w żadnym pliku, domyślnie zezwala.

Składnia reguł: <usługa>: <lista_hostów>

usługa – nazwa demona (np. sshd, vsftpd).

lista_hostów – adresy IP, nazwy hostów, specjalne wyrażenia (np. ALL, LOCAL,.moja-domena.com, 192.168.1.).

Bezpieczeństwo: Zalecana zasada: "deny all, allow explicitly". Blokuj wszystko w hosts.deny, a potem zezwalaj tylko wybranym hostom w hosts.allow.

8 - Ćwiczenia praktyczneopis

Sprawdzenie, czy usługa obsługuje tcpwrappers:

ldd $(which sshd) | grep libwrap # Jeśli zwraca wynik, to obsługuje.

Konfiguracja podstawowego zabezpieczenia:

sudo nano /etc/hosts.deny

Dodaj linię: ALL: ALL (Blokuj wszystkie usługi wszystkim hostom).

Zezwolenie na SSH z lokalnej sieci:

sudo nano /etc/hosts.allow

Dodaj linię: sshd: 192.168.1. (Zezwól na SSH wszystkim hostom z sieci 192.168.1.0/24).

Zezwolenie na dostęp lokalny (localhost):

W hosts.allow dodaj: ALL: LOCAL, 127.0.0.1 (Zezwól wszystkim usługom z localhost).

Testowanie reguł:

Spróbuj połączyć się przez SSH z innego komputera w sieci 192.168.1.0/24 – powinno działać.

Spróbuj połączyć się z komputera spoza tej sieci (lub zasymuluj to zmieniając adres IP klienta) – połączenie powinno zostać odrzucone. W logach (/var/log/auth.log lub secure) powinien pojawić się wpis o odrzuceniu połączenia przez tcpd.

9 - Podsumowanie i konsolidacja wiedzy (ostatnie 30 minut)zadanie

Ćwiczenie kompleksowe:

Uczeń konfiguruje statyczny wpis w /etc/hosts dla wyimaginowanego serwera test.local.

Uczeń testuje połączenie z test.local za pomocą ping.

Uczeń zmienia kolejność w nsswitch.conf na hosts: dns files i ponownie testuje ping test.local, aby zobaczyć, że teraz resolver ignoruje wpis w hosts i pyta DNS.

Uczeń przywraca poprawną kolejność (files dns).

Uczeń zabezpiecza wybraną usługę (np. SSH) za pomocą hosts.allow/hosts.deny, zezwalając tylko swojemu sąsiadowi (wymiana adresów IP w parach).

Cel: Uczeń rozumie cały proces resolucji nazw w Linuxie oraz potrafi użyć podstawowych mechanizmów kontroli dostępu do usług.

Powiązane arkusze i pytania

Arkusze

Brak powiązanych arkuszy.

Pytania

Brak powiązanych pytań.