Opcje DHCP w Sophos Firewall (SFOS)
Opcje DHCP są potrzebne na Sophos Firewall, gdy klienci podczas uruchamiania potrzebują więcej niż tylko adresu IP, bramy i DNS. Typowe przypadki to PXE, WDS, Thin Clients, telefony VoIP lub starsze środowiska RED, gdzie określony kod opcji i typ danych muszą dokładnie pasować.
Aktualne wersje Sophos Firewall obsługują opcje DHCP bezpośrednio w WebAdmin. Dla większości środowisk nie jest już konieczna konfiguracja SSH lub CLI. Przykłady CLI pozostają jednak ważne, ponieważ starsze runbooki, specjalne przypadki i rozwiązywanie problemów często nadal używają tej składni.
Czym są opcje DHCP
DHCP nie tylko przydziela adres IP. Wraz z dzierżawą serwer DHCP może przekazywać klientowi dodatkowe informacje. Właśnie do tego służą opcje DHCP. Typowe przykłady to serwery DNS, brama, serwer TFTP, nazwa pliku startowego, parametry specyficzne dla dostawcy lub wartości dla Thin Clients i telefonów.
Na Sophos Firewall opcje DHCP zawsze należą do serwera DHCP lub zakresu, który wydaje dzierżawę. To ważne: jeśli klient otrzymuje swój adres od innego serwera DHCP, opcja musi być tam skonfigurowana. Jeśli Sophos Firewall działa tylko jako przekaźnik DHCP, przekazuje zapytania DHCP, ale nie jest miejscem, gdzie opcja dla tego zakresu jest utrzymywana.
Dla IPv6 DHCP nie zawsze jest traktowane tak samo jak dla IPv4. Jeśli dostawca deleguje prefiks IPv6, reklama routera, parametry DHCPv6 i zasady zapory są ze sobą powiązane. Proces ten jest opisany w Konfigurowanie delegacji prefiksu IPv6 na Sophos Firewall.
W praktyce przed konfiguracją należy wyjaśnić trzy rzeczy:
- Który serwer DHCP faktycznie rozdziela dzierżawę?
- W jakim zakresie lub na jakim interfejsie znajduje się klient?
- Jakie kody opcji, typy danych i wartości wymaga producent docelowego systemu?
Wymagania
- Sophos Firewall z włączonym serwerem DHCPv4
- Dostęp do
Network > DHCP - Zakres DHCP na odpowiednim interfejsie
- Wymagane kody opcji DHCP i wartości producenta lub systemu docelowego
- Dla CLI-fallbacks: dozwolony dostęp SSH do Sophos Firewall
Przed zmianą należy krótko sprawdzić dotknięty zakres. Opcje DHCP działają niezawodnie tylko wtedy, gdy są ustawione na właściwym serwerze DHCP, w odpowiedniej sieci i z właściwym typem danych.
- Serwer DHCP: Sophos Firewall musi sam wystawiać lease. Przy DHCP Relay opcje zwykle konfiguruje się na centralnym serwerze DHCP.
- Zakres i interfejs: Klient w niewłaściwym VLAN-ie lub na innym interfejsie nie zobaczy opcji, nawet jeśli została poprawnie zapisana.
- Kod opcji i typ danych: Wiele błędów wynika z tego, że klient oczekuje
string,ipaddress,array-oflub wartości producenta inaczej niż zostało to wpisane. - Klient testowy: Znane urządzenie w danej sieci pokazuje, czy opcja rzeczywiście trafia w DHCP offer lub ACK.
- Okno zmian: PXE, telefony i thin clients mogą zostać dotknięte natychmiast po zmianie lease. Dlatego zmiany należy testować kontrolowanie.
Jeśli opcja jest istotna dla urządzeń produkcyjnych, należy wcześniej wiedzieć, jak ją usunąć lub przywrócić do poprzedniej wartości. Dotyczy to szczególnie opcji startowych, serwerów provisioningowych i opcji dostawcy specyficznych dla producenta.
1. Utwórz lub sprawdź serwer DHCP
Aby opcje DHCP mogły być dystrybuowane, najpierw potrzebny jest serwer DHCPv4 na Sophos Firewall. Pełną konfigurację podstawową obejmującą pulę adresów, bramę, DNS, czas dzierżawy i test opisano w artykule Konfiguracja Sophos Firewall jako serwera DHCP. Następnie serwer edytuje się w Network > DHCP.
Najważniejsze jest:
- Serwer DHCP jest przypisany do interfejsu.
- Zakres pasuje do sieci, w której znajdują się klienci.
- Serwery DNS, brama i czas dzierżawy są poprawnie ustawione.
- Nazwa DHCP nie zawiera zbędnych spacji ani znaków specjalnych.
- Przypadki specjalne PXE, VoIP, Thin Client lub RED są wcześniej udokumentowane.
Szczególnie nazwa DHCP jest istotna przy poleceniach CLI. Jeśli nazwa zawiera spacje lub znaki specjalne, późniejsze polecenia i runbooki stają się niepotrzebnie podatne na błędy. Zrozumiałe nazwy, takie jak DHCP_Server_Avanet_LAN, Home_Scope lub DHCP_VoIP, są w praktyce łatwiejsze.

