Er zijn vele verschillende manieren dat SDWAN van Fortinet ingezet kan worden, een daarvan is door uw VPNs in de gaten te houden middels SDWAN health checks op basis van Loopback adressen.
De voordeel van het gebruik van loopback adressen is dat iedere site 1 uniek IP adres gebruikt voor SDWAN monitoring, waarmee 1 of meerdere verbindingen mee in de gaten gehouden kan worden. Met gebruik van loopback interfaces hoef je niet voor iedere verbinding individueel een SDWAN monitor te maken.
In dit tech artikel hebben we de volgende opstelling:
- 2x Fortigate met FortiOS 7.0.13+
- 2 Internetverbindingen op iedere locatie
In dit artikel wordt uitgebreid gebruik gemaakt van de CLI, omdat ten tijde van schrijven van dit document niet alle configuratie mogelijk is via de GUI.
In deze situatie zijn de fysieke Internetverbindingen op poort 17 en poort 18 al in SDWAN geconfigureerd en is al volledig functioneel. We gaan in dit tech artikel VPN’s bouwen tussen deze fortigates, deze VPNs in SDWAN zetten, en vervolgens SDWAN monitoring aanzetten.
Basisconfiguratie WAN
In dit tech artikel staat SDWAN al geconfigureerd op de Internetverbindingen. De SDWAN configuratie is als volgt:
WDX-MSS-FW01 |
config system sdwan set status enable config zone edit “virtual-wan-link” next end config members edit 1 set interface “port17” set gateway 100.64.10.1 set cost 100 next edit 2 set interface “port18” set gateway 100.64.10.129 set cost 110 next end config health-check edit “GooglePing” set server “8.8.8.8” set update-static-route disable set members 1 2 config sla edit 1 set latency-threshold 50 set jitter-threshold 50 set packetloss-threshold 25 next end next end config service edit 1 set name “Internet” set mode sla set dst “all” set src “all” config sla edit “GooglePing” set id 1 next end set priority-zone “virtual-wan-link” next end end config router static edit 1 set status enable set dst 0.0.0.0 0.0.0.0 set distance 1 set sdwan-zone “virtual-wan-link” next end config firewall policy edit 1 set name “Internet” set srcintf “lan” set dstintf “virtual-wan-link” set action accept set srcaddr “all” set dstaddr “all” set schedule “always” set service “ALL” set logtraffic all set nat enable next end |
WDX-CC-FW01 |
config system sdwan set status enable config zone edit “virtual-wan-link” next end config members edit 1 set interface “port17” set gateway 100.64.20.1 set cost 100 next edit 2 set interface “port18” set gateway 100.64.20.129 set cost 110 next end config health-check edit “GooglePing” set server “8.8.8.8” set update-static-route disable set members 1 2 config sla edit 1 set latency-threshold 50 set jitter-threshold 50 set packetloss-threshold 25 next end next end config service edit 1 set name “Internet” set mode sla set dst “all” set src “all” config sla edit “GooglePing” set id 1 next end set priority-zone “virtual-wan-link” next end end config router static edit 1 set status enable set dst 0.0.0.0 0.0.0.0 set distance 1 set sdwan-zone “virtual-wan-link” next end config firewall policy edit 1 set name “Internet” set srcintf “lan” set dstintf “virtual-wan-link” set action accept set srcaddr “all” set dstaddr “all” set schedule “always” set service “ALL” set logtraffic all set nat enable next end |

Deze configuratie is beknopt als volgt:
- Poort 17 en Poort 18 zijn members van de zone “virtual-wan-link”
- Poort 17 heeft een cost van 100, Poort 18 heeft een cost van 110 (Actief/Passief m.b.t. Client naar Internet verkeer)
- Er is 1 SDWAN healthcheck op beide interfaces geconfigureerd, GooglePing, welke naar 8.8.8.8 pingt. (Tip: zorg ervoor dat je in productie altijd meer als 1 check in gebruik hebt op de internetverbindingen)
- Default route staat naar de virtual-wan-link zone
- Security Policy gemaakt welke vanaf LAN alles naar SDWAN toelaat met NAT ingeschakeld.
- Er is een VLAN interface aangemaakt met een /16 subnet voor “lan”.
Nieuwe situatie overzicht
In de nieuwe situatie worden 2 VPN’s gebouwd, een over Internetverbinding 1 (beide locaties) en een over Internetverbinding 2 (beide locaties). Elke Firewall wordt voorzien van 1 Loopback adapter. Elke locatie heeft een /16 als “LAN” subnet welke met elkaar moeten kunnen communiceren. We gaan configureren dat SDWAN automatisch VPN’s uitschakelt wanneer op een (of meerdere locaties) een internetverbinding uitvalt.

Loopback Interface Configuratie
Het essentiële van deze configuratie is de Loopback Interface. De Loopback interface wordt gebruikt door SDWAN om te controleren of de VPN-verbinding nog functioneert. Hiermee is het niet nodig dat elke VPN tunnel individueel van IP adressen moet worden voorzien en zijn de firewalls op locatie te monitoren met 1 IP adres.
In de GUI ziet de loopback adapterconfiguratie als volgt uit:

In de CLI ziet dit als volgt uit:
WDX-MSS-FW01 |
config system interface edit “sdwan-monitor” set vdom “root” set ip 10.255.0.10 255.255.255.255 set allowaccess ping set type loopback set role lan next end |
WDX-CC-FW01 |
config system interface edit “sdwan-monitor” set vdom “root” set ip 10.255.0.20 255.255.255.255 set allowaccess ping set type loopback set role lan next end |
VPN Configuratie
In dit hoofdstuk behandelen we de VPN configuratie.
De VPN’s zijn geconfigureerd als volgt:
- IKEv2 met PSK
- Phase1: AES256-SHA256 DH5 & DH14
- Phase2: AES256-SHA256 met PFS DH5 & DH14 met 0.0.0.0/0 als traffic selector
- Adverteer het sdwan-monitor loopback IPv4 adres via de VPN.
Wegens de laatste punt is het niet mogelijk om dit exclusief via de GUI te doen, onderstaand is deze configuratie in blauw gemarkeerd. In de CLI ziet deze configuratie als volgt uit:
WDX-MSS-FW01 |
config vpn ipsec phase1-interface edit “VPN-ISP1” set interface “port17” set ike-version 2 set peertype any set net-device disable set exchange-interface-ip enable set exchange-ip-addr4 10.255.0.10 set proposal aes256-sha256 set remote-gw 100.64.20.2 set psksecret xxxxxxx next edit “VPN-ISP2” set interface “port18” set ike-version 2 set peertype any set net-device disable set exchange-interface-ip enable set exchange-ip-addr4 10.255.0.10 set proposal aes256-sha256 set remote-gw 100.64.20.130 set psksecret xxxxxxx next end config vpn ipsec phase2-interface edit “VPN-ISP1” set phase1name “VPN-ISP1” set proposal aes256-sha256 next edit “VPN-ISP2” set phase1name “VPN-ISP1” set proposal aes256-sha256 next end |
WDX-CC-FW01 |
config vpn ipsec phase1-interface edit “VPN-ISP1” set interface “port17” set ike-version 2 set peertype any set net-device disable set exchange-interface-ip enable set exchange-ip-addr4 10.255.0.20 set proposal aes256-sha256 set remote-gw 100.64.10.2 set psksecret xxxxxxx next edit “VPN-ISP2” set interface “port18” set ike-version 2 set peertype any set net-device disable set exchange-interface-ip enable set exchange-ip-addr4 10.255.0.10 set proposal aes256-sha256 set remote-gw 100.64.10.130 set psksecret xxxxxxx next
end config vpn ipsec phase2-interface edit “VPN-ISP1” set phase1name “VPN-ISP1” set proposal aes256-sha256 next edit “VPN-ISP2” set phase1name “VPN-ISP2” set proposal aes256-sha256 next end |
Nu gaan we deze VPNs in SDWAN configureren.
Maak op beide firewalls een nieuwe zone aan genaamd “VPN”
conf sys sdwan
config zone
edit “VPN”
next
end
end
De volgende configuratie moet via de CLI gebeuren, want de configuratie “set source” is niet mogelijk via de GUI:
WDX-MSS-FW01 |
config system sdwan config members edit 0 set interface “VPN-ISP1” set zone “VPN” set source 10.255.0.10 next edit 0 set interface “VPN-ISP2” set zone “VPN” set source 10.255.0.10 next end end
|
WDX-CC-FW01 |
config system sdwan config members edit 0 set interface “VPN-ISP1” set zone “VPN” set source 10.255.0.20 next edit 0 set interface “VPN-ISP2” set zone “VPN” set source 10.255.0.20 next end end
|
De “edit 0” heeft op beide firewalls geresulteerd dat de SDWAN interface members de nummers 3 en 4 hebben gekregen. In de GUI zit dit nu als volgt er uit:

Adresobjecten, SDWAN policy en Security Policy
Om de configuratie overzichtelijker te maken, maken we gebruik van groepen en adresobject met statische route configuratie. Door deze adresobjecten in groepen te zetten is het toevoegen van nieuwe subnetten in de toekomst makkelijker, omdat de groep gebruikt wordt in de Statische route configuratie én SDWAN configuratie tegelijk.
Eerst maken we de Adresobjecten op beide Firewalls aan:
config firewall address
edit “WDX-CC-lan”
set allow-routing enable
set subnet 10.20.0.0 255.255.0.0
next
edit “WDX-MSS-lan”
set allow-routing enable
set subnet 10.10.0.0 255.255.0.0
next
edit “WDX-CC-sdwan-monitor”
set subnet 10.255.0.20 255.255.255.255
next
edit “WDX-MSS-sdwan-monitor”
set subnet 10.255.0.10 255.255.255.255
next
end
config firewall addrgrp
edit “WDX-CC-Group”
set member “WDX-CC-lan”
set allow-routing enable
next
edit “WDX-MSS-Group”
set member “WDX-MSS-lan”
set allow-routing enable
next
end
Vervolgens maken we op beide firewalls de SDWAN healthchecks en SDWAN policy regel aan.
WDX-MSS-FW01 |
config system sdwan config health-check edit “WDXCCping” set server “10.255.0.20” set members 3 4 config sla edit 1 set latency-threshold 50 set jitter-threshold 50 set packetloss-threshold 25 next end next end config service edit 0 set name “VPN” set mode sla set dst “WDX-CC-lan” set src “WDX-MSS-lan” config sla edit “WDXCCping” set id 1 next end set priority-zone “VPN” next end end |
WDX-CC-FW01 |
config system sdwan config health-check edit “WDXMSSping” set server “10.255.0.10” set members 3 4 config sla edit 1 set latency-threshold 50 set jitter-threshold 50 set packetloss-threshold 25 next end next end config service edit 0 set name “VPN” set mode sla set src “WDX-CC-lan” set dst “WDX-MSS-lan” config sla edit “WDXMSSping” set id 1 next end set priority-zone “VPN” next end end |
Let op! Op beide Firewalls moet deze nieuwe VPN SDWAN policy regel Boven je Internetregel komen. Via de GUI kan je deze naar boven slepen.

Via de CLI kan je dit ook inzien door het “get” commando laat je de policy ID’s met naam en volgorde zien, en met het mode commando
WDX-CC-FW01 # config system sdwan
WDX-CC-FW01 (sdwan) # config service
WDX-CC-FW01 (service) # get
== [ 1 ]
id: 1 name: Internet
== [ 2 ]
id: 2 name: VPN
WDX-CC-FW01 (service) # move 2 before 1
WDX-CC-FW01 (service) # get
== [ 2 ]
id: 2 name: VPN
== [ 1 ]
id: 1 name: Internet
WDX-CC-FW01 (service) # end
Static Routes
Op de Firewalls maken we een static route aan om het verkeer naar de andere Site via SDWAN zone te versturen. In dit geval maken we 2 routes aan, omdat we dan de net aangemaakte groep kunnen gebruiken als destination address. Dit maakt het achteraf toevoegen van subnetten makkelijker.
WDX-MSS-FW01 |
config router static edit 0 set device “VPN-ISP1” set dstaddr “WDX-MSS-Group” next edit 0 set device “VPN-ISP2” set dstaddr “WDX-MSS-Group” next end |
WDX-CC-FW01 |
config router static edit 0 set device “VPN-ISP1” set dstaddr “WDX-CC-Group” next edit 0 set device “VPN-ISP2” set dstaddr “WDX-CC-Group” next end |
In de security policy maken we 3 regels aan
- Laat verkeer van VPN naar sdwan monitor toe
- Laat verkeer van VPN naar lan toe
- Laat verkeer van lan naar VPN toe
WDX-MSS-FW01 |
config firewall policy edit 0 set name “sdwan-monitor” set srcintf “VPN” set dstintf “sdwan-monitor” set action accept set srcaddr “WDX-CC-sdwan-monitor” set dstaddr “WDX-MSS-sdwan-monitor” set schedule “always” set service “PING” set logtraffic all next edit 0 set name “VPN-LAN” set srcintf “VPN” set dstintf “lan” set action accept set srcaddr “WDX-CC-Group” set dstaddr “WDX-MSS-lan” set schedule “always” set service “ALL” set logtraffic all next edit 0 set name “lan-VPN” set srcintf “lan” set dstintf “VPN” set action accept set srcaddr “WDX-MSS-lan” set dstaddr “WDX-CC-Group” set schedule “always” set service “ALL” set logtraffic all next end |
WDX-CC-FW01 |
config firewall policy edit 0 set name “sdwan-monitor” set srcintf “VPN” set dstintf “sdwan-monitor” set action accept set srcaddr “WDX-MSS-sdwan-monitor” set dstaddr “WDX-CC-sdwan-monitor” set schedule “always” set service “PING” set logtraffic all next edit 0 set name “VPN-LAN” set srcintf “VPN” set dstintf “lan” set action accept set srcaddr “WDX-MSS-Group” set dstaddr “WDX-CC-lan” set schedule “always” set service “ALL” set logtraffic all next edit 0 set name “lan-VPN” set srcintf “lan” set dstintf “VPN” set action accept set srcaddr “WDX-CC-lan” set dstaddr “WDX-MSS-Group” set schedule “always” set service “ALL” set logtraffic all next end |
Let op: bovenstaand is een onveilige security policy. Het wordt sterk aangeraden om policies van/naar je lan te specificeren in plaats van alles doorlaten van LAN naar VPN en vice versa.
Nu zal de SDWAN Monitoring aan beide kanten ook op OK gaan voor de VPN:
De VPN is nu volledig functioneel, een host uit 10.10.0.0/16 kan 10.20.0.0/16 benaderen en vice versa!
Wanneer een Internetverbinding uitvalt zal het Internetverkeer en VPN naar de andere internetverbinding overschakelen.






