Przejdz do tresci
Avanet

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 67 i 68; relay i serwer komunikują się przez UDP 67. Serwer musi mieć trasę zwrotną do adresu IP relay 10.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

  1. Otworzyć Network > DHCP.
  2. W sekcji Relay kliknąć Add.
  3. Wprowadzić jednoznaczną nazwę, na przykład relay-clients-vlan20.
  4. Wybrać IP version.
  5. W polu Interface wybrać interfejs klientów VLAN20 - 10.20.0.1.
  6. W polu DHCP server IP dodać serwer 172.16.16.17.
  7. 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ą:

  1. Połączenia IPsec Any-to-Any na obu zaporach.
  2. Zaadresowane interfejsy XFRM z bramą.
  3. Trasy statyczne, SD-WAN lub dynamiczne od relay do serwera DHCP oraz od serwera z powrotem do adresu IP relay 10.20.0.1.
  4. Dozwolony dostęp IPsec w Administration > Device access dla używanych interfejsów WAN.
  5. Reguła w centrali z VPN do strefy serwera, z Source 10.20.0.1, Destination 172.16.16.17 i Service DHCP.

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 VPN do strefy serwera: sieć relay do serwera DHCP, Service DHCP.
  • Ze strefy serwera do VPN: serwer DHCP do sieci klientów, Service DHCP.

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 add zmienia 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?

Nie. Opcję włącza się przy policy-based IPsec. W udokumentowanym projekcie route-based Any-to-Any pozostaje wyłączona.

Gdzie konfiguruje się opcje DHCP przy użyciu relay?

Na serwerze DHCP, który przydziela dzierżawę. Sophos Firewall jedynie przekazuje komunikaty DHCP między klientem a serwerem.

Dlaczego klient nie otrzymuje dzierżawy mimo dostępnego serwera DHCP?

Najczęściej brakuje właściwego zakresu dla podsieci relay albo trasy zwrotnej do interfejsu relay. Następnie należy sprawdzić reguły zapory, podsieci IPsec i UDP 67/68.