1/50
DHCP: Zasada działania, konfiguracja, DHCP Relay

Automatyczny przydział adresów IP eliminuje ręczną konfigurację.

  • Dynamic Host Configuration Protocol – automatyzacja przydziału adresów IP i parametrów sieciowych.
  • Analiza strukturalna procesu pozyskiwania dzierżawy (cykl DORA).
  • Mechanika działania systemu w architekturze korporacyjnej L2/L3.
  • Konfiguracja serwera w środowisku linuksowym (ISC DHCP / Kea).
  • Zarządzanie infrastrukturą rozproszoną przy użyciu agentów DHCP Relay.
  • Metodyka diagnostyki oraz rozwiązywania problemów (Troubleshooting) w środowiskach produkcyjnych.
Ilustracja do slajdu 1
2/50
Szczegółowa agenda spotkania

Plan prezentacji obejmuje teorię i praktykę konfiguracji.

  • Rola i fundamenty DHCP w sieciach warstwy korporacyjnej.
  • Sekwencja DORA na poziomie analizy pakietów (Discover, Offer, Request, Acknowledge).
  • Cykl życia dzierżawy: Timery T1 i T2 oraz mechanizmy Release / Renew.
  • Architektura serwera w systemach Linux: ISC DHCP i Kea DHCP.
  • Konfiguracja: deklaracje zakresów (range) i dostarczanie opcji globalnych (routers, DNS).
  • Zarządzanie środowiskiem L3: Rezerwacje statyczne oraz wdrożenie DHCP Relay.
Ilustracja do slajdu 2
3/50
Główny cel techniczny i edukacyjny

Celem jest biegłość w diagnozowaniu i konfigurowaniu DHCP.

  • Zrozumienie protokołu DHCP wykraczające poza podstawy: analiza na poziomie bitowym.
  • Zdolność diagnozowania procesu dzierżawy przy użyciu snifferów i systemowych logów.
  • Opanowanie składni konfiguracyjnej dhcpd.conf dla środowisk produkcyjnych.
  • Biegłość w rezerwowaniu parametrów dla krytycznych węzłów sprzętowych infrastruktury.
  • Przełamanie bariery ruterów za pomocą narzędzia DHCP Relay (Agenci Przeprowadzający).
  • Zdobycie kompetencji do błyskawicznej reakcji na incydenty fałszywych serwerów (Rogue DHCP).
Ilustracja do slajdu 3
4/50
Rola systemu DHCP w korporacyjnej infrastrukturze IT

Centralne zarządzanie adresacją usprawnia pracę administratora.

  • Eliminacja błędów ludzkich poprzez automatyzację rozgłaszania parametrów IP.
  • Centralizacja punktu kontroli i audytu nad przydzielonymi zasobami adresowymi.
  • Oszczędność deficytowej puli adresacji poprzez rotacyjne przyznawanie dzierżaw.
  • Bezproblemowa migracja parametrów całej podsieci (brama, serwery nazw) z jednego miejsca.
  • Obsługa urządzeń o dużej rotacji (np. urządzenia mobilne pracownicze, strefy Gość).
  • Dostarczanie opcji dedykowanych vendorom (np. kontrolery WLC, provisioning dla telefonów IP).
Ilustracja do slajdu 4
5/50
DORA: Krok 1 - Discover (Odkrywanie)

Klient bez adresu wysyła rozgłoszenie w poszukiwaniu serwera.

  • Inicjujący krok procesu generowany przez nagiego (nieposiadającego IP) klienta.
  • Komunikat: DHCPDISCOVER używający adresu źródłowego 0.0.0.0.
  • Wysyłka na docelowy adres IP: 255.255.255.255 (Limited Broadcast).
  • W warstwie łącza danych (L2) ramka adresowana do MAC FF:FF:FF:FF:FF:FF.
  • Oczekiwanie na nasłuchujące serwery DHCP obecne w lokalnej domenie rozgłoszeniowej.
  • Zalążek dylematu L3: wysyłanie pakietu sieciowego bez znajomości topologii.
Ilustracja do slajdu 5
6/50
DORA: Krok 2 - Offer (Oferta)

Serwer rezerwuje i proponuje adres IP klientowi.

  • Odpowiedź serwera na zapytanie ofertowe klienta (wiadomość DHCPOFFER).
  • Serwer rezerwuje tymczasowo adres IP i proponuje go żądającemu klientowi.
  • Pakiet zawiera proponowany IP, maskę, bramę, DNS oraz czas trwania dzierżawy (Lease Time).
  • Adresacja źródłowa: IP serwera (np. 192.168.1.10).
  • Adresacja docelowa L2: Zazwyczaj Unicast bezpośrednio na MAC klienta z DHCPDISCOVER.
  • W sieci może operować wiele serwerów DHCP; klient może otrzymać wiele Ofert.
Ilustracja do slajdu 6
7/50
DORA: Krok 3 - Request (Żądanie)

