Multi WAN w OPNsense
W firewallu OPNsense może zostać skonfigurowanych kilka równoległych połączeń z internetem (połączeń WAN). Mogą one zostać skonfigurowane w tak zwanym trybie failover lub load-balancing, jak i kombinacji obu metod. W tym artykule chcemy przedstawić konfigurację tradycyjnego sieciowego połączenia z internetem w kombinacji z bezprzewodowym połączeniem typu LTE w trybie failover.

Failover
Tryb WAN failover wymaga przynajmniej dwóch połączeń WAN.
2 połączenia WAN bez IPv6
W przykładzie wszystkie połączenia WAN nie wspierają IPv6 i dlatego najpierw wyłączamy obsługę konfiguracji IPv6 na pierwszym działającym połączeniu:
-
Dashboard
-
Wybór przy IPv6 Configuration Type opcji None i kliknięcie na Save.
-
Kliknięcie na Apply changes.
-
Zmieniona konfiguracja została przyjęta.
-
Usunięcie reguły dla IPv6 pod Firewall -> Rules -> LAN.
-
Kliknięcie na Apply changes.
-
Zmieniona konfiguracja została przyjęta.
Drugie połączenie WAN będzie realizowane za pośrednictwem bezprzewodowego połączenia LTE. Najpierw należy odpowiednio skonfigurować modem:
Następnie zostaje przeprowadzona odpowiednia konfiguracja drugiego połączenia WAN:
-
Pod Interfaces -> Assingments należy wybrać wcześniej skonfigurowany interfejs ppp0.
-
Kliknięcie na plus.
-
Kliknięcie na OPT1.
-
Wprowadzenie jako opis WAN2.
-
Kliknięcie na Save.
-
Kliknięcie na Apply changes.
-
Oba połączenia WAN są teraz widoczne na pulpicie nawigacyjnym.
IP monitorów
Do monitorowania połączeń WAN muszą zostać skonfigurowane odpowiednie adresy IP. W naszym przykładzie zostają wykorzystane publicznie dostępne adresy IP serwera DNS 8.8.8.8[1] i 9.9.9.9:[2][3]
-
Pod System -> Gateways -> Single należy kliknąć na Edit' przy pierwszej bramie.
-
Ustawienia należy skonfigurować i zapisać w sposób przedstawiony na zrzucie.
-
Przy drugiej bramie należy również kliknąć na Edit.
-
Również tutaj należy skonfigurować i zapisać ustawienia w sposób przedstawiony na zrzucie.
-
Kliknięcie na Apply changes.
-
Zmieniona konfiguracja została przyjęta.
Gateway group
-
Pod System -> Gateways -> Single -> Group należy kliknąć na Add group.
-
Ustawienia należy skonfigurować w sposób przedstawiony na zrzucie.
-
Kliknięcie na Save.
-
Kliknięcie na Apply changes.
-
Zmieniona konfiguracja została przyjęta.
Gateway dla DNS
-
Pod System -> Settings -> General należy wprowadzić dane serwer DNS jak jest to widoczne na zrzucie.
Routing policy
-
Pod Firewall -> Rules -> LAN należy przy IPv4 Regel kliknąć na Edit.
-
Jako Gateway należy wybrać WANGWGROUP.
-
Kliknięcie na Save.
-
Kliknięcie na Apply changes.
-
Zmieniona konfiguracja została przyjęta.
Reguły firewalla dla DNS
-
Pod Firewall -> Rules -> LAN należy przy IPv4 Regel kliknąć na Add new rule.
-
Ustawienia należy skonfigurować w sposób przedstawiony na zrzucie.
-
Ustawienia należy skonfigurować w sposób przedstawiony na zrzucie.
-
Zaznaczenie pola wyboru i kliknięcie przy IPv4 Regel na move ....
-
Kliknięcie na Apply changes.
-
Zmieniona konfiguracja została przyjęta.
Test na bezawaryjność
-
W razie potrzeby przed testem awarii można odpowiednio dopasować wartości progowe bram.
-
Wartości progowe (1/2).
-
Wartości progowe (2/2).
-
Na backbonie pierwszego połączenia WAN wystąpiła awaria. Pomimo, że połączenie na firewallu ma status up to OPNsense rozpoznał awarię.
-
Po krótkim czasie wartość utraconych pakietów (Loss) wynosi 100%. Ruch zostaje przekierowany na drugie łącze WAN.
-
Informacje o awarii zostają zapisane pod System -> Gateways -> Logs.
-
Po ponownym nawiązaniu pierwszego połączenia WAN ruch ponownie odbywa się przez to połączenie.
Load balancing


Load balancing może być wykorzystane do podziału obciążenia ruchu internetowego pomiędzy dwóch lub więcej dostawców usług internetowych. Co zwiększa przepustowość dostępnego łącza internetowego.
W przypadku takiej konfiguracji należy wykonać następujące kroki konfiguracyjne:
- Podzielić ruch w internecie, poprzez wybranie tej samej bramki (gateway) dla kilku połączeń (vide Gateway Gruppe).
- Aby kolejne pakiety istniejącego połączenia były kierowane przez to samo połączenie WAN do Internetu, należy aktywować opcję Sticky Connections w Firewall -> Settings -> Advanced. W razie potrzeby można również dodatkowo skonfigurować "Source Tracking Timeout", aby pakiety do tego samego docelowego adresu IP mogły być nadal kierowane przez to samo połączenie WAN, również przez określony czas po zakończeniu danego połączenia.
- Jeśli połączenia WAN mają różną przepustowość to można odpowiednio skonfigurować obciążanie poszczególnych bramek. Na przykład, jeśli pierwsze połączenie WAN ma przepustowość 10 MBit, a drugie 20 MBit to dla pierwszej bramki przy Weight należy wprowadzić wartość 1, a dla drugiej bramki wartość 2. Ustawienia dla obu bramek można przeprowadzić w System -> Gateways -> Single, klikając ikonę ołówka przy danej bramie, a następnie regulując wartość przy Weight w Advanced Options.
Uwagi
- Automatycznie generowane reguły reply-to: aby pakiety odpowiedzi były wysyłane przez to samo połączenie WAN, przez które zostały dostarczone pakiety przychodzące, korzysta OPNsense z automatycznie generowanych reguł reply-to. Komunikacja z innymi komputerami (poza domyślną bramą), które znajdują się bezpośrednio w tej samej sieci IP (sieć warstwy 2) nie jest zatem możliwa (patrz Komunikacja między komputerami w sieci WAN warstwy 2 i OPNsense), ale ponieważ po stronie WAN zazwyczaj wykorzystywane są połączenia point-to-point to rzadko stanowi to problem.
- Multi WAN z 2 interfejsami DHCP WAN: w przypadku korzystania z dwóch interfejsów WAN, z których każdy otrzymuje adresy IP jako klient DHCP, należy do wersji OPNsense 20.1.* instalować
opnsense-patch 0e2751d. OPNsense w wersji 20.7.b (wersja beta OPNsense 20.7) zawiera już ten patch.[4][5]
Dodatkowe informacje
- Multi WAN (docs.opnsense.org)
Odnośniki
- ↑ Google Public DNS (en.wikipedia.org)
- ↑ Quad9 (en.wikipedia.org)
- ↑ Quad9 DNS (www.quad9.net)
- ↑ Multi WAN with 2 DHCP WAN interfaces not working properly #3961 (github.com/opnsense/core/issues)
- ↑ OPNsense 20.7.b Release (github.com/opnsense/core) enthält rc.linkup: filter_configure() needs to be called after stop/start dev… 0e2751d
Autor: Werner Fischer