2. Konfiguracja opcji DHCP w WebAdmin
Gdy serwer DHCPv4 jest już utworzony, opcje można dodać bezpośrednio w tym samym dialogu.
- Otwórz
Network > DHCP. - Edytuj istniejący serwer DHCPv4 lub utwórz nowy serwer.
- Przejdź do sekcji
DHCP options. - Dodaj opcję.
- Dla własnych opcji ustaw
OptionsnaCustomi wprowadźCode,TypeorazValue. - Zapisz zmiany.
- Sprawdź za pomocą klienta testowego, czy opcja została rzeczywiście przyjęta.
Pola oznaczają:
OptionsalboOption: Wybór między predefiniowanymi opcjami DHCP a własnymi opcjami custom. Przy opcjachCustomkod opcji wprowadza się ręcznie.Code: Numeryczny kod opcji DHCP, na przykład66,67,161albo wartość specyficzna dla producenta.Type: Typ danych używany do kodowaniaValue, na przykładIP address,String,Booleanalbo jeden z typów liczbowych i tablicowych dostępnych na liście.Value: Konkretna wartość, którą ma otrzymać klient, na przykład adres IP, nazwa hosta, ścieżka albo port.
Poprawne wartości zazwyczaj dostarcza producent systemu docelowego. Zwłaszcza w przypadku wartości typu string, ścieżek lub opcji specyficznych dla dostawcy warto sprawdzić dokumentację producenta. Formalnie zapisany wartość nie oznacza automatycznie, że klient zinterpretuje ją tak, jak się oczekuje.
W SFOS 22 pełna ścieżka dla nowego zakresu to Network > DHCP > Server > Add. Dla istniejącego zakresu należy otworzyć akcję edycji, a następnie DHCP options. Opcje predefiniowane używają wartości oferowanych przez SFOS. W opcji niestandardowej Code, Type i Value muszą odpowiadać aktualnej dokumentacji klienta lub producenta. Oficjalna tabela rozróżnia między innymi String, IP address, Boolean oraz wartości liczbowe i tablice o różnych rozmiarach.
Przy sprawdzaniu danych referencyjnych pomoc SFOS 23 rozdziela opcje DHCPv4 w Appendix A i opcje DHCPv6 w Appendix B. Obie tabele rozróżniają Data type, Data format i Data value (example) oraz wskazują odpowiedni RFC. Sam typ danych zatem nie wystarcza: format wartości również musi odpowiadać danej opcji. Wartości przykładowe nie są obowiązkowymi ustawieniami dla własnej sieci. Kodów i wartości opcji DHCPv4 nie należy przenosić bez zmian do DHCPv6; trzeba sprawdzić właściwe przyporządkowanie dla DHCPv6. Rozszerzenie tabel referencyjnych nie dowodzi, że dana opcja została wprowadzona dopiero w SFOS 23.
Przygotowanie zmiany i wycofania
Przed Save należy zapisać każdy zmieniany wiersz wraz z opcją, kodem, typem i poprzednią wartością. Najpierw testuje się jeden kontrolowany zakres. Jeśli test się nie powiedzie, należy edytować ten sam serwer DHCPv4, usunąć tylko nowy wiersz lub przywrócić zapisaną wartość i ponownie zapisać konfigurację. Następnie trzeba odnowić dzierżawę klienta testowego i sprawdzić w DHCP Offer lub ACK, czy znów przekazywany jest stan początkowy. Nie należy pochopnie usuwać globalnej definicji przez CLI, ponieważ inny serwer DHCP może jej nadal używać.
3. Typowe przypadki użycia
Opcje DHCP są najczęściej potrzebne, gdy klient podczas uruchamiania potrzebuje dodatkowych informacji. Częste przypadki to PXE, WDS, Thin Clients, telefony VoIP, punkty dostępu lub pojedyncze scenariusze legacy.
PXE i WDS
Dla środowisk PXE lub WDS często używane są opcje 66 i 67:
66wskazuje na serwer TFTP lub Deployment.67zawiera nazwę pliku startowego.
Jeśli klient osiąga serwer, ale nie bootuje, problem często nie leży po stronie zapory, ale w nieprawidłowej ścieżce pliku, nieodpowiednim typie danych lub niepasującej architekturze pliku. Klienci UEFI i BIOS często wymagają różnych plików startowych.
Ważne w aktualnych wersjach SFOS: Next-server i Boot file są osobnymi polami boot option w serwerze DHCPv4. Od SFOS 20.0 MR1 nie są już automatycznie traktowane wyłącznie jako opcje DHCP 66 i 67. Jeśli urządzenie wyraźnie oczekuje opcji 66 lub 67, należy świadomie utrzymywać te wartości w DHCP options, a nie tylko wypełniać pola boot option.
Przy aktualizacji do SFOS 20.0 MR1 lub nowszej istniejące wartości Next-server i Boot file pozostają jako boot options oraz dodatkowo jako opcje DHCP 66 i 67. Po migracji należy więc sprawdzić, czy wartości nie występują podwójnie i czy klient analizuje oczekiwany wariant.
SFOS przyjmuje w polu Next-server adres IP lub FQDN, ale nie adres URL. Pole Boot file wymaga pełnej ścieżki wraz z nazwą pliku. Obie wartości muszą odpowiadać faktycznie używanemu serwerowi startowemu i architekturze klienta.
Thin Clients
Thin Clients wymagają w zależności od producenta opcji dla serwera zarządzania, serwera obrazów lub parametrów połączenia. W starych runbookach można znaleźć na przykład:
161dla serwera192dla portu lub dodatkowych parametrów
Czy te kody są poprawne, zależy od producenta i używanego modelu Thin Client. Dlatego nie należy ich przyjmować na ślepo, ale zawsze sprawdzać w dokumentacji producenta.
Telefony IP Avaya jako konkretny przykład producenta
Pomoc SFOS 22 pokazuje opcje 176 i 252 jako wartości typu String dla telefonów Avaya. Podane adresy IP i port są wyłącznie wartościami dokumentacyjnymi i należy je zastąpić rzeczywistymi serwerami komunikacyjnymi, TFTP i HTTP w danym środowisku:
Option 176, String: MCIPADD=192.168.30.99,MCPORT=1719,TFTPSRVR=192.168.30.201
Option 252, String: ConfigHttpSrvr=192.168.30.102
Po odnowieniu dzierżawy należy sprawdzić w DHCP Offer lub ACK, czy klient otrzymuje dokładnie te ciągi. Następnie logi telefonu i serwerów muszą potwierdzić, że urządzenie rzeczywiście korzysta z przewidzianych usług. Ten przykład nie jest uniwersalną konfiguracją Avaya.
Starsze przypadki specjalne RED
W starszych środowiskach zdarzały się przypadki, w których zintegrowany punkt dostępu w Sophos RED 15w nie był poprawnie rozpoznawany. W tym celu czasami używano specyficznej dla producenta opcji DHCP, na przykład z kodem opcji 234 i wartością jak 10.10.10.12.
To nie jest ogólny standard dla nowoczesnych instalacji SD-RED. Jako przykład legacy jest jednak nadal przydatny, ponieważ pokazuje, jak definiować własne kody opcji i przypisywać je do serwera DHCP.
Dla aktualnych projektów RED artykuł Konfigurowanie i rozwiązywanie problemów z Sophos SD-RED jest bardziej pomocny. Jeśli chodzi o projektowanie interfejsów, VLAN, mostków lub RED, dodatkowo pomocny jest Planowanie i konfigurowanie stref i interfejsów Sophos Firewall.
4. Prawidłowe rozróżnienie DHCP Relay
Przy DHCP Relay Sophos Firewall przekazuje żądania klientów do serwera w innej sieci. Opcje DHCP konfiguruje się więc na serwerze, który przydziela dzierżawę, a nie na zaporze relay.
Wybór interfejsu, wiele serwerów, sieci lokalne oraz policy-based i route-based IPsec opisano wraz z przykładowymi wartościami, regułami, poleceniami i Packet Capture w artykule Konfiguracja i test DHCP Relay w Sophos Firewall.
5. Używanie CLI w kontrolowany sposób
Dokumentacja SFOS 22 nadal opisuje oba kroki konfiguracji przez CLI: zdefiniowanie opcji za pomocą system dhcp dhcp-options add i powiązanie jej z serwerem DHCP za pomocą system dhcp dhcp-options binding add. Aktualne zestawienie poleceń Device Console przedstawia to polecenie jedynie w skrócie, natomiast oficjalna instrukcja dla telefonów Avaya zawiera pełną składnię. WebAdmin pozostaje bardziej przejrzystym wyborem dla nowych standardowych konfiguracji, a CLI jest przydatne przede wszystkim przy korzystaniu z istniejących runbooków, obsłudze zgłoszeń do wsparcia i kontrolowanych migracjach.
Device Console należy rozważyć tylko wtedy, gdy:
- starszy artykuł lub runbook opiera się już na poleceniach CLI
- trzeba przetestować nietypowe opcje dostawcy
- w przypadku wsparcia chce się dokładnie zobaczyć, jakie powiązania są wewnętrznie zapisane
- środowisko zostało przejęte z bardzo starej wersji SFOS
- trzeba odtworzyć lub skontrolować polecenie z dokumentacji
Jeśli trzeba użyć składni potwierdzonej dla zainstalowanej wersji, należy najpierw przeczytać Łączenie się z Sophos Firewall przez SSH. Po zalogowaniu używa się 4. Device Console, a nie Advanced Shell. Przed każdą zmianą trzeba zapisać bieżącą konfigurację interfejsu webowego i istniejące powiązania.