Klient wybiera ofertę i informuje o tym wszystkie serwery.

  • Klient oficjalnie akceptuje jedną z otrzymanych ofert poprzez wiadomość DHCPREQUEST.
  • Pakiet jest ponownym żądaniem w trybie Broadcast (255.255.255.255).
  • Wiadomość zawiera identyfikator wybranego serwera DHCP (Server Identifier Option).
  • Mechanika powiadomienia odrzuconych serwerów o zwolnieniu rezerwowanych zasobów IP.
  • Pakiet żądania kończy etap negocjacji – adres źródłowy klienta wciąż wynosi 0.0.0.0.
  • Zjawisko 'gratuitous ARP' stosowane często po fazie Acknowledge dla weryfikacji powieleń.
Ilustracja do slajdu 7
8/50
DORA: Krok 4 - Acknowledge (Potwierdzenie)

Serwer zatwierdza dzierżawę i klient otrzymuje konfigurację.

  • Ostatnia faza cyklu negocjacyjnego - odpowiedź serwera: DHCPACK.
  • Twarde zatwierdzenie przydziału i przekazanie parametrów produkcyjnych.
  • Moment, od którego umowa dzierżawy startuje z legalnie przyznanym IP.
  • Po odebraniu Acknowledge, interfejs sieciowy klienta ostatecznie konfiguruje IP.
  • Możliwość negatywnej odpowiedzi DHCPNAK (np. adres już niedostępny lub nieważny).
  • Przejście maszyny klienta w stan operacyjny (Bound State).
Ilustracja do slajdu 8
9/50
Analiza ramek sieciowych w komunikacji

Ruch DHCP wykorzystuje nagłówki XID i chaddr do identyfikacji.

  • Infrastruktura L2 wymusza użycie Broadcast MAC FF:FF:FF:FF:FF:FF w poszukiwaniu dhcp.
  • Budowa pakietu DHCP oparta jest natywnie na transporcie bezpołączeniowym UDP.
  • Minimalizacja narzutu transmisji poprzez brak potwierdzeń warstwy czwartej.
  • Wymiana danych wymaga znajomości topologii, maskowanej ramkami rozgłoszeniowymi.
  • Wykorzystanie pola nagłówka xid (Transaction ID) do sprzęgania par transmisji.
  • Pole chaddr (Client Hardware Address) stanowi unikalny wektor stacji inicjującej.
Ilustracja do slajdu 9
10/50
Standardowe porty komunikacyjne DHCP: UDP 67 i UDP 68

Serwer nasłuchuje na porcie 67, klient na porcie 68.

  • Zjawisko asymetrycznej dystrybucji ról portów zdefiniowanych przez IANA.
  • UDP 67 (Bootstrap Server) – docelowy port, na którym permanentnie nasłuchuje Serwer DHCP.
  • UDP 68 (Bootstrap Client) – port docelowy dla odpowiedzi kierowanych wprost do Klienta.
  • Zapytania od klienta: Source Port 68 -> Destination Port 67.
  • Odpowiedzi serwera: Source Port 67 -> Destination Port 68.
  • Zaszłość historyczna odziedziczona z prekursorskiego standardu BOOTP.
Ilustracja do slajdu 10
11/50
Dylemat transmisji: L2 Broadcast do L3 Unicast

Brak adresu L3 wymusza użycie broadcastu w początkowej fazie.

  • Brak adresu L3 zmusza maszynę do wysyłki w warstwie L2 powszechnego Broadcastu.
  • Warstwa L3 odbija to uogólnienie przez docelowy adres 255.255.255.255.
  • Serwer, pragnąc odpowiedzieć DHCPOFFER, staje przed problemem adresacji zwrotnej.
  • Zastosowanie flagi Broadcast Flag (Bit 0) podczas pierwszego pakietu od Klienta.
  • Gdy flaga wyłączona, serwer aplikuje mechanizm L2 Unicast prosto na MAC mimo braku ARP.
  • Poważny wyczyn programistyczny dla stosów sieciowych starszych systemów OS.
Ilustracja do slajdu 11
12/50
Architektura konwersji używanych protokołów

Po uzyskaniu IP komunikacja przechodzi z broadcastu na unicast.

  • Inicjalny brak znajomości routingu na hoście – sieć L3 nie istnieje w próżni.
  • Rozgłaszanie to ostateczność: wysyłanie ramek po wszystkich portach w Switchu.
  • Wysyłanie informacji powrotnej na poziomie Unicast drastycznie łagodzi pętle i hałas sieciowy.
  • Serwer unika nadmiernego zapchania domeny i odzyskuje kontrolę pasma w L2.
  • Konwersja z 'krzyku' inicjalnego do 'szeptu' potwierdzeń i późniejszego Request.
  • Przedłużenia dzierżawy odbywają się już w 100% używając L3 Unicast po IP z pominięciem Broadcastów.
Ilustracja do slajdu 12
13/50
Pomiary czasu operacyjnego dzierżawy IP

