OPNsense/Multi WAN
Multi WAN Szenarien werden üblicherweise für Failover oder Load Balancing verwendet, aber auch Kombinationen sind mit OPNsense möglich
Configure Failover
- Um Failover einzurichten, werden die folgenden Schritte durchgeführt
- Hinzufügen von Monitor-IPs zu den Gateways
- Fügen Sie eine Gateway-Gruppe hinzu.
- Konfigurieren Sie DNS für jedes Gateway.
- Verwenden Sie richtlinienbasiertes Routing, um unsere Gateway-Gruppe zu nutzen.
- Hinzufügen einer Firewall-Regel für DNS-Verkehr, der für die Firewall selbst bestimmt ist.
Beispielkonfiguration
In unserem Beispiel wurden zwei bereits konfigurierte WAN-Gateways verwendet, die beide separat funktionieren. Als DNS und Monitor-IPs werden wir die DNS-Dienste 8.8.8.8 und 8.8.4.4 von Google verwenden, natürlich können Sie auch Ihre eigenen 'bekannt guten' Einstellungen verwenden.
Wir haben WAN und WAN2 definiert, wobei WAN unser primäres (Standard-)Gateway sein wird.
Schritt 1 - Überwachungs-IPs hinzufügen
Sie können diesen Schritt überspringen, wenn Sie die Überwachungs-IP bereits eingerichtet haben und beide Gateways als online angezeigt werden.
Um eine Überwachungs-IP hinzuzufügen, gehen Sie zu System ‣ Gateways ‣ Single und klicken Sie auf das erste Stiftsymbol, um das erste Gateway zu bearbeiten.
Stellen Sie nun sicher, dass Folgendes konfiguriert ist:
Disable Gateway Monitoring | Unchecked | Make sure monitoring is enabled |
Monitor IP | 8.8.8.8 | We use Google’s DNS |
Mark Gateway as Down | Unchecked |
Klicken Sie dann auf das zweite Bleistiftsymbol, um das zweite Gateway zu bearbeiten.
Stellen Sie nun sicher, dass Folgendes konfiguriert ist:
Disable Gateway Monitoring | Unchecked | Make sure monitoring is enabled |
Monitor IP | 8.8.4.4 | We use Google’s second DNS |
Mark Gateway as Down | Unchecked |
Schritt 2 - Gateway-Gruppe hinzufügen
Gehen Sie zu System ‣ Gateways ‣ Gruppe und drücken Sie + Gruppe hinzufügen in der oberen rechten Ecke.
Verwenden Sie die folgenden Einstellungen:
Group Name | WANGWGROUP | Enter a name for the gw routing later on |
Gateway Priority | WANGW / Tier 1 | Select the first gateway and Tier 1 |
.. | WAN2GW / Tier 2 | Select the second gateway and Tier 2 |
Trigger Level | Packet Loss | Select the trigger you want to use |
Description | Failover Group | Freely chosen description |
- Trigger Level
- Member Down
Triggers when the gateway has 100% packet loss.
- Packet Loss
Triggers when the packet loss to a gateway is higher than the defined threshold.
- High Latency
Triggers when the latency to a gateway higher than its defined threshold.
- Packet Loss or High Latency
Triggers for either of the above conditions.
Schritt 3 - DNS für jedes Gateway konfigurieren
Gehen Sie zu System ‣ Einstellungen ‣ Allgemein und stellen Sie sicher, dass jedes Gateway seine eigene DNS-Einstellung hat: wie hier:
DNS-Server
8.8.8.8 | WANGW |
8.8.4.4 | WAN2GW |
Schritt 4 - Richtlinienbasiertes Routing
Gehen Sie zu Firewall ‣ Regeln
Für unser Beispiel werden wir die Standardregel für den LAN-Durchgang aktualisieren. Klicken Sie auf den Bleistift neben dieser Regel (Default allow LAN to any rule).
Ändern Sie nun unter Gateway die Auswahl auf WANGWGROUP.
Speichern und Änderungen übernehmen
- Anmerkung
- Diese Regel verwendet die Gateway-Gruppe für den gesamten Verkehr, der aus unserem LAN-Netzwerk kommt. Das bedeutet auch, dass der Verkehr, der für die Firewall selbst bestimmt ist, in diese (falsche) Richtung geleitet wird. Aus diesem Grund ist Schritt 5 für den DNS-Verkehr erforderlich, der zu unserem DNS-Forwarder auf der Firewall selbst geht oder von ihm kommt.
Schritt 5 - Hinzufügen einer Zulässigkeitsregel für DNS-Verkehr
Fügen Sie eine Regel direkt oberhalb der Standard-LAN-Zulassungsregel hinzu, um sicherzustellen, dass der Verkehr von und zur Firewall an Port 53 (DNS) nicht an die soeben definierte Gateway-Gruppe weitergeleitet wird.
Beginnen Sie mit dem +-Symbol in der unteren linken Ecke.
Geben Sie die folgenden Details ein:
Action | Pass | Allow this traffic to pass |
Interface | LAN | |
TCP/IP Version | IPv4 | For our example we use IPv4 |
Protocol | TCP/UDP | Select the right protocol |
Source | any | |
Destination | Single host or Network | |
Destination | 192.168.1.1/32 | IP of the firewall only hence /32 |
Destination port range | DNS - DNS | Only DNS |
Category | DNS | See Organize PF Rules by Category |
Description | Local Route DNS | Freely chosen description |
Gateway | default | Select default |
- Anmerkung
- Wenn Sie Unbound für die DNS-Auflösung verwenden, sollten Sie auch Default Gateway Switching über System->Einstellungen->Allgemein aktivieren, da der lokal erzeugte Datenverkehr nur das aktuelle Standard-Gateway verwenden wird, das sich ohne diese Option nicht ändert.
Erweiterte Optionen
Für jedes Gateway gibt es mehrere erweiterte Optionen, mit denen Sie das Standardverhalten bzw. die Schwellenwerte ändern können. Diese Optionen können unter System ‣ Gateways ‣ Single geändert werden, indem Sie auf das Stiftsymbol neben dem Gateway drücken, das Sie aktualisieren möchten.
The current options are:
- Latency thresholds
- Low and high thresholds for latency in milliseconds.
- Packet Loss thresholds
- Low and high thresholds for packet loss in %.
- Probe Interval
- How often that an ICMP probe will be sent in seconds.
- Down
- The number of seconds of failed probes before the alarm will fire.
- Avg Delay Replies Qty
- How many replies should be used to compute average delay for controlling “delay” alarms?
- Avg Packet Loss Probes Qty
- How many probes should be used to compute average packet loss.
- Lost Probe Delay
- The delay (in qty of probe samples) after which loss is computed.
Configure Load Balancing
To setup load balancing follow the same configuration procedure as for Failover, but in step 2 choose same Tier for both Gateways.
This will change the behavior from failover to equal balancing between the two gateways.
Sticky Connection
Some web sites don’t like changing request IPs for the same session, this may lead to unexpected behavior. To solve this you can use the option Sticky Connections, this will make sure each subsequent request from the same user to the same website is send through the same gateway.
To set this option can be set under Firewall ‣ Settings ‣ Advanced.
Unequal Balancing (Weight)
If you have a non symmetric setup with one IPS having a much higher bandwidth than the other then you can set a weight on each gateway to change the load balance. For instance if you have one line of 10 Mbps and one of 20 Mbps then set the weight of the first one to 1 and the second one to 2. This way the second gateway will get twice as many traffic to handle than the first.
To do so, go to System ‣ Gateways ‣ Single and press the pencil icon next to the Gateway you want to update. The weight is defined under the advanced section.
Combining Balancing & Failover
To combine Load Balancing with Failover you will have 2 or more WAN connections for Balancing purposes and 1 or more for Failover. OPNsense offers 5 tiers (Failover groups) each tier can hold multiple ISPs/WAN gateways.