Konfiguracja i test DHCP Relay w Sophos Firewall
DHCP Relay przekazuje żądania DHCP z sieci klientów do serwera w innej sieci. Na Sophos Firewall otwiera się Network > DHCP, tworzy w sekcji Relay agenta dla interfejsu klientów i wprowadza adres IP serwera DHCP.
Skrócona procedura: wybrać interfejs klientów, wprowadzić serwer DHCP, sprawdzić na serwerze właściwy zakres i trasę zwrotną, odnowić dzierżawę i zarejestrować wymianę filtrem port 67 or port 68. Relay through IPsec włącza się tylko dla policy-based IPsec, a nie dla VPN route-based.
W przykładzie użyto sieci klientów 10.20.0.0/24, interfejsu relay 10.20.0.1 oraz serwera DHCP 172.16.16.17.
Wymagania i ograniczenia
Serwer DHCP musi mieć zakres dla 10.20.0.0/24. Sophos Firewall nie przydziela dzierżawy samodzielnie, lecz używa adresu interfejsu relay, aby serwer wybrał właściwy zakres. Jeżeli zapora ma zamiast tego przydzielać adresy bezpośrednio w podłączonej sieci klientów, odpowiedni jest artykuł Konfiguracja Sophos Firewall jako serwera DHCP. Opcje DHCP konfiguruje się na serwerze, który przydziela dzierżawę.
Konfiguracja podlega następującym ograniczeniom:
- Interfejs relay znajduje się w tej samej podsieci co klienci i nie może być interfejsem serwera DHCP.
- Agentów relay można tworzyć na interfejsach fizycznych i wirtualnych, takich jak VLAN, Wireless lub Bridge, ale nie na Interface Alias.
- W podsieci serwera DHCP nie tworzy się agenta relay.
- Dla każdej podsieci klientów tworzy się oddzielnego agenta relay.
- Dla jednego agenta relay można skonfigurować maksymalnie osiem serwerów DHCP. Żądanie trafia do wszystkich, a klient korzysta z pierwszego Offer.
- Serwer DHCPv4 i DHCPv4 Relay mogą działać jednocześnie na tej samej zaporze, ale nie na tym samym interfejsie.
- Serwer DHCPv6 i DHCPv6 Relay nie mogą być jednocześnie aktywne na tej samej zaporze.
- Między klientem a relay wymagane są porty UDP
67i68; relay i serwer komunikują się przez UDP67. Serwer musi mieć trasę zwrotną do adresu IP relay10.20.0.1.
Wiele celów relay powinno dostarczać temu samemu klientowi identyczne zakresy i opcje. W przeciwnym razie różne odpowiedzi powodują zachowanie trudne do odtworzenia.
Konfiguracja DHCP Relay bez VPN
- Otworzyć
Network > DHCP. - W sekcji Relay kliknąć Add.
- Wprowadzić jednoznaczną nazwę, na przykład
relay-clients-vlan20. - Wybrać IP version.
- W polu Interface wybrać interfejs klientów
VLAN20 - 10.20.0.1. - W polu DHCP server IP dodać serwer
172.16.16.17. - Pozostawić Relay through IPsec wyłączone i zapisać konfigurację.
Następnie odnowić dzierżawę na kliencie testowym. Jeśli klient nie otrzyma adresu, najpierw sprawdzić, czy serwer ma zakres dla 10.20.0.0/24 i zna trasę do interfejsu relay. W przypadku problemów z VLAN pomaga Konfiguracja interfejsu VLAN w Sophos Firewall.
DHCP Relay przez route-based IPsec
Od SFOS 21.0 Sophos dokumentuje DHCP Relay przez XFRM do zewnętrznego serwera DHCP za centralną zaporą. Udokumentowany projekt wykorzystuje tunel route-based Any-to-Any. Dla tej procedury nie potwierdzono route-based Traffic Selectors.
Wymagane są:
- Połączenia IPsec Any-to-Any na obu zaporach.
- Zaadresowane interfejsy XFRM z bramą.
- Trasy statyczne, SD-WAN lub dynamiczne od relay do serwera DHCP oraz od serwera z powrotem do adresu IP relay
10.20.0.1. - Dozwolony dostęp IPsec w
Administration > Device accessdla używanych interfejsów WAN. - Reguła w centrali z
VPNdo strefy serwera, z Source10.20.0.1, Destination172.16.16.17i ServiceDHCP.
W oddziale interfejs klientów konfiguruje się jako agent relay; Relay through IPsec pozostaje wyłączone. Żądanie relay jest tam ruchem generowanym przez system i nie wymaga własnej reguły zapory. Konfigurację tunelu i tras XFRM szczegółowo opisano w artykule Konfiguracja Site-to-Site IPsec w Sophos Firewall.
⚠️ Ta procedura route-based dotyczy zewnętrznego serwera DHCP za centralną zaporą. Interfejs Sophos Firewall jako centralny serwer DHCP nie jest obsługiwany w tym projekcie.
DHCP Relay przez policy-based IPsec
Przy policy-based IPsec w oddziale włącza się Relay through IPsec. Lokalne i zdalne podsieci połączenia IPsec muszą obejmować interfejs relay i serwer DHCP. Jeśli zewnętrzny serwer DHCP znajduje się za centralną zaporą, potrzebne są tam dwie reguły:
- Z
VPNdo strefy serwera: sieć relay do serwera DHCP, ServiceDHCP. - Ze strefy serwera do
VPN: serwer DHCP do sieci klientów, ServiceDHCP.
W udokumentowanej procedurze policy-based adres źródłowy ruchu relay generowanego przez system musi zostać ustawiony na adres IP relay za pomocą sys-traffic-nat. Poniższe polecenia wykonuje się po zalogowaniu przez SSH w Device Console. W SFOS 22.0 ten ruch generowany przez system nie wymaga dodatkowego system ipsec_route.
Przed zmianą zapisać bieżący stan:
show advanced-firewall
⚠️
sys-traffic-nat addzmienia globalną konfigurację NAT dla ruchu generowanego przez system. Destination i adres źródłowy muszą pasować do tunelu IPsec i trasy zwrotnej.
W przykładzie adres źródłowy interfejsu relay jest przypisywany dla ruchu do serwera DHCP:
set advanced-firewall sys-traffic-nat add destination 172.16.16.17 snatip 10.20.0.1
Następnie ponownie wykonać show advanced-firewall i sprawdzić, czy istnieje dokładnie ten wpis. Serwer musi móc osiągnąć 10.20.0.1 przez tunel.
Rollback:
set advanced-firewall sys-traffic-nat delete destination 172.16.16.17 snatip 10.20.0.1
Inne przypadki routingu policy-based i procedury dla starszych wersji SFOS wyjaśnia artykuł Tworzenie trasy IPsec w Sophos Firewall.
Gdy centrala sama jest serwerem DHCP
Jeśli centralna Sophos Firewall działa jako serwer DHCP przy policy-based IPsec, w Network > DHCP > Server tworzy się lub edytuje zakres serwera. Włączyć Accept client request via relay, wprowadzić zakres dzierżaw z 10.20.0.0/24 i ustawić 10.20.0.1 jako bramę. W agencie relay jako DHCP server IP podaje się interfejs serwera centralnej zapory; jego adres zastępuje odpowiednio 172.16.16.17 w poprzednim przykładzie NAT.
Następnie wyświetlić stan w centralnej Device Console:
system dhcp lease-over-IPSec show
⚠️ Poniższe ustawienie działa globalnie dla dzierżaw DHCP przez IPsec. Włączyć je tylko na zaporze, która sama przydziela dzierżawy.
Włączyć i następnie sprawdzić poprzednim poleceniem show:
system dhcp lease-over-IPSec enable
Rollback:
system dhcp lease-over-IPSec disable
Test działania i rozwiązywanie problemów
Sam zapisany agent relay nie potwierdza poprawnego działania konfiguracji. Na kliencie testowym odnowić dzierżawę, a w Diagnostics > Packet capture > Configure ustawić w polu Enter BPF string wąski filtr:
port 67 or port 68
W przepływie pakietów powinny kolejno pojawić się żądanie klienta, przekazane żądanie, Server Offer i droga powrotna. Obsługę i pola opisuje artykuł Packet Capture w WebAdmin Sophos Firewall.
Typowe błędy można zawęzić w następujący sposób:
- Nie widać żądania klienta: sprawdzić VLAN, port przełącznika, interfejs klienta lub lokalnego klienta DHCP.
- Żądanie dociera do zapory, ale nie jest przekazywane: sprawdzić interfejs relay, IP serwera, trasę oraz Relay through IPsec przy policy-based IPsec.
- Serwer odbiera żądanie, ale nie odpowiada: sprawdzić zakres dla podsieci relay, autoryzację serwera i lokalną zaporę serwera.
- Offer dociera do centrali, ale nie do klienta: sprawdzić trasę zwrotną, centralne reguły zapory, podsieci IPsec i wpis NAT.
- Klient otrzymuje nieprawidłową konfigurację: ustalić, który serwer odpowiada jako pierwszy, i porównać zakresy oraz opcje DHCP na wszystkich celach relay.
Często zadawane pytania
Czy Relay through IPsec trzeba włączać dla każdej sieci VPN?
Gdzie konfiguruje się opcje DHCP przy użyciu relay?
Dlaczego klient nie otrzymuje dzierżawy mimo dostępnego serwera DHCP?
67/68.