Dzierżawa IP ma ograniczony czas trwania określony przez serwer.

  • Przydział adresu (Lease) nie jest wieczny – to kontrakt warunkowy ograniczony czasem.
  • Cel: Odzyskiwanie zasobów po odłączonych, bezczynnych stacjach klienckich.
  • Lease Time: Całkowity czas pożyczki parametru ustalany globalnie w sekundach (np. 86400).
  • Wprowadzenie dwóch zjawisk chronologicznych: Timer T1 oraz Timer T2.
  • Zarządzanie czasem spoczywa operacyjnie całkowicie na barkach klienta DHCP.
  • Stan stabilny: maszyna nie emituje ruchu DHCP dopóki nie wywoła tego timer.
Ilustracja do slajdu 13
14/50
Cykl życia: T1 (Renewal Timer)

W połowie czasu klient próbuje odnowić dzierżawę przez unicast.

  • Wyzwalacz T1 domyślnie odpala się po upływie 50% całkowitego czasu Lease Time.
  • Początek tzw. miękkiego procesu odnawiania dzierżawy z macierzystym serwerem.
  • Klient generuje i wysyła pakiet DHCPREQUEST bezpośrednio w trybie L3 Unicast.
  • Ramka kierowana jest precyzyjnie do adresu IP Serwera z użyciem portu UDP 67.
  • Brak Broadcastu: operacja niemal przezroczysta dla pozostałych urządzeń.
  • Jeśli serwer odpisze DHCPACK, licznik zostaje wyzerowany.
Ilustracja do slajdu 14
15/50
Cykl życia: T2 (Rebinding Timer)

Przy braku odpowiedzi klient szuka pomocy przez broadcast.

  • Uruchamiany, gdy Serwer na etapie T1 nie zareaguje i milczy.
  • Timer T2 odpala się zazwyczaj po przekroczeniu 87.5% trwania Lease Time.
  • Maszyna przechodzi w tryb lekkiej paniki: Rebinding State.
  • Serwer matka uznany za martwy – klient znów szuka kogokolwiek (Broadcast).
  • Wysyłany zdesperowany pakiet DHCPREQUEST do całej sieci 255.255.255.255.
  • Cel: Przechwycenie dzierżawy przez serwer zapasowy (redundantny node).
Ilustracja do slajdu 15
16/50
Dramat utraty sieci: Lease Expiration

Po wygaśnięciu dzierżawy klient traci łączność sieciową.

  • Skrajny scenariusz operacyjny: klient po przekroczeniu 100% czasu traci adres.
  • Natychmiastowe zdjęcie konfiguracji parametrów ze stosu IP interfejsu (Flush).
  • Z punktu widzenia systemów OS zrywane są wszystkie aktywne sesje z warstwy 4 (TCP).
  • Przejście w tryb adresacji awaryjnej APIPA (np. 169.254.X.X) w systemach Windows.
  • Maszyna wpada w desperacką pętlę ciągłego wystrzeliwania pełnego cyklu DORA.
  • W systemach produkcyjnych zjawisko to równa się z gigantyczną awarią Severity 1.
Ilustracja do slajdu 16
17/50
Proaktywne zwalnianie - Mechanika DHCPRELEASE

System może dobrowolnie zwolnić adres IP przy wyłączaniu.

  • Elegancja zwalniania używanych zasobów podczas poprawnego zamykania systemu.
  • System OS może wysłać pakiet DHCPRELEASE na pożegnanie.
  • Serwer na żądanie natychmiast zwalnia ten wektor IP zdejmując blokadę.
  • Proces przydatny dla środowisk testowych i systemów hiperwizorów VDI.
  • Administratorzy mogą triggerować Release wierszem poleceń.
  • Zjawisko Release zapobiega wyciekaniu ograniczonej puli IP (Pool Depletion).
Ilustracja do slajdu 17
18/50
Szybki powrót do sieci L2 - DORA w ujęciu skróconym

Klient z zapisaną dzierżawą pomija fazę Discover.

  • Klient powracający do tej samej sieci nie potrzebuje całego cyklu DISCOVER.
  • W pamięci podręcznej (cache / rejestr) klient posiada zapis swej starej dzierżawy.
  • Urządzenie inicjuje sesję uciętą wysyłając od razu rozgłoszeniowy DHCPREQUEST.
  • Brak konieczności odpytywania z pakietem DHCPDISCOVER ucisza hałas infrastruktury.
  • Serwer bada ważność, zgodność MAC i podsieci wysyłając tryumfalnie DHCPACK.
  • W przypadku niezgodności (np. węzeł włączony w innej filii): odpowiedź DHCPNAK.
Ilustracja do slajdu 18
19/50
Mobilność urządzeń i powiązane dylematy zmiany VLAN

Zmiana VLANu wymusza na kliencie uzyskanie nowego adresu.

  • Dylemat odrzucenia (NAK) – fundamentalny test zmiany domeny rozgłoszeniowej.
  • Znaczenie parametru domyślnej bramy (Router Option) w architekturze przełączanej.
  • Problem wpięcia się w port ze źle skonfigurowanym trybem Untagged VLAN w switchu.
  • Serwer autorytatywny vs. brak autorytetu: rygoryzm w odrzucaniu starych Requestów.
  • Mechanizm wymuszania opuszczenia starych rezerwacji i podnoszenia całego Discovery.
  • Poważne wyzwania sprzętowe w architekturach SD-WAN oraz sieciach bezprzewodowych Mesh.