Podstawowa zasada CLI: Definiowanie i wiązanie opcji
W konfiguracji CLI są dwa kroki:
- Opcja DHCP jest definiowana.
- Opcja jest wiązana z serwerem DHCP i otrzymuje tam wartość.
Najpierw definiuje się opcję:
system dhcp dhcp-options add optioncode optionname optiontype
Zastępniki oznaczają:
optioncode: numeryczny kod opcji DHCPoptionname: dowolnie wybrana nazwa opcjioptiontype: typ danych, na przykładipaddresslubstring
Przykład dla adresu IP jako opcji DHCP:
system dhcp dhcp-options add optioncode 234 optionname dhcp_magic_ip optiontype ipaddress
Następnie opcja jest wiązana z serwerem DHCP:
system dhcp dhcp-options binding add dhcpname optionname(234) value
Zastępniki oznaczają:
dhcpname: nazwa serwera DHCP z konfiguracji Sophos Firewalloptionname(234): nazwa wcześniej zdefiniowanej opcji wraz z kodem opcji w nawiasachvalue: wartość, która ma być dystrybuowana do klientów
Przykład:
system dhcp dhcp-options binding add dhcpname dhcp_red_avanet optionname dhcp_magic_ip(234) value 10.10.10.12
6. Przykłady CLI
Składnia definiowania i wiązania opcji jest oficjalnie udokumentowana w aktualnej instrukcji SFOS 22 dla telefonów Avaya. Poniższe wartości dla Thin Clients, WDS i RED są natomiast przykładami zależnymi od środowiska: przed użyciem należy sprawdzić kod opcji, typ danych i wartość w aktualnej dokumentacji producenta.
Serwer Thin Client
Za pomocą tej opcji Thin Client jest informowany, na którym serwerze znajduje się obraz lub komponent zarządzania:
system dhcp dhcp-options add optioncode 161 optionname ThinClientServer optiontype ipaddress
system dhcp dhcp-options binding add dhcpname DHCP_Server_Avanet_LAN optionname ThinClientServer(161) value '10.10.10.12'
Jeśli dodatkowo potrzebny jest port, można go ustawić jako string:
system dhcp dhcp-options add optioncode 192 optionname ThinClientServerPort optiontype string
system dhcp dhcp-options binding add dhcpname DHCP_Server_Avanet_LAN optionname ThinClientServerPort(192) value '443'
WDS i PXE
Wartość opcji DHCP dla serwera WDS lub TFTP można ustawić w ten sposób:
system dhcp dhcp-options binding add dhcpname Home_Scope optionname TFTP_Server_Name(66) value 172.16.16.11
Nazwa pliku startowego dla środowiska pre-boot jest przekazywana jako opcja 67:
system dhcp dhcp-options binding add dhcpname Home_Scope optionname Bootfile_Name(67) value \boot\x64\wdsnbp.com
Środowisko pre-boot to środowisko startowe, z którym klient uruchamia się podczas instalacji lub przywracania. W zależności od środowiska potrzebna ścieżka może się różnić, szczególnie w przypadku klientów UEFI, BIOS, 32-bitowych i 64-bitowych.
Wyświetlanie istniejących opcji
Przed zmianami należy wyświetlić istniejące opcje:
system dhcp dhcp-options list
Oficjalna instrukcja SFOS 22 wskazuje, że w przypadku DHCPv4 zapora obsługuje obiekty opcji o kodach od 1 do 255, ale to polecenie CLI wyświetla tylko opcje od 1 do 76. Miarodajnymi źródłami informacji o kodach, typach i kodowaniu pozostają Appendix A, rejestr IANA oraz dokumentacja klienta lub producenta.
Wyświetlanie powiązań serwera DHCP:
system dhcp dhcp-options binding show dhcpname DHCP_Server_Avanet_LAN
Chociaż aktualne zestawienie poleceń wymienia akcję delete, globalne usunięcie nie jest domyślnie bezpiecznym sposobem wycofania: inne serwery DHCP mogą używać tej definicji. Dla jednego zakresu należy przywrócić zapisany poprzedni stan w WebAdmin.
7. Typowe źródła błędów
Jeśli opcja DHCP jest zapisana, ale nie działa na kliencie zgodnie z oczekiwaniami, często wynika to z jednego z tych punktów:
- Niewłaściwy serwer DHCP odpowiada na zapytanie.
- Edytowano niewłaściwy zakres lub interfejs.
- Typ danych nie pasuje do oczekiwanej wartości.
- Adres IP, FQDN, port lub ścieżka są błędnie wpisane.
- Ścieżka pliku startowego nie pasuje do architektury klienta.
- Klient oczekuje stringu, ale opcja została ustawiona jako adres IP.
- Producent używa opcji specyficznych dla dostawcy, które wymagają dodatkowych parametrów.
- Dzierżawa nie została odnowiona po zmianie.
- Używany jest przekaźnik DHCP, mimo że opcja została utrzymywana na Sophos Firewall.
Po zmianie należy odnowić dzierżawę na kliencie testowym i sprawdzić, czy klient rzeczywiście otrzymuje oczekiwane opcje. Jeśli zachowanie nadal nie pasuje, zrzut pakietów często jest szybszy niż długie zgadywanie: w pakietach DHCP widać, który serwer odpowiada i jakie opcje są rzeczywiście dostarczane.
8. Testowanie zmiany
Po zapisaniu opcji DHCP nie należy tylko czekać, aż następny klient kiedyś pobierze nową dzierżawę. Lepszy jest kontrolowany test z znanym urządzeniem w dotkniętej sieci.
Sugerowany przebieg:
- Podłącz klienta testowego do właściwego VLAN lub interfejsu.
- Odnów starą dzierżawę lub uruchom ponownie klienta.
- Sprawdź, jakie adresy DHCP, brama, serwery DNS i dodatkowe opcje zostały odebrane.
- Przetestuj system docelowy, na przykład PXE-Boot, uruchomienie WDS, rejestrację Thin Client lub provisioning telefonu.
- Sprawdź w WebAdmin, czy dzierżawa pojawia się w oczekiwanym zakresie DHCP.
- Jeśli wynik nie pasuje, sprawdź za pomocą Packet Capture, który serwer DHCP odpowiada i jakie opcje są zawarte w ofercie lub ACK.
Dla wąskiego zrzutu zazwyczaj wystarczy filtr na UDP 67 i 68 między klientem a serwerem DHCP. Obsługa narzędzia WebAdmin jest opisana w Używanie Packet Capture w WebAdmin Sophos Firewall.
Przy testach PXE i WDS warto dodatkowo udokumentować, czy klient testowy używa BIOS czy UEFI. Wiele problemów z bootowaniem nie wynika z samego DHCP, ale z pliku startowego, który nie pasuje do architektury.
9. Rozwiązywanie problemów według objawów
Jeśli opcje DHCP nie działają, pomocna jest często kontrola zorientowana na objawy, zamiast ponownego tworzenia tej samej opcji.
- Klient nie otrzymuje adresu IP: Serwer DHCP, VLAN, interfejs albo relay nie pasują. Sprawdź listę lease, interfejs, VLAN i DHCP Relay.
- Klient otrzymuje IP, ale bez opcji: Odpowiada zły zakres lub zły serwer DHCP. Sprawdź DHCP offer lub ACK w Packet Capture.
- PXE znajduje serwer, ale nie startuje: Opcja
67, ścieżka pliku albo architektura nie pasuje. Sprawdź bootfile BIOS/UEFI oraz log TFTP/WDS. - Thin client się nie łączy: Zły kod opcji, typ albo wartość producenta. Porównaj dokumentację producenta i dostarczoną wartość.
- Zmiana działa dopiero później: Klient używa starego lease. Odnów lease, uruchom klienta ponownie albo uwzględnij lease time.
- Polecenie CLI nie działa: Nazwa DHCP, nazwa opcji albo notacja nawiasów jest błędna. Sprawdź
system dhcp dhcp-options listi wynik bindingu.
Jeśli w zrzucie odpowiada inny serwer DHCP, najpierw należy wyjaśnić projekt sieci. Dwa serwery DHCP w tej samej domenie rozgłoszeniowej są klasyczną przyczyną zmiennego zachowania. W przypadku bardziej złożonych pytań dotyczących VLAN, mostków lub interfejsów pomocne jest Planowanie i konfigurowanie stref i interfejsów Sophos Firewall.
Często zadawane pytania
Czy trzeba konfigurować opcje DHCP na Sophos Firewall za pomocą CLI?
Dlaczego opcja DHCP nie dociera do klienta?
Gdzie konfigurowane są opcje DHCP, gdy Sophos Firewall używa tylko DHCP Relay?
Jakie opcje DHCP są potrzebne dla PXE lub WDS?
66 dla serwera TFTP lub Deployment i 67 dla nazwy pliku startowego. Właściwa wartość zależy jednak od WDS, TFTP, BIOS/UEFI i architektury klienta.