Jeder kennt die Möglichkeit, mehrere Gateways als Failover bei BOVPN-Tunnels zu konfigurieren. Den zeitgleichen Betrieb eines VPN-Tunnels über gemeinsam gebündelte Internetleitungen kennt hingegen kaum jemand. Hier möchte ich erklären, was hierzu notwendig ist und wie ihr es umsetzen könnt.
Die Voraussetzungen sind überschaubar. An beiden Endpunkten benötigt ihr:
- eine WatchGuard Firebox mit der Unterstützung für BOVPN Virtual Interfaces
- gleich viele Internetleitungen, welche für die Bündelung verwendet werden soll
Folgende Ausnahme gilt für letzteren Punkt: Sofern auf einer Seite nur eine Internetleitung existiert, diese jedoch ausreichend Bandbreite bietet und mehrere IP-Adressen besitzt (min. so viele wie verwendete Internetleitungen auf der anderen Seite), kann hier getrickst werden.
In diesem Beispiel verwendete Netze:
Schnittstelle | Site A | Site B |
---|---|---|
External-1 IP-Adresse / Netzmaske | 212.5.181.26/29 | 80.123.44.74/29 |
External-1 Gateway | 212.5.181.25 | 80.123.44.73 |
External-2 IP-Adresse / Netzmaske | 101.10.90.10/29 | 51.47.74.10/29 |
External-2 Gateway | 101.10.90.9 | 51.47.74.9 |
LAN-IP-Adresse / Netzmaske | 192.168.10.1/24 | 192.168.20.1/24 |
virtuelle, lokale IP-Adresse BOVPN-1 | 10.10.10.1 | 10.10.10.3 |
virtuelle, Peer-IP-Adresse BOVPN-1 | 10.10.10.3 | 10.10.10.1 |
virtuelle, lokale IP-Adresse BOVPN-2 | 10.10.10.2 | 10.10.10.4 |
virtuelle, Peer-IP-Adresse BOVPN-2 | 10.10.10.4 | 10.10.10.2 |
Es wird davon ausgegangen, dass die Interface bereits konfiguriert sind.
Sofern nicht anders angegeben, beziehen sich folgende Angaben auf beide Fireboxen.
Im Multi-WAN wird die Routing-Methode für nicht-IPSec-Traffic auf "Routing Table" gestellt
Nun legen wir je Firebox zwei BOVPN Virtual Interfaces ein (VPN > BOVPN Virtual Interfaces) und fügen zudem auf der Seite "VPN Routes" die virtuellen IP-Adressen hinzu:
Site A
Site B
Das Ganze wiederholen wir jeweils für das zweite externe Interface. Achtet darauf, auch die entsprechenden virtuellen IP-Adressen zu setzen. In der Übersicht sieht dies am Ende wie folgt aus:
Nun müssen wir lediglich noch das dynamische Routing vornehmen. In diesem Fall per OSPF.
Dies findet ihr unter Network > Dynamic Routing... > OSPF. Vergewissert euch, dass die Checkbox "Enable Dynamic Routing" aktiviert ist. Aktiviert die Checkbox "Enable OSPF" und fügt folgende Konfiguration hinzu:
router ospf
ospf router-id 192.168.10.1
! exclude all but bvpn virtual interfaces
passive-interface default
no passive-interface bvpn1
no passive-interface bvpn2
! which networks are announced in OSPF area 0.0.0.0
! bvpn Point-to-Point networks
network 10.10.10.0/24 area 0.0.0.0
! Trusted network
network 192.168.10/24 area 0.0.0.0
router ospf
ospf router-id 192.168.20.1
! exclude all but bvpn virtual interfaces
passive-interface default
no passive-interface bvpn1
no passive-interface bvpn2
! which networks are announced in OSPF area 0.0.0.0
! bvpn Point-to-Point networks
network 10.10.10.0/24 area 0.0.0.0
! Trusted network
network 192.168.20/24 area 0.0.0.0
Solltet ihr weitere Netze über den Tunnel erreichbar machen wollen, müsst ihr diese lediglich unter "Trusted network" (ganz unten) ergänzen.
Beachtet zudem: Sollten dies nicht eure ersten BOVPN Virtual Interfaces gewesen sein, heißen die neuen Interfaces u.U. nicht bvpn1 und bvpn2. Dies ist dann anzupassen.
Solltet ihr Verbindungsprobleme bei einem oder mehreren BVPNs haben, kann dies daran liegen, dass ihr die MTU auf den externen Interfaces angepasst habt.
Im Debug-Log und/oder in der Datei quagga.log des Support Files (x.x.x.x_support\Fireware_XTM_Support\support_yyyyyyyyyyyyy\support\debug_log\quagga.log (x.x.x.x steht hierbei für die IP-Adresse der Firebox und yyyyyyyyyyyyy für die Seriennummer) ist dann folgender Eintrag zu finden:
local3.debug Dec 24 12:00:00 ospf[9588]: Packet[DD]: Neighbor 192.168.10.1 MTU 1476 is larger than [bvpn2:10.10.10.4]'s MTU 1464
Ihr müsst dann auf der entsprechenden Firewall für den betreffenden BVPN (im unteren Beispiel BVPN2) Folgendes zur OSPF-Konfiguration ganz zu Beginn hinzufügen:
interface bvpn2
ip ospf mtu-ignore