Ilustracja do slajdu 19
20/50
Konflikty zduplikowanych adresów w podsieci

Duplikacja adresów powoduje konflikty i odrzucanie dzierżaw.

  • Mechanika sprawdzania (Ping Check) po stronie serwera przed wysłaniem Oferty.
  • Mechanika ARP z darmową opcją gratuitous ze strony maszyny po odebraniu ACK.
  • Odesłanie DHCPDECLINE przez maszynę w przypadku wykrycia repliki w eterze.
  • Wrzucenie adresu IP do czarnej dziury (Blacklist/Abandon) w tablicy leases Serwera.
  • Interwencja manualna admina konieczna do odblokowania ubezwłasnowolnionej puli IP.
  • Klasyczny powód to urządzenia o sztywnej konfiguracji IP nieujęte w exclusion listach.
Ilustracja do slajdu 20
21/50
Architektura serwera w środowisku Linux

Serwer DHCP w Linuksie działa jako demon na porcie 67.

  • Systemy Linux jako naturalne, stabilne środowisko dla krytycznych usług sieciowych.
  • Demony sieciowe działające w przestrzeni użytkownika, powiązane z jądrem (Sockets).
  • Konieczność precyzyjnego mapowania usług do fizycznych interfejsów sprzętowych.
  • Logika bazy danych: płaskie pliki tekstowe vs. nowoczesne relacyjne bazy SQL.
  • Model uprawnień: uruchamianie demona z prawami roota, a zrzucanie do chroot-jail.
  • Centralizacja odczytów logów za pośrednictwem systemd i dziennika journald.
Ilustracja do slajdu 21
22/50
Giganci rynku: ISC DHCP Server vs Kea DHCP

Kea DHCP to nowoczesny następca przestarzałego ISC DHCP.

  • ISC DHCP (dhcpd): absolutny standard przez dekady, obecnie osiągnął koniec wsparcia (EOL).
  • Monolityczna budowa starego demona i blokujące jednowątkowe procesy przydzielania.
  • Kea DHCP: nowoczesny, modularny następca napisany całkowicie od zera przez to samo konsorcjum.
  • Architektura Kea oparta o API RESTful do zarządzania i modyfikacji w locie bez restartów.
  • Przechowywanie dzierżaw w Kea używa szybkich silników baz danych: MySQL, PostgreSQL, Cassandra.
  • Natywna obsługa środowisk wysokiej dostępności i chmur obliczeniowych.
Ilustracja do slajdu 22
23/50
Instalacja usługi w systemach Debian / Ubuntu

Instalacja wymaga wskazania interfejsu sieciowego serwera.

  • Wykorzystanie menedżerów pakietów: apt update && apt install isc-dhcp-server.
  • Krytyczny plik startowy określający interfejsy: /etc/default/isc-dhcp-server.
  • Zmienna konfiguracyjna INTERFACESv4="eth0" to fundament zabezpieczenia separacji.
  • Główny, rezydujący w /etc/dhcp/dhcpd.conf plik z deklaracją logiki biznesowej sieci.
  • System od razu po instalacji z reguły upada (status failed) – to zjawisko pożądane.
  • Usługa nie wstanie, dopóki administrator nie opisze podsieci do której fizycznie należy węzeł.
Ilustracja do slajdu 23
24/50
Plik konfiguracyjny - anatomia dhcpd.conf

Plik dhcpd.conf definiuje reguły i opcje przydziału adresów.

  • Składnia oparta o rygorystyczne bloki w klamrach {} oraz obligatoryjne średniki ;.
  • Struktura liniowa, czytana od góry do dołu, z dziedziczeniem opcji globalnych do dołu.
  • Linie rozpoczynające się od znaku krzyżyka # traktowane jako komentarze.
  • Parametr default-lease-time określający domyślną żywotność pożyczki.
  • Parametr max-lease-time to twardy próg odcięcia chroniący przed roszczeniowym klientem.
  • Zasada autorytaryzmu sieci: globalna flaga authoritative; uruchamiająca reakcję NAK.
Ilustracja do slajdu 24
25/50
Deklaracja bloku podsieci (dyrektywa subnet)

Każda podsieć musi być zadeklarowana w konfiguracji serwera.

  • Zasadnicze serce konfiguracji: uświadamianie Serwera o środowisku fizycznym L3.
  • Konstrukcja wymaga podania adresu wiodącego sieci oraz maski Netmask.
  • Składnia: subnet 192.168.10.0 netmask 255.255.255.0 { ... }
  • Podsieć zadeklarowana musi perfekcyjnie pokrywać się z adresem przypiętym do karty w Serwerze.
  • Nawet pusta deklaracja w klamrach po odkomentowaniu pozwala usłudze na udany start (Start OK).
  • Możliwość definicji dziesiątek podsieci (dla środowisk używających DHCP Relay).
