Przejdz do tresci
Avanet

Konfigurowanie i testowanie serwera DHCPv6 na Sophos Firewall

Serwer DHCPv6 na Sophos Firewall przydziela klientom adresy IPv6 i parametry sieciowe. Konfiguracja rozpoczyna się w Network > DHCP > Add > IPv6. Inaczej niż w DHCPv4 sam serwer nie zapewnia jednak kompletnej sieci klienckiej: klienci poznają domyślną bramę IPv6 za pomocą Router Advertisement w Sophos Firewall, a nie DHCPv6.

Skrócony przebieg: Najpierw sprawdzić prefiks IPv6 i Router Advertisement, następnie wybrać interfejs i pulę dynamiczną w tym samym /64, ustawić Preferred time poniżej Valid time, świadomie wybrać DNS i wykonać test z rzeczywistym klientem. Przypisanie statyczne używa identyfikatora DUID klienta, a nie po prostu jego adresu MAC.

⚠️ Sophos Firewall nie może jednocześnie działać jako serwer DHCPv6 i DHCPv6 Relay. Przed aktywacją trzeba ustalić, która usługa obsługuje środowisko. Obecność prefiksu IPv6 lub widocznej dzierżawy nie potwierdza też domyślnej bramy, działającego DNS ani dozwolonego ruchu aplikacyjnego.

Rozdzielenie Router Advertisement i DHCPv6

W IPv4 DHCP zwykle dostarcza razem adres, maskę podsieci i domyślną bramę. IPv6 rozdziela te zadania. Router Advertisement, w skrócie RA, ogłasza prefiks i router. DHCPv6 może dostarczyć adres z zarządzanej puli, serwery DNS i inne opcje.

Dlatego muszą ze sobą współgrać trzy warstwy:

  • Interfejs ma planowany prefiks IPv6.
  • Router Advertisement sygnalizuje planowane zachowanie klienta i dostarcza domyślny router.
  • DHCPv6 przydziela odpowiednią pulę dzierżaw i wymagane wartości dodatkowe.

Jeżeli operator deleguje dynamiczny prefiks do zapory, planowanie rozpoczyna się od Konfiguracji IPv6 Prefix Delegation na Sophos Firewall. Obsługa IPv6 na Sophos Firewall w SFOS 22 wyjaśnia ogólne ograniczenia interfejsów, routingu, VPN, reguł i DNS.

Planowanie przykładowej sieci

Poniższa sieć laboratoryjna używa zakresu IPv6 2001:db8::/32, zarezerwowanego do celów dokumentacyjnych. Te wartości nie działają jako produkcyjne adresy internetowe i należy je zastąpić rzeczywistym prefiksem statycznym lub delegowanym:

  • Interfejs klientów: VLAN20 - 2001:db8:20::1/64
  • Pula dynamiczna: 2001:db8:20::100 do 2001:db8:20::1ff
  • Przypisanie statyczne: 2001:db8:20::20
  • Wewnętrzny serwer DNS: 2001:db8:10::53
  • Przykładowa nazwa: dhcpv6-vlan20-clients

Interfejs i pula dynamiczna znajdują się w tym samym /64. Istniejące adresy statyczne zapory, serwerów i infrastruktury nie mogą należeć do puli dynamicznej. Przed aktywacją należy zidentyfikować istniejące Router Advertisements, serwery DHCPv6 i agentów relay w segmencie, aby klienci nie otrzymywali sprzecznych informacji.

Konfigurowanie serwera DHCPv6

  1. W Network > DHCP kliknąć Add, a następnie IPv6.
  2. Jako Name wpisać dhcpv6-vlan20-clients.
  3. W sekcji Interface wybrać VLAN20 - 2001:db8:20::1.
  4. Dla klientów podłączonych bezpośrednio pozostawić Accept client request via relay wyłączone.
  5. W sekcji Dynamic IP lease dodać pulę od 2001:db8:20::100 do 2001:db8:20::1ff.
  6. Ustawić Preferred time i Valid time odpowiednio do cyklu życia prefiksu i klientów.
  7. Jako DNS server wpisać planowany wewnętrzny serwer DNS albo świadomie wybrać Use device’s DNS settings.
  8. Dodać tylko wymagane DHCP options i statyczne przypisania DUID.
  9. Zapisać przyciskiem Save.

Wybrana pula musi odpowiadać podsieci klientów. Dla klientów za relay pula należy do podsieci interfejsu relay. Accept client request via relay należy włączyć tylko wtedy, gdy serwer rzeczywiście przyjmuje żądania od sprawdzonego agenta DHCPv6 Relay.

Według Sophos po zaznaczeniu Accept client request via relay dla serwera DHCPv6 na fizycznym interfejsie z delegowanym prefiksem IPv6 plik konfiguracji DHCPv6 nie pokazuje zmiany. Tego szczególnego przypadku nie należy oceniać wyłącznie na podstawie pliku; topologia, ścieżka relay, dzierżawa i przepływ pakietów muszą być zgodne.

