Opcje DHCP
Dodatkowe opcje konfiguracyjne dla DHCP.
Wprowadzenie: Poza Podstawową Czwórką
Podstawową i najbardziej znaną funkcją protokołu Dynamic Host Configuration Protocol (DHCP) jest automatyczne dostarczanie urządzeniu klienckiemu jego podstawowej konfiguracji sieciowej: adresu IP, maski podsieci, bramy domyślnej oraz adresu serwera DNS. Ten podstawowy zestaw czterech parametrów wystarcza, aby urządzenie mogło połączyć się z siecią i rozpocząć komunikację. Jednakże, nowoczesne sieci to złożone ekosystemy, które często wymagają znacznie bogatszego zestawu danych konfiguracyjnych do optymalnego i bezpiecznego działania.
Wyobraźmy sobie konfigurację komputera nowego pracownika. Oprócz podstawowej łączności, może on potrzebować informacji o nazwie domeny firmy, adresach korporacyjnych serwerów czasu, sposobie uruchamiania systemu przez sieć w celu instalacji oprogramowania, czy adresie konkretnego kontrolera VoIP. Ręczne konfigurowanie każdego z tych ustawień na każdym urządzeniu zaprzeczałoby idei automatyzacji, dla której stworzono DHCP. Aby rozwiązać ten problem, projektanci DHCP włączyli potężny i elastyczny mechanizm zwany .
Pole opcji to obszar o zmiennej długości wewnątrz wiadomości DHCP, który może przenosić dziesiątki standaryzowanych i specyficznych dla dostawcy parametrów konfiguracyjnych. Przekształca ono DHCP z prostego dystrybutora adresów IP w kompleksową, rozszerzalną platformę do scentralizowanego zarządzania konfiguracją sieci. Ta elastyczność jest głównym powodem, dla którego DHCP od dziesięcioleci pozostaje kamieniem węgielnym administracji sieciowej.
Struktura Opcji DHCP: Tag-Długość-Wartość (TLV)
Aby pomieścić szeroką gamę informacji, pole opcji DHCP nie ma sztywnej struktury ze stałymi polami. Zamiast tego jest to sekwencja pojedynczych opcji, z których każda jest sformatowana przy użyciu prostego i powszechnego schematu kodowania znanego jako Tag-Długość-Wartość (TLV).
- Tag (lub Kod)
- Jest to pojedynczy bajt (8 bitów), który służy jako unikalny identyfikator numeryczny opcji. Na przykład, kod opcji Maska Podsieci to , a kod opcji Serwer DNS to . Klient używa tego tagu do identyfikacji, która informacja konfiguracyjna jest dostarczana.
- Długość
- Jest to pojedynczy bajt, który określa długość pola Wartość w bajtach. Pozwala to na opcje z danymi o zmiennej długości, takie jak lista wielu adresów serwerów.
- Wartość
- Są to rzeczywiste dane dla opcji. Rozmiar tego pola jest określony przez bajt Długość. Na przykład, dla opcji Maska Podsieci (która jest adresem IPv4), Długość wynosiłaby , a Wartość to cztery bajty maski (np. ).
Specjalne Kody Opcji
Istnieją dwa specjalne kody, które nie stosują się do struktury TLV:
- Opcja Wypełnienia (Pad, Kod 0): Jest to pojedynczy bajt o wartości . Jest używany jako wypełnienie, aby zapewnić, że kolejne opcje są wyrównane do granic słów w celu wydajnego przetwarzania. Nie ma pola długości ani wartości.
- Opcja Końca (End, Kod 255): Jest to pojedynczy bajt o wartości . Jest używany do oznaczenia końca pola opcji. Wszelkie dane po tym kodzie są ignorowane.
Szczegółowy Przegląd Popularnych Opcji DHCP
Internet Assigned Numbers Authority (IANA) prowadzi rejestr oficjalnych kodów opcji DHCP. Chociaż istnieją ich setki, podstawowy zestaw jest używany w prawie każdej sieci.
Opcja 53: Typ Wiadomości DHCP
Jest to jedna z najważniejszych opcji, ponieważ musi być obecna w każdej wiadomości DHCP. Określa ona „typ” wiadomości DHCP. Dzięki niej serwer odróżnia początkowe odkrycie klienta od formalnego żądania. Jej długość to zawsze 1.
- Wartość : DHCPDISCOVER
- Wartość : DHCPOFFER
- Wartość : DHCPREQUEST
- Wartość : DHCPDECLINE (Klient informuje serwer, że oferowany adres jest już w użyciu)
- Wartość : DHCPACK
- Wartość : DHCPNAK (Serwer informuje klienta, że jego dzierżawa jest nieprawidłowa)
- Wartość : DHCPRELEASE
Niezbędne Parametry Sieciowe
- Opcja 1: Maska Podsieci
- Ta opcja dostarcza klientowi jego maskę podsieci. Długość wynosi zawsze 4 bajty dla IPv4. Urządzenie używa maski podsieci do określenia, czy docelowy adres IP znajduje się w sieci lokalnej (osiągalny bezpośrednio przez Warstwę 2), czy w sieci zdalnej (co wymaga wysłania ruchu do bramy domyślnej).
- Opcja 3: Router (Brama Domyślna)
- Ta opcja określa adres IP bramy domyślnej. Długość jest wielokrotnością 4 bajtów, co pozwala na dostarczenie listy routerów w celu redundancji, chociaż większość klientów użyje tylko pierwszego z listy.
- Opcja 6: Serwer Nazw Domenowych
- Dostarcza listę jednego lub więcej adresów IP serwerów DNS, których klient powinien używać do rozwiązywania nazw. Długość jest wielokrotnością 4 bajtów. Dostarczenie co najmniej dwóch serwerów DNS (podstawowego i zapasowego) jest powszechną dobrą praktyką w celu zapewnienia redundancji.
# Przykładowy fragment konfiguracji serwera DHCP
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 1.1.1.1; - Opcja 15: Nazwa Domeny
- Ta opcja określa nazwę domeny, której klient powinien używać przy rozwiązywaniu nazw hostów. Na przykład, jeśli serwer dostarczy nazwę domeny 'firma.example.pl', użytkownik na maszynie klienckiej często może wpisać w przeglądarce samo 'serwer1', a system operacyjny automatycznie spróbuje rozwiązać 'serwer1.firma.example.pl'.
Opcje Zarządzania Czasem Dzierżawy
- Opcja 51: Czas Dzierżawy Adresu IP
- Ta opcja określa całkowity czas trwania dzierżawy adresu IP w sekundach, wysyłany jako 32-bitowa liczba całkowita bez znaku. Zarówno klient, jak i serwer używają tej wartości do zarządzania cyklem życia dzierżawy.
- Opcja 58: Czas Odnowienia (T1)
- Ta opcja określa interwał czasowy w sekundach, po którym klient przechodzi w stan ODNAWIANIA. Zazwyczaj jest ustawiany przez serwer na 50% całkowitego czasu dzierżawy. Gdy ten licznik wygaśnie, klient zaczyna wysyłać komunikaty DHCPREQUEST w trybie unicast do pierwotnego serwera w celu odnowienia dzierżawy.
- Opcja 59: Czas Ponownego Powiązania (T2)
- Ta opcja określa interwał czasowy w sekundach, po którym klient przechodzi w stan PONOWNEGO POWIĄZANIA. Zazwyczaj jest ustawiany przez serwer na 87.5% całkowitego czasu dzierżawy. Jeśli do tego czasu klientowi nie uda się odnowić dzierżawy u pierwotnego serwera, zaczyna rozgłaszać komunikaty DHCPREQUEST, aby znaleźć dowolny dostępny serwer DHCP, który przedłuży jego dzierżawę.
Lista Żądanych Parametrów (Opcja 55): Lista Życzeń Klienta
Klienci DHCP nie tylko pasywnie akceptują wszystkie opcje, które serwer zdecyduje się wysłać. Protokół DHCP zawiera mechanizm, dzięki któremu klient może jawnie zażądać określonych parametrów konfiguracyjnych, których potrzebuje. Odbywa się to za pomocą Opcji 55: Lista Żądanych Parametrów.
W swoich komunikatach DHCPDISCOVER lub DHCPREQUEST, klient dołączy Opcję 55, która zawiera listę kodów opcji, którymi jest zainteresowany. Na przykład, typowy klient może wysłać listę zawierającą , co oznacza, że chce otrzymać maskę podsieci, router, serwery DNS, nazwę domeny i serwery NTP.
Serwer DHCP spojrzy na tę listę i spróbuje dostarczyć wartości dla jak największej liczby żądanych opcji, na które jest skonfigurowany, w swoich odpowiedziach DHCPOFFER i DHCPACK. Ta negocjacja czyni protokół bardziej wydajnym, ponieważ serwer nie marnuje miejsca na wysyłanie opcji, których klient nie potrzebuje lub nie rozumie.
Opcje Specjalnego Przeznaczenia i Specyficzne dla Dostawców
Elastyczność DHCP jest dodatkowo zwiększona przez opcje zaprojektowane dla specyficznych przypadków użycia, w szczególności do uruchamiania sieciowego i dostosowań dostawców.
Opcje do Uruchamiania Sieciowego (PXE)
pozwala komputerowi uruchomić się i załadować system operacyjny bezpośrednio z sieci, bez potrzeby lokalnego dysku twardego. DHCP odgrywa w tym procesie centralną rolę.
- Opcja 66: Nazwa Serwera TFTP: Gdy klient PXE się uruchamia, najpierw pobiera adres IP przez DHCP. Oferta DHCP może zawierać Opcję 66, która informuje klienta o nazwie hosta lub adresie IP serwera Trivial File Transfer Protocol (TFTP).
- Opcja 67: Nazwa Pliku Uruchomieniowego: Opcja 67 określa nazwę pliku startowego (np. 'pxelinux.0' lub 'bootx64.efi'), który klient powinien pobrać z serwera TFTP, aby rozpocząć instalację lub ładowanie systemu operacyjnego.
Opcja 43: Informacje Specyficzne dla Dostawcy
Niemożliwe jest stworzenie standardowego kodu opcji dla każdej możliwej potrzeby konfiguracyjnej. Opcja 43 stanowi ogólny kontener, który pozwala dostawcom na przekazywanie własnych, zastrzeżonych informacji konfiguracyjnych do swoich urządzeń.
Jest to powszechnie stosowane w sieciach korporacyjnych. Na przykład nowy punkt dostępowy Wi-Fi firmy Cisco lub Ubiquiti, po podłączeniu do sieci, może otrzymać adres IP swojego kontrolera sieci bezprzewodowej za pośrednictwem subopcji specyficznej dla dostawcy, zamkniętej w Opcji 43. Pozwala to punktowi dostępowemu na automatyczne znalezienie i zarejestrowanie się w kontrolerze bez żadnej ręcznej konfiguracji.