Ilustracja do slajdu 25
26/50
Dynamiczne pule wektorów (dyrektywa range)

Dyrektywa range określa pulę adresów do dynamicznego przydziału.

  • Główny parametr określający faktyczny towar na wynajem dla urządzeń inicjujących.
  • Składnia w bloku: range 192.168.10.100 192.168.10.200;
  • Ścisłe określenie granic: od Start IP do End IP.
  • Wielkość puli musi odzwierciedlać zagęszczenie i rotację logowań w danym segmencie.
  • Istotne: adresy wyjęte z range należy rezerwować dla statycznych urządzeń ręcznie.
  • Serwer przydziela adresy iteracyjnie lub używa logiki Hash dla przewidywalności rzutów.
Ilustracja do slajdu 26
27/50
Parametr domyślnej bramy (option routers)

Opcja routers przekazuje klientowi adres domyślnej bramy.

  • Jeden z najważniejszych parametrów dodatkowych, tzw. Option Field (Option 3).
  • Wypychanie stacji informacji o ruterze - punkcie wyjścia w świat L3 WAN.
  • Składnia: option routers 192.168.10.1;
  • Możliwość zadeklarowania wielu bram jako wektorów nadmiarowych po przecinku.
  • Bez tej opcji węzeł zyskuje zaledwie wewnętrzną, autonomiczną sieć LAN.
  • Decyduje o finalnym utworzeniu reguły domyślnej (Default Route) na kliencie.
Ilustracja do slajdu 27
28/50
Przekierowanie resolverów nazw (option domain-name-servers)

Serwery DNS są automatycznie dystrybuowane do klientów.

  • Kolejny krytyczny element konfiguracji maszyn - Opcja nr 6 z RFC.
  • Odpowiada za automatyczne wskazanie serwerów tłumienia nazw (np. 8.8.8.8).
  • Składnia: option domain-name-servers 10.0.0.10, 8.8.8.8;
  • Podawanie kaskady serwerów na wypadek awarii wewnętrznego systemu DNS.
  • Dodatkowo używana option domain-name dystrybuuje z marszu sufiks (np. firma.local).
  • W systemach typu Active Directory poprawny resolver DNS to rdzeń funkcjonowania domeny.
Ilustracja do slajdu 28
29/50
Dziedziczenie i hierarchia konfiguracji (Scope)

Opcje globalne można nadpisywać w poszczególnych podsieciach.

  • Globalny charakter dyrektyw poza klamrami: aplikują się one do wszystkich podsieci.
  • Lokalny wektor przesłonięcia (Overriding) uaktywniony wewnątrz subnet { }.
  • Projektowanie plików dla ogromnych przedsiębiorstw opiera się na umiejętnym dziedziczeniu.
  • Przykładowo: globalny wspólny resolver DNS dla całej Polski umieszczony na górze pliku.
  • Wyjątki realizowane wewnątrz subnetów (np. Dział IT potrzebuje innego DNS Testowego).
  • Znacząca redukcja błędów 'kopiuj-wklej' i redundancji kodu systemowego demona.
Ilustracja do slajdu 29
30/50
Weryfikacja składni (dhcpd -t) i start usługi

Przed restartem warto sprawdzić składnię komendą dhcpd -t.

  • Zasada złotego standardu admina: nigdy nie restartuj demona sieciowego w ciemno.
  • Wbudowana funkcja lintera ujęta w parametrze testowym aplikacji dhcpd -t.
  • Skanowanie poprawności semantycznej i logicznej pliku bez porywania procesu głównego.
  • Oznaczenie wskaźnika w jakiej konkretnie linii pliku pominięto słynny średnik.
  • Polecenia menedżera systemctl start isc-dhcp-server do zmaterializowania modyfikacji.
  • Audyt stanu połączeń po restarcie realizowany przeglądem systemctl status.
Ilustracja do slajdu 30
31/50
Koncepcja rezerwacji statycznych (Fixed Leases)

Rezerwacje statyczne wiążą adres IP z adresem MAC.

  • Dynamiczny przydział IP jest zjawiskiem losowym opartym o pule (Range).
  • Wiele usług infrastrukturalnych wymaga stabilnego punktu odniesienia.
  • Rezerwacja (Fixed Lease) – twarde powiązanie parametru sieciowego IP ze sprzętem.
  • Wymusza na serwerze DHCP zignorowanie losowości dla wskazanego klienta.
  • Zapewnia scentralizowane zarządzanie bez konieczności 'chodzenia po urządzeniach'.
  • Eliminuje błędy ludzkie związane z ręcznym wpisywaniem adresów IP (Typos).
Ilustracja do slajdu 31
32/50
Wektor identyfikacji: MAC Address vs Client Identifier

Identyfikacja klienta może opierać się na MAC lub Client ID.

  • Identyfikacja na poziomie modelu OSI to podstawa trafienia rezerwacji.
  • Klasyczne powiązanie bazuje na adresie sprzętowym Ethernet MAC (Media Access Control).
  • Alternatywa nowszej generacji: parametr Client Identifier (Opcja 61).
  • Client ID stosowany np. przy zmianie karty sieciowej zachowującej licencję.
  • Format HEX dla adresów warstwy L2 (np. 00:1A:2B:3C:4D:5E).
  • Konieczność dokładnego zbierania zrzutów logów, by bezbłędnie pozyskać wektor do pliku.