Znaczenie Preferred time i Valid time

Preferred time określa w minutach, jak długo adres zachowuje status preferowany dla nowych połączeń. Następnie otrzymuje status deprecated. Istniejące połączenia mogą nadal go używać, ale nowe powinny wybierać adres, który wciąż jest preferowany.

Valid time określa łączny czas ważności adresu. Po jego upływie klient nie może już używać adresu. Dlatego SFOS wymaga, aby Preferred time było krótsze niż Valid time.

Nie istnieje jedna uniwersalna wartość idealna. Przy dynamicznych prefiksach delegowanych przez operatora czasy DHCPv6 nie mogą zakładać, że prefiks pozostanie na pewno niezmieniony. W stabilnych sieciach wewnętrznych przydatne mogą być dłuższe wartości. Migracje lub często zmieniające się prefiksy wymagają krótszych, ale nadal realnych operacyjnie wartości oraz kontrolowanego testu odnowienia.

Świadome przekazywanie DNS

Opcja Use device’s DNS settings powoduje, że zapora przekazuje klientom swoje skonfigurowane serwery DNS. Jest to właściwe tylko wtedy, gdy serwery te poprawnie rozwiązują nazwy wewnętrzne i zewnętrzne dla sieci klienckiej. Alternatywnie wprowadza się rzeczywiste adresy IPv6 przewidzianych serwerów DNS.

Prawidłowa dzierżawa bez działającego rozwiązywania nazw nie oznacza pełnego sukcesu DHCPv6. Po sprawdzeniu adresu wykonuje się więc wewnętrzny i zewnętrzny test DNS. Konfiguracja DNS Request Routes na Sophos Firewall pozostaje istotna dla stref wewnętrznych i Split DNS.

Zarządzanie własnymi opcjami DHCPv6 w Device Console

Device Console zarządza własną opcją DHCPv6 w dwóch etapach. Najpierw opcja jest definiowana globalnie, a następnie wiązana z serwerem DHCPv6 wybranym według nazwy. Przed zmianą poniższe polecenia pokazują istniejące definicje i powiązania serwera docelowego:

system dhcpv6 dhcpv6-options list
system dhcpv6 dhcpv6-options binding show dhcpname <nazwa-serwera-DHCPv6>

Pomoc SFOS 22 składniowo dopuszcza dla optioncode wartości od 1 do 65535. Nie oznacza to, że każdy kod jest obsługiwany przez SFOS lub interpretowany przez klienta. Odpowiednia tabela Sophos wymienia kody 21, 22, 24 oraz od 27 do 34. Przed utworzeniem definicji należy wspólnie sprawdzić kod opcji, typ danych, RFC i obsługę po stronie klienta.

⚠️ Pomoc online pokazuje tylko skróconą składnię poleceń i nie wyjaśnia w pełni wartości oraz typów danych wymaganych do utworzenia opcji. Na danej zaporze należy użyć uzupełniania klawiszem Tab po system dhcpv6 dhcpv6-options add oraz system dhcpv6 dhcpv6-options binding add. Nie należy bez weryfikacji kopiować polecenia z innej kompilacji SFOS.

Po utworzeniu powiązania należy ponownie uruchomić binding show, a następnie odnowić dzierżawę na kliencie testowym. Przechwycenie pakietów musi pokazać oczekiwaną opcję z prawidłową wartością w odpowiedzi serwera. Podczas wycofywania najpierw usuwa się powiązanie, a dopiero później nieużywaną definicję globalną. Ponieważ opublikowana przez Sophos składnia usuwania powiązania podaje tylko dhcpname, operację traktuje się jako działanie na poziomie serwera i nigdy nie wykonuje bez wcześniejszego zapisania istniejących powiązań.

Tworzenie statycznego przypisania DUID

DHCPv6 identyfikuje klienta za pomocą DHCP Unique Identifier, czyli DUID. W sekcji Static IP DUID mapping adres IPv6 przypisuje się zatem do rzeczywistego DUID klienta. Adres MAC odczytany z obudowy nie jest wiarygodnym zamiennikiem.

Najpierw należy pozwolić klientowi testowemu uzyskać dynamiczną dzierżawę i odczytać jego DUID z klienta, widoku dzierżaw lub przechwyconych pakietów. Następnie wprowadza się statyczny adres 2001:db8:20::20 poza pulą dynamiczną. Po ponownym żądaniu dzierżawy dokładnie ten klient musi otrzymać planowany adres.

Po zmianie systemu operacyjnego, wygenerowaniu nowego DUID lub sklonowaniu systemu z szablonu przypisanie może już nie odpowiadać klientowi. Nie należy wtedy rozszerzać reguły zapory, lecz najpierw sprawdzić rzeczywiście wysyłany DUID.

Testowanie dzierżawy i ścieżki danych

Po zapisaniu należy ponownie połączyć kontrolowanego klienta z właściwym VLAN-em lub odnowić jego konfigurację IPv6. W Network > DHCP > IPv6 lease oczekiwany adres musi pojawić się przy odpowiednim kliencie.