Ilustracja do slajdu 32
33/50
Wdrożenie: Dyrektywa host w dhcpd.conf

Dyrektywa host przypisuje stały adres wskazanemu urządzeniu.

  • Specjalny blok konfiguracyjny deklarowany słowem kluczowym host.
  • Umiejscowiony globalnie lub zagnieżdżony terytorialnie w wybranym subnet.
  • Składnia: host Drukarka-HP { hardware ethernet 00:11:22:33:44:55; fixed-address 192.168.10.50; }
  • Parametr nazwy (Drukarka-HP) służy wyłącznie do dokumentacji systemowej dla człowieka.
  • Bezwzględny wymóg nieomylności przy wklepywaniu znaków zapisu MAC.
  • Po restarcie serwera maszyna od razu jest identyfikowana na warstwie bitowej.
Ilustracja do slajdu 33
34/50
Omijanie dyrektywy range - wykluczenia dla IP

Adresy rezerwacji muszą leżeć poza pulą range.

  • Podstawowy wymóg bezpieczeństwa puli przydziałów dla infrastruktury statycznej.
  • Adresy wpisane we flagę fixed-address NIGDY nie mogą leżeć wewnątrz bloków range.
  • Zjawisko niejawnych exclusion lists w demone ISC (brak formalnego polecenia exclude).
  • Wpisanie rezerwacji MAC z przestrzeni range powoduje chaos na wyścigach Timerów.
  • Projektowanie podsieci powinno polegać na segregacji: np. .1-.50 rezerwacje, .100-.200 dynamiczne.
  • Dobra praktyka IPAM: adresy statyczne zbijamy z brzegu bloku CIDR.
Ilustracja do slajdu 34
35/50
Infrastruktura peryferyjna - drukarki i specyfika sieci

Drukarki sieciowe wymagają stałych adresów IP.

  • Drukarki korporacyjne to fundamentalny przypadek dla użycia rezerwacji stałych.
  • Stacje klienckie odwołują się do usług wydruku LPD (port TCP 515) lub RAW/JetDirect (port TCP 9100).
  • Dynamiczna zmiana adresu IP drukarki trwale paraliżuje stacje Windows pracownicze.
  • Konfiguracja serwera DHCP zabezpiecza przed wyciekami parametrów poza bramę.
  • Składniki brzegowe: czy drukarka musi mieć bramę Default Gateway w opcjach?
  • Aspekty bezpieczeństwa drukowania: separacja drukarek we własnym VLAN (np. VLAN 50).
Ilustracja do slajdu 35
36/50
Serwery aplikacji i węzły zarządzające (Management)

Porty zarządzania serwerami potrzebują stałej adresacji.

  • Dostęp administracyjny na porty zarządzania (np. iLO, iDRAC, IPMI).
  • Protokoły SSH, RDP wymagają pełnej widoczności pod stałym wektorem IP.
  • Problem 'jajka i kury' przy odtwarzaniu środowiska po katastrofie zasilania (Blackout).
  • Węzły nie mogą być na łasce puli dynamicznej, ze względu na reguły w zaporze sieciowej.
  • Firewalle NGFW wymagają stałych identyfikatorów z adresacją L3 w swoich ACL.
  • Praktyka: Rezerwacje MAC w odseparowanych dedykowanych sieciach MGT VLAN.
Ilustracja do slajdu 36
37/50
Konflikty adresacyjne - pułapki twardych dzierżaw

Klonowanie maszyn wirtualnych może powodować konflikty MAC.

  • Niestabilność topologii w przypadku błędnego kopiowania adresów MAC w pliku.
  • Co się stanie, gdy MAC A otrzyma IP statyczny przypisany już innej maszynie?
  • Zjawisko 'Duplicate MAC' w przypadku wirtualizacji (np. klonowanie maszyn VMWare).
  • Problem braku reakcji w pliku dhcpd.leases dla rezerwacji - wpisy te są ciche.
  • Wyzwania przy wymianie wadliwych urządzeń (podmiana płyty uszkadza zdefiniowany MAC).
  • Zasada: stary węzeł umarł - stary rekord dhcpd uśmiercony przez modyfikację conf.
Ilustracja do slajdu 37
38/50
Zarządzanie IPAM (IP Address Management)

IPAM centralizuje zarządzanie przestrzenią adresową.

  • Korporacyjne zjawisko skali: tysiące podsieci, setki tysięcy adresów MAC.
  • Plik tekstowy przestaje być wygodny i bezpieczny do kolaboracji dziesiątek inżynierów.
  • IPAM (np. NetBox, phpIPAM) – serce infrastruktury jako pojedyncze źródło prawdy (SSOT).
  • Generowanie rekordów do plików serwera operując skryptami z bazy IPAM przez API.
  • Unikanie nakładania się (overlap) pul adresowych i planowanie przestrzeni L3.
  • Wysokopoziomowa organizacja struktury sieci w systemach zintegrowanych DDI.