Następnie każdą warstwę sprawdza się osobno:

  1. Klient otrzymuje adres z planowanej puli lub statyczny adres DUID.
  2. Klient ma domyślną bramę IPv6 z Router Advertisement.
  3. Planowane serwery DNS są widoczne i rozwiązują nazwy wewnętrzne oraz zewnętrzne.
  4. Klient osiąga adres zapory i świadomie wybrany cel testowy IPv6.
  5. Log Viewer pokazuje oczekiwaną regułę zapory IPv6 dla ruchu aplikacyjnego.
  6. Test negatywny potwierdza, że niedozwolone usługi IPv6 pozostają zablokowane.

Reguła IPv4 nie zezwala automatycznie na IPv6. Wymagane reguły strefowe planuje się osobno i weryfikuje za pomocą Rule ID oraz rzeczywistego ruchu. Procedurę opisuje Konfigurowanie reguł Sophos Firewall.

Brak dzierżawy lub niepełna konfiguracja IPv6

Klient nie otrzymuje adresu DHCPv6

Najpierw należy porównać prefiks interfejsu, stan serwera DHCPv6 i pulę dynamiczną. Następnie sprawdzić, czy klient w tym trybie żąda zarządzanego adresu DHCPv6 oraz czy w segmencie działa inny serwer lub relay.

Przechwycenie pakietów z tym filtrem BPF pokazuje komunikaty klienta i serwera przez UDP 546 i 547:

udp port 546 or udp port 547

Jeżeli komunikaty klienta są widoczne, ale brak odpowiedzi, należy sprawdzić konfigurację serwera i dhcpd6.log. Jeżeli nie widać żadnego komunikatu klienta, bardziej prawdopodobne są tryb RA, zachowanie klienta, VLAN lub lokalna ścieżka sieciowa. Pola przechwytywania wyjaśnia artykuł Korzystanie z Packet Capture w Sophos Firewall WebAdmin.

Klient ma adres, ale nie ma domyślnej bramy

DHCPv6 nie przekazuje domyślnej bramy. Ten objaw prowadzi więc bezpośrednio do Router Advertisement, interfejsu i segmentu klienta. Dodanie drugiego serwera DHCPv6 lub zmiana czasów dzierżawy nie przywraca brakującej informacji o routerze.

Brakuje DNS lub opcji

Najpierw należy sprawdzić, o co klient prosi w komunikacie DHCPv6 i co zapora faktycznie zwraca. Następnie sprawdzić typ danych, wartość i używany serwer DHCPv6. Wpisu z opcji DHCP na Sophos Firewall nie wolno bezpośrednio kopiować z DHCPv4 do DHCPv6; kod opcji, RFC i obsługa klienta muszą odpowiadać DHCPv6.

Adres statyczny nie jest przydzielany

Należy porównać przesyłany DUID z Static IP DUID mapping. Jeżeli wartości się nie zgadzają, zapora nie może zastosować przypisania. Jeżeli są zgodne, sprawdza się pulę adresów, zduplikowane serwery i nowe żądanie dzierżawy.

Konflikt relay i serwera

Serwer DHCPv6 i DHCPv6 Relay nie mogą być aktywne równocześnie na Sophos Firewall. Jeżeli przewidziano centralny serwer zewnętrzny, lokalny serwer DHCPv6 nie powinien działać równolegle jako rzekomy fallback. Konfigurowanie DHCP Relay na Sophos Firewall wyjaśnia ścieżkę relay.

Plik dhcpd6.log i inne logi sieciowe opisano w artykule Sprawdzanie usług i logów Sophos Firewall przez CLI. Pojedynczy wpis w logu nie zastępuje widoku dzierżaw, przechwycenia pakietów i testu klienta.

Wycofanie zmiany

Przed aktywacją produkcyjną należy udokumentować wcześniejszy stan RA, rolę DHCPv6 lub relay i istniejącą konfigurację klientów. Podczas rollbacku nowy serwer DHCPv6 jest wyłączany lub usuwany, przywracana jest poprzednia logika relay albo adresowania i nawiązywane jest nowe połączenie klienta.

Następnie ponownie testuje się adres, domyślną bramę, DNS i rzeczywistą ścieżkę danych IPv6. Stary i nowy serwer nie powinny pozostawać aktywne równolegle bez koordynacji tylko po to, aby rollback wydawał się łatwiejszy.

Często zadawane pytania

Czy DHCPv6 zastępuje Router Advertisement?

Nie. Domyślna brama IPv6 pochodzi z Router Advertisement. DHCPv6 może dostarczać adresy i dodatkowe parametry, ale nie zastępuje RA.

Dlaczego statyczne przypisanie DHCPv6 używa DUID?

DHCPv6 identyfikuje klienta za pomocą DHCP Unique Identifier. Przypisanie musi zatem odpowiadać DUID rzeczywiście wysyłanemu przez klienta i nie można go wiarygodnie wyprowadzić wyłącznie z adresu MAC.