Ilustracja do slajdu 38
39/50
DHCP Relay - Mostowanie rozległych architektur

Relay Agent umożliwia obsługę wielu VLANów z jednego serwera.

  • Problematyka scentralizowanego serwera DHCP obsługującego dziesiątki lokalizacji.
  • Niemożliwość fizycznego wpięcia jednego serwera Linux bezpośrednio do 50 VLANów.
  • Potrzeba pokonywania granic sieci warstwy trzeciej L3 dla procesu inicjalizacji DORA.
  • Agent Przeprowadzający (Relay Agent) jako delegat w domenach izolowanych.
  • Znaczące ułatwienie administracyjne: tylko jeden klaster DHCP w Data Center.
  • Standard przemysłowy wdrożeń we wszystkich korporacyjnych sieciach SD-WAN.
Ilustracja do slajdu 39
40/50
Bariera routera L3 - dlaczego Broadcast upada

Routery blokują broadcasty DHCP między podsieciami.

  • Fundamentalna zasada rutingu: Ruter twardo ucina i niszczy ramki Broadcast.
  • Pakiet DHCPDISCOVER na docelowe 255.255.255.255 nie przekroczy bramy wyjściowej.
  • Klient zablokowany bez adresu w obcym VLAN nie ma szans dotrzeć do centrali.
  • Problem 'ślepego' wołania o pomoc w odciętej domenie kolizyjnej i rozgłoszeniowej.
  • Tylko urządzenia lokalne na tym samym switchu są w stanie usłyszeć krzyk hosta.
  • Wymóg istnienia lokalnego ucha (pośrednika) podłączonego w tym samym segmencie.
Ilustracja do slajdu 40
41/50
Koncepcja translacji L2 -> L3 (Agent Przeprowadzający)

Agent przepakowuje broadcast w unicast do serwera centralnego.

  • Rola Agenta: program nasłuchujący obok klientów na ich lokalnym Broadcast.
  • Agent uaktywnia się po usłyszeniu nagiego pakietu z prośbą o dzierżawę.
  • Mechanika: przepakowanie wiadomości z L2 Broadcast do L3 Unicast UDP.
  • Zjawisko unicastowego tunelowania zapytania do odległego serwera docelowego.
  • Agent odesłanie uzupełnia polem skąd zrzucono zapytanie (wskaźnik podsieci).
  • Mostowanie obu światów z zachowaniem minimalnego obciążenia łącz SD-WAN.
Ilustracja do slajdu 41
42/50
Konfiguracja Relay na urządzeniach rdzeniowych L3

Komenda ip helper-address włącza relay na switchu.

  • Wykorzystanie polecenia ip helper-address w systemach Cisco IOS.
  • Wpinanie komendy z reguły bezpośrednio w interfejs VLANu (np. interface vlan 10).
  • Wskazanie parametru konkretnego odległego adresu serwera docelowego.
  • Dzięki temu Switch zamienia się w serwer proxy (Forwarder) dla portów 67/68.
  • Odpowiedź DHCPOFFER z Serwera wraca tym samym hopem unicastowym.
  • Krytyczna sprawa dla budowania elastycznych sieci Core & Distribution.
Ilustracja do slajdu 42
43/50
Narzędzie dhcrelay w Linuksach

Dhcrelay to linuksowe narzędzie do przekazywania DHCP.

  • Linuksy pełniące rolę routerów w oddziałach posiadają własnego demona: dhcrelay.
  • Instalacja pakietu w Ubuntu często spakowana razem z isc-dhcp-relay.
  • Komenda wywołania: dhcrelay -i eth1 10.0.0.50 (podajemy interfejs i cel).
  • Oprogramowanie rezyduje jako service i operuje na stosie jądra.
  • Znakomite rozwiązanie dla tanich urządzeń brzegowych opartych na OpenWRT.
  • Wymaga aktywnego nasłuchu na interfejsach wewnętrznych bez firewalla DROP po UDP.
Ilustracja do slajdu 43
44/50
Pole giaddr (Gateway IP Address) i wybór puli

Pole giaddr informuje serwer, z której podsieci przyszło żądanie.

  • Kluczowy mechanizm logiki DHCP pozwalający na odczyt intencji Relay Agenta.
  • Gdy Agent wstrzykuje ramkę, ustawia pole giaddr na swój IP L3.
  • Serwer odbierając ramkę, nie patrzy na źródłowe IP nadawcy, lecz na wskaźnik giaddr.
  • Na podstawie giaddr Serwer wybiera z pliku dhcpd.conf odpowiedni subnet.
  • Dzięki temu ten sam Serwer obsłuży dziesiątki Agentów z dziesiątek różnych VLANów.
  • Ostateczny dowód mistrzowskiej integracji sieci rozległych SD-WAN.
Ilustracja do slajdu 44
45/50
Laboratorium 1: Podgląd pliku dhcpd.leases

Plik dhcpd.leases rejestruje wszystkie przyznane dzierżawy.

  • Święty Graal bazy operacyjnej starego demona linuksowego ISC.
  • Zlokalizowany domyślnie pod absolutną ścieżką: /var/lib/dhcp/dhcpd.leases.
  • Wykorzystanie komend podglądu tekstu: cat lub potokowanego streamu tail -f.
  • Widoczny pełen zestaw zmiennych: daty startu starts, wygasania ends i parametry UTC.
  • Wyciągnięte sprzętowe adresy wektorów hardware ethernet ułatwiające inwentaryzację.
  • Zapis nazwy klienta client-hostname podrzucanej przez Opcję 12 z Windowsów.
Ilustracja do slajdu 45
46/50
Laboratorium 2: Nasłuch logów demona przez journalctl

Journalctl pozwala monitorować logi serwera DHCP w czasie rzeczywistym.

  • Architektura systemd wrzuca cały output z demonów do pliku binarnego logów.
  • Filtrowanie zdarzeń demona DHCP: journalctl -u isc-dhcp-server -f.
  • Czysty podgląd strumienia DORA: Widać pakiety DISCOVER, OFFER, REQUEST, ACK.
  • Błyskawiczne wykrywanie awarii: np. błędy 'no free leases' (brak wolnych puli).
  • Rejestr fałszywych uderzeń NAK wskazuje na intruzów z obcym zdefiniowanym w ciele IP.
  • Korelacja czasowa pomaga śledzić, dlaczego proces zatrzymał się w połowie (np. po Offer).
Ilustracja do slajdu 46
47/50
Laboratorium 3: Konsolowe wymuszanie dzierżawy u klienta

Dhclient i ipconfig umożliwiają ręczne wymuszenie dzierżawy.

  • System Linux oferuje precyzyjne sterowanie żądaniem dzięki komendzie dhclient.
  • Komenda odpalenia agenta na porcie ręcznie z wysokim werbozmem: dhclient -v eth0.
  • Administrator widzi od strony ofiary każdy krok i czas (ping/pong) transakcji DHCP.
  • Systemy Windows i flagowe żądania z okna cmd: ipconfig /release oraz /renew.
  • Pomijanie mechanik uśpienia stacji w celu zweryfikowania zmian ustawień puli Serwera.
  • Skryptowanie żądań to podstawa testowania serwerów przy zjawiskach Load Balancing.
Ilustracja do slajdu 47
48/50
Laboratorium 4: Analiza powoływania przez sniffery

Tcpdump i Wireshark służą do analizy pakietów DHCP.

  • Sniffer protokołów (jak tcpdump czy Wireshark) podstawa weryfikacji warstwy L2.
  • Polecenie podglądu portów: tcpdump -i eth0 port 67 or port 68 -n -vvv.
  • Zjawiskowe flagi -vvv wymuszają na oprogramowaniu zrzut wnętrza ramek z ich Option Fields.
  • Bezwzględny wskaźnik winowajcy przy anomaliach typu zrzut Broadcast przez zaporę (Drop).
  • Wykrywanie dlaczego Serwer odbiera Request lecz stacja nie chwyta z powrotem Ack.
  • Filtrowanie ruchu za pomocą unikalnych hexadecymalnych bitów (np. łapanie tylko jednego MAC).
Ilustracja do slajdu 48
49/50
Troubleshooting 1: Rogue DHCP i ataki Starvation

Nieautoryzowane serwery DHCP stanowią zagrożenie bezpieczeństwa.

  • Rogue DHCP: Złowrogi (lub głupi) obcy Serwer odpowiadający na DISCOVER z niepożądanym IP.
  • Katastrofa uwarstwiona polegająca na fałszywych ofertach (DHCPOFFER race condition).
  • Efekt to przejęcie przez kogoś roli domyślnej bramy dla części pracowników (Man in the Middle).
  • Atak Starvation (Głodzenie): celowe wstrzykiwanie milionów fałszywych MAC psujące Serwer.
  • Obrona w switchu warstwy L2: mechanizmy włączenia DHCP Snooping na przełącznikach.
  • Zjawisko oznaczania zaufanych portów (Trusted Ports) uodparniające całą infrastrukturę LAN.
Ilustracja do slajdu 49
50/50
Ściąga administratora (Cheat Sheet)

Zestaw najważniejszych komend dla administratora DHCP.

  • Plik startowy Debian/Ubuntu: /etc/default/isc-dhcp-server (deklaracja interfejsu).
  • Plik rdzenia logiki i puli dyrektyw: /etc/dhcp/dhcpd.conf (subnet, range, router).
  • Podgląd dziennika przydziałów w locie: tail -f /var/lib/dhcp/dhcpd.leases.
  • Suchy run bez przeładowania w celu zlokalizowania średnika: dhcpd -t.
  • Wyciąg zdarzeń z rdzenia demona: journalctl -u isc-dhcp-server -f.
  • Przeładowanie twarde konfiguracji: systemctl restart isc-dhcp-server.
Ilustracja do slajdu 50