Procédure TP : LACP, Inter-sites et SD-WAN Fortinet
💡 Ressource EVE-NG : Pour vous permettre de reproduire ou d'auditer cette infrastructure, la maquette complète du projet est téléchargeable directement en cliquant maquette_sdwan_forti_eve-ng.zip. {.is-success}
1. Objectif du TP
Ce TP vise à simuler une infrastructure d'entreprise complète reliant deux sites. L'objectif est de garantir :
- La haute disponibilité locale via l'agrégation de liens (LACP).
- La sécurité des services via une zone DMZ isolée.
- La redondance inter-sites en utilisant deux chemins (VPN IPsec via Internet et une liaison MPLS simulée par BGP).
- L'intelligence du trafic via le SD-WAN pour choisir le meilleur chemin.
2. Architecture et Adressage
Tableau Récapitulatif
| Équipement | Interface | IP / Masque | Rôle |
|---|---|---|---|
| Fortinet | LACP-CORPO | 10.1.1.2 /30 | Lien vers le LAN |
| Fortinet | Port 3 (DMZ) | 192.168.150.254 /24 | Passerelle Serveurs telnet |
| Fortinet | Port 4 (WAN) | 1.1.1.5 /30 | Sortie FAI (Internet) |
| Fortinet | Port 6 (MPLS) | 1.1.1.1 /30 | Liaison inter-site dédiée |
| MLS-CORPO | Po1 | 10.1.1.1 /30 | Cœur de réseau |
| SRV-DMZ | e0/0 | 192.168.150.200 /24 | Serveur applicatif telnet |
| SITE2 | e0/2 (WAN) | 1.1.1.9 /30 | Entrée VPN/Internet |
Phase 1 : Connectivité LAN & Redondance (LACP)
L'agrégation de liens (LACP) combine deux ports physiques en un seul lien logique pour éviter qu'une panne de câble ne coupe le réseau.

A. Configuration du Switch Core (MLS-CORPO)
Créer un "tuyau" virtuel composé de deux câbles physiques. Si Gi0/0 tombe, Gi0/1 prend le relais instantanément sans perte de ping
1.Configuration du Switch Core (MLS-CORPO)
vlan 20
name VLAN20
vlan 30
name VLAN30
!
ip routing
!
interface range gi0/0,gi0/1
desc Liens vers Fortigate
no switchport ! On transforme ces ports de niveau 2 en ports de niveau 3
channel-group 1 mode active ! 'active' force le switch à négocier en LACP (norme 802.3ad)
no shut
!
interface port-channel 1
no switchport
ip addr 10.1.1.1 255.255.255.252 ! IP de management du lien agrégé
2. Services d'Adressage (DHCP) et Accès VLAN
Fournir automatiquement des IPs aux machines PCVLAN20 et 30 et configurer les ports d'accès à la sortie du MLS
! Configuration des serveurs DHCP pour chaque VLAN
ip dhcp pool POOL_VLAN20
network 192.168.20.0 255.255.255.0
default-router 192.168.20.254
!
ip dhcp pool POOL_VLAN30
network 192.168.30.0 255.255.255.0
default-router 192.168.30.254
!
! Affectation des ports physiques aux VLANs correspondants
interface g0/2
switchport mode access
switchport access vlan 20
no shut
!
interface g0/3
switchport mode access
switchport access vlan 30
no shut
3. Agrégation de Liens (LACP) et Routage OSPF
Créer l'EtherChannel vers le Fortigate et annoncer nos réseaux internes.
! Configuration du Port-Channel (LACP 802.3ad)
interface range gi0/0,gi0/1
no switchport ! Désactive le mode L2 pour permettre une IP routée
channel-group 1 mode active ! 'active' force la négociation LACP
no shut
!
interface port-channel 1
no switchport
ip addr 10.1.1.1 255.255.255.252 ! IP de transport entre le switch et le firewall
no shut
!
! Routage dynamique vers le Fortigate
router ospf 1
network 192.168.20.0 0.0.0.255 area 0
network 192.168.30.0 0.0.0.255 area 0
network 10.1.1.0 0.0.0.3 area 0
B. Configuration du Fortigate (LACP & OSPF)
Sur le FortiGate, nous configurons l'interface logique et le protocole de routage pour dialoguer avec le commutateur MLS
1. Création de l'interface d'agrégation (LACP)
Chemin : Network > Interfaces > Create New > Interface
Cette configuration permet au FortiGate de traiter les ports 7 et 8 comme un seul câble. Si l'un des deux est débranché, le trafic bascule automatiquement sur l'autre sans changer d'adresse IP.
2. Configuration du Routage Dynamique (OSPF)
Pour que le FortiGate et le MLS s'échangent les routes (c'est-à-dire que le FortiGate apprenne l'existence des VLANs 20 et 30), nous activons OSPF
Chemin : Network > OSPF

En déclarant le réseau 10.1.1.0/30 dans l'Area 0, le FortiGate va envoyer des paquets "Hello" sur l'interface LACP. Comme le switch Cisco fait la même chose en face, ils vont devenir "voisins" et s'échanger leurs tables de routage.
3. Équivalent en Lignes de Commande (CLI)
Voici la traduction technique de ce qui a été fait via l'interface graphique :
# Configuration de l'interface Aggrégée
config system interface
edit "PORT7 - 8"
set vdom "root"
set ip 10.1.1.2 255.255.255.252
set type aggregate # Active le mode LACP
set member "port7" "port8"
set alias "LACP-CORPO"
set role lan
next
end
# Configuration du routage OSPF
config router ospf
set router-id 10.1.1.2
config area
edit 0.0.0.0
next
end
config network
edit 1
set prefix 10.1.1.0 255.255.255.252
set area 0.0.0.0
next
end
end
Phase 2 : Publication du Serveur DMZ (VIP)
Faire du "Port Forwarding" (DNAT). On veut que n'importe qui sur Internet tapant l'IP publique 1.1.1.5 sur le port 23 (Telnet) soit redirigé vers le serveur interne 192.168.150.200
A. Configuration du Serveur DMZ (SRV-DMZ)
Ce serveur est simulé par un routeur Cisco. Nous lui attribuons une IP, définissons sa passerelle par défaut (le FortiGate) et activons le service Telnet
en
conf t
hostname SRV-DMZ
!
interface e0/0
ip address 192.168.150.200 255.255.255.0
no shut
exit
!
no ip routing ! Transforme le routeur en simple hôte (serveur)
ip default-gateway 192.168.150.254 ! L'IP du Port 3 du FortiGate
!
! Activation du service Telnet pour le test
line vty 0 4
password dmz
login
transport input telnet
B. Configuration du FortiGate (GUI & CLI)
1. Création de l'IP Virtuelle (VIP)
Le FortiGate doit savoir que s'il reçoit une requête sur le port 23, il doit la transmettre à la machine spécifique dans la DMZ
Chemin : Policy & Objects > Virtual IPs > Create New

Équivalent CLI :
config firewall vip
edit "VIP-DMZ"
set extip 1.1.1.5
set mappedip "192.168.150.200"
set extintf "port4"
set portforward enable
set extport 23
set mappedport 23
next
end
2. Création de la Politique de Sécurité (Firewall Policy)
Une fois le VIP créé, il faut autoriser le trafic à traverser le pare-feu du WAN vers la DMZ
Chemin : Policy & Objects > Firewall Policy > Create New

En choisissant l'objet VIP comme destination, le FortiGate sait qu'il doit appliquer le NAT avant d'envoyer le paquet dans le port 3.
Équivalent CLI :
config firewall policy
edit 3
set name "WAN-TO-DMZ"
set srcintf "port4"
set dstintf "port3"
set srcaddr "all"
set dstaddr "VIP-DMZ"
set action accept
set service "TELNET"
next
end
C. Validation de la Phase 2
Vous pourrez valider lorsque l'on aura configurer le FAI mais voici comment iil faudra faire :
Depuis le routeur du FAI (simulant Internet), lancer la commande telnet 1.1.1.5. L'invite de commande de SRV-DMZ doit apparaître, confirmant que le pare-feu a bien redirigé le trafic
Phase 3 : Connectivité Inter-Sites
L'objectif de cette phase est de relier le réseau local du Site 1 aux réseaux du Site 2 (192.168.50.0/24). Pour anticiper la mise en place du SD-WAN, nous devons configurer deux chemins distincts :
- Un chemin public (VPN IPsec) passant par Internet (via le FAI).
- Un chemin privé (MPLS) simulé par un routage BGP direct.
A. Configuration du Routeur FAI (Fournisseur d'Accès Internet)
Le routeur FAI simule l'Internet public. Son rôle est très simple : il doit juste savoir router les paquets entre les adresses IP publiques du FortiGate (1.1.1.5) et du routeur SITE2 (1.1.1.9). Nous lui ajoutons aussi une adresse 8.8.8.8 (Loopback) qui servira plus tard de cible de test (ping) pour le SD-WAN.
en
conf t
hostname FAI
!
! Interface connectée au FortiGate (Port 4)
interface Eth0/0
ip address 1.1.1.6 255.255.255.252
no shut
exit
!
! Interface connectée au SITE2
interface Eth0/1
ip address 1.1.1.10 255.255.255.252
no shut
exit
!
! Simulation d'une IP Internet publique (ex: DNS Google)
interface Loopback0
ip address 8.8.8.8 255.255.255.255
exit
!
! Routes statiques pour joindre les IPs publiques de nos sites
ip route 1.1.1.8 255.255.255.252 e0/1
ip route 1.1.1.4 255.255.255.252 e0/0
ip route 8.8.8.8 255.255.255.255 Loopback0
Dans la réalité, les routeurs des fournisseurs d'accès s'échangent les routes du monde entier de manière dynamique via le protocole BGP. Cependant, dans le cadre de cette maquette, le FAI n'a besoin de connaître que nos deux sites. Le routage statique est donc la méthode la plus simple et la plus optimisée pour lui dicter manuellement les chemins à emprunter.
Explication ligne par ligne des choix de routage :
ip route 1.1.1.8 255.255.255.252 e0/1
Le principe : Le réseau 1.1.1.8 /30 englobe l'adresse IP publique du SITE2 (1.1.1.9). Cette règle dicte au FAI : "Si tu reçois un paquet crypté venant du FortiGate et destiné au VPN du Site 2, tu dois le faire sortir par ton interface e0/1."
ip route 1.1.1.4 255.255.255.252 e0/0
Le principe : Le réseau 1.1.1.4 /30 englobe l'adresse publique du FortiGate (1.1.1.5). C'est indispensable : si le FAI sait envoyer un paquet au Site 2 mais ne sait pas comment lui répondre, la négociation du tunnel IPsec échouera (les paquets de retour seraient détruits). Cette route force le trafic de retour à sortir par e0/0.
ip route 8.8.8.8 255.255.255.255 Loopback0
Le principe : Le masque /32 (255.255.255.255) désigne une machine hôte unique, et non un réseau. Nous simulons ici un serveur DNS public hébergé directement sur le routeur FAI (via une interface virtuelle Loopback). Lors de la phase 4 (SD-WAN), le FortiGate enverra des "pings" en continu vers 8.8.8.8 pour mesurer la qualité de la ligne Internet (latence, perte de paquets). Cette route garantit que le FAI sait où diriger ces requêtes de test.
B. Configuration du Routeur SITE2 (Cisco)
C'est ici que les choses se compliquent. Ce routeur doit gérer à la fois le tunnel VPN complexe et le protocole BGP
1. Configuration de base et Adressage IP
Nous configurons ici le réseau local du Site 2 (Eth0/0), le lien dédié "MPLS" (Eth0/1) et le lien public vers le FAI (Eth0/2).
en
conf t
service password-encryption
hostname SITE2
!
! Interface LAN (Réseau local du Site 2)
interface Ethernet0/0
ip address 192.168.50.254 255.255.255.0
no shut
exit
!
! Interface WAN 1 : Lien "Privé" (Simulation MPLS vers Fortigate)
interface Ethernet0/1
ip address 1.1.1.2 255.255.255.252
no shut
exit
!
! Interface WAN 2 : Lien "Public" (Vers Internet/FAI)
interface Ethernet0/2
ip address 1.1.1.9 255.255.255.252
no shut
exit
2. Routage de base vers le FAI
Pour que le routeur puisse aller sur Internet (et donc monter son VPN), on lui configure une route par défaut. On ajoute aussi des routes de "secours" avec une distance administrative de 210.
Pourquoi ces routes ? La route 0.0.0.0 0.0.0.0 envoie tout le trafic inconnu vers le FAI. Les routes spécifiques (avec le chiffre 210 à la fin) sont des routes flottantes : elles disent au routeur "Si jamais le lien principal BGP tombe, voici le chemin de secours en passant par le FAI (1.1.1.10) pour joindre les VLANs 20, 30 et LACP du Site 1"
# Route par défaut vers Internet
ip route 0.0.0.0 0.0.0.0 1.1.1.10
# Routes de secours (Distance 210) pour joindre le SITE 1 via Internet si BGP tombe
ip route 192.168.20.0 255.255.255.0 1.1.1.10 210
ip route 192.168.30.0 255.255.255.0 1.1.1.10 210
ip route 10.1.1.0 255.255.255.252 1.1.1.10 210
3. Le lien privé : Routage BGP (Simulation MPLS)
Le BGP va annoncer dynamiquement le réseau local du Site 2 (192.168.50.0) au FortiGate.
# AS 65002 vers AS 65001 (Fortinet)
router bgp 65002
network 192.168.50.0 mask 255.255.255.0
neighbor 1.1.1.1 remote-as 65001
exit
4. Le lien public : Le Tunnel VPN IPsec
- Le VPN va chiffrer les données passant par l'interface publique (Eth0/2). Il se configure en deux phases strictes.
La création d'un tunnel IPsec sur un routeur Cisco ne se fait pas en une seule commande. C'est un processus strict qui se déroule en deux grandes phases (la négociation, puis le cryptage des données), suivies de la définition du trafic autorisé, et enfin l'assemblage de toutes ces règles.
Voici le décryptage pas-à-pas de cette configuration complexe :
Étape 1 : La Phase 1 (ISAKMP) - "La poignée de main secrète"
Avant d'envoyer la moindre donnée, les deux routeurs (SITE2 et FortiGate) doivent vérifier leur identité et s'accorder sur la façon de sécuriser leurs futurs échanges. C'est le rôle du protocole ISAKMP.
! -------- PHASE 1 : Négociation ISAKMP --------
crypto isakmp policy 10
encr des
hash md5
authentication pre-share
group 5
exit
! La clé partagée doit pointer vers l'IP publique du FortiGate
crypto isakmp key toto123 address 1.1.1.5
On dit au routeur : "Si tu veux parler au FortiGate (1.1.1.5), utilise le mot de passe toto123, et protégez vos premiers échanges avec les algorithmes DES et MD5." (Note : Ces algorithmes sont utilisés ici pour le TP, mais sont considérés comme obsolètes en vraie production).
La Phase 2 (IPsec) - "Le blindage des données"
Une fois que les routeurs se font confiance (Phase 1 OK), ils doivent définir comment ils vont crypter les vraies données des utilisateurs (le contenu des pings, des pages web, etc.). C'est le transform-set
! -------- PHASE 2 : Création du tunnel IPsec --------
crypto ipsec security-association lifetime seconds 43200
crypto ipsec transform-set MYSET esp-des esp-sha-hmac
mode tunnel
exit
On a créé une règle nommée MYSET qui stipule que les données seront chiffrées avec esp-des et vérifiées avec esp-sha. Le mode tunnel signifie que l'on va encapsuler le paquet IP d'origine dans un tout nouveau paquet IP pour cacher les adresses privées sur Internet.
Étape 3 : L'ACL - Définir le "Trafic Intéressant"
Le routeur a maintenant un tunnel prêt à l'emploi. Mais comment sait-il ce qu'il doit mettre dedans et ce qu'il doit envoyer "en clair" sur Internet ? Il faut lui créer un filtre : l'Access Control List (ACL).
! -------- ACL : Définir le "Trafic Intéressant" --------
! Si le SITE2 veut parler aux réseaux du Site 1, le trafic DOIT passer dans le VPN
ip access-list extended VPN
permit ip 192.168.50.0 0.0.0.255 192.168.20.0 0.0.0.255
permit ip 192.168.50.0 0.0.0.255 192.168.30.0 0.0.0.255
permit ip 192.168.50.0 0.0.0.255 10.1.1.0 0.0.0.3
exit
En résumé : On nomme ce filtre VPN. Il donne l'ordre suivant : "Si un PC du réseau 50 veut parler au réseau 20, 30 ou 10, alors attrape ce paquet, il doit aller dans le VPN !". Tout autre trafic (comme une recherche Google) sera ignoré par cette règle et ira sur le vrai Internet. (Attention à la syntaxe Cisco : on utilise des masques inversés (wildcards) dans les ACL, d'où le 0.0.0.255 au lieu de 255.255.255.0)
Étape 4 : La Crypto Map - L'assemblage final
Nous avons les briques (Phase 1, Phase 2, ACL), il faut maintenant les assembler dans un profil global appelé crypto map.
! -------- CRYPTO MAP : Assemblage final --------
crypto map VPN_TO_FORTI 10 ipsec-isakmp
set peer 1.1.1.5
set transform-set MYSET
set pfs group5
match address VPN
exit
! Application au port WAN Internet (Eth0/2)
interface Ethernet0/2
crypto map VPN_TO_FORTI
La crypto map est le plan de construction final. Enfin, la toute dernière étape consiste à "accrocher" cette map sur la porte de sortie du routeur vers Internet (l'interface Ethernet0/2). Le routeur va alors commencer à surveiller le trafic qui sort par ce port et appliquera les règles de cryptage si nécessaire.
C. Configuration du FortiGate (VPN & BGP)
Le FortiGate doit se comporter comme le jumeau exact du routeur SITE2 pour que les négociations aboutissent. Nous allons configurer le tunnel IPsec (le lien public) et le protocole BGP (le lien privé MPLS).
1. Configuration du Tunnel IPsec (Le lien de secours)
Contrairement à Cisco où l'on crée des "crypto map" et des "ACL", Fortinet utilise une approche par "Tunnels personnalisés" avec des sélecteurs de phase 1 et phase 2.
Méthode par l'Interface Graphique (GUI) : Chemin : VPN > IPsec Tunnels > Create New > IPsec Tunnel
- Nom et Template : Donne un nom (ex:
SITE1-TO-SITE2) et choisis le modèle Custom (Personnalisé) pour avoir la main sur tous les paramètres. - Network (Réseau) : * IP Address :
1.1.1.9(L'IP publique du SITE2).- Interface :
port4(L'interface connectée à Internet/FAI).
- Interface :

- Authentication : * Method : Pre-shared Key.
- Pre-shared Key :
toto123(Doit être identique au routeur Cisco).
- Pre-shared Key :

- Phase 1 Proposal (L'équivalent de la policy 10 ISAKMP) :
- Supprime les choix par défaut et sélectionne uniquement DES pour le cryptage (Encryption) et MD5 pour l'authentification (Authentication).
- Diffie-Hellman Group : Coche uniquement le 5.

-
Phase 2 Selectors (L'équivalent du transform-set et de l'ACL Cisco) :
- Dans les paramètres avancés de la Phase 2, choisis DES et SHA1 (ou laisse les valeurs par défaut si elles correspondent à ta configuration Cisco).
- Il faut créer un sélecteur de Phase 2 pour chaque sous-réseau source devant communiquer avec le réseau distant.
- Nous créons d'abord des objets "Address" correspondant aux sous-réseaux (VLAN 20, VLAN 30, LACP) et au réseau distant.
Définition des objets d'adresse pour les sélecteurs de trafic.- Ensuite, nous ajoutons les sélecteurs de Phase 2 en liant les adresses locales à l'adresse distante.



💡 Note importante sur l'ACL : Le routeur Cisco avait 3 lignes d'ACL (VLAN20, VLAN30, LACP). Sur FortiGate, pour correspondre parfaitement à cette ACL, il faut créer plusieurs "Phase 2 Selectors" dans le même tunnel, un pour chaque sous-réseau source, comme illustré ci-dessus.
Équivalent en Lignes de Commande (CLI) :
# Phase 1 : La poignée de main (Miroir ISAKMP Cisco)
config vpn ipsec phase1-interface
edit "SITE1-TO-SITE2"
set interface "port4"
set peertype any
set net-device disable
set proposal des-md5 # Miroir de 'encr des' et 'hash md5'
set dhgrp 5 # Miroir de 'group 5'
set remote-gw 1.1.1.9 # IP Publique du SITE2
set psksecret toto123 # La clé partagée
next
end
# Création des objets d'adresse pour la Phase 2
config firewall address
edit "SITE1-TO-SITE2_local_subnet_1"
set subnet 10.1.1.0 255.255.255.252
next
edit "SITE1-TO-SITE2_local_subnet_2"
set subnet 192.168.20.0 255.255.255.0
next
edit "SITE1-TO-SITE2_local_subnet_3"
set subnet 192.168.30.0 255.255.255.0
next
edit "SITE1-TO-SITE2_remote"
set subnet 192.168.50.0 255.255.255.0
next
end
# Phase 2 : Le cryptage des données (Miroir du transform-set et de l'ACL)
config vpn ipsec phase2-interface
# Sélecteur 1 : Pour le réseau de transport LACP
edit "SITE1-TO-SITE2"
set phase1name "SITE1-TO-SITE2"
set proposal des-sha1 # Miroir de 'esp-des esp-sha-hmac'
set dhgrp 5
set keylifeseconds 43200 # Miroir du lifetime
set src-addr-type name
set dst-addr-type name
set src-name "SITE1-TO-SITE2_local_subnet_1"
set dst-name "SITE1-TO-SITE2_remote"
next
# Sélecteur 2 : Pour le VLAN 20
edit "SITE1-TO-SITE2-20"
set phase1name "SITE1-TO-SITE2"
set proposal des-sha1
set dhgrp 5
set src-addr-type name
set dst-addr-type name
set src-name "SITE1-TO-SITE2_local_subnet_2"
set dst-name "SITE1-TO-SITE2_remote"
next
# Sélecteur 3 : Pour le VLAN 30
edit "SITE1-TO-SITE2-30"
set phase1name "SITE1-TO-SITE2"
set proposal des-sha1
set dhgrp 5
set src-addr-type name
set dst-addr-type name
set src-name "SITE1-TO-SITE2_local_subnet_3"
set dst-name "SITE1-TO-SITE2_remote"
next
end
2. Configuration du Routage BGP (Le lien principal MPLS)
Le protocole BGP va permettre au FortiGate de discuter avec le routeur SITE2 sur le lien dédié direct (Port 6).
Méthode par l'Interface Graphique (GUI) :
Chemin : Network > BGP

En BGP, on ne cherche pas automatiquement les voisins sur le réseau (contrairement à OSPF). On doit déclarer manuellement l'adresse IP exacte du voisin avec qui on veut discuter.
Équivalent en Lignes de Commande (CLI) :
config router bgp
set as 65001 # L'AS local (Fortigate)
set router-id 1.1.1.1
config neighbor
edit "1.1.1.2" # L'IP de l'interface en face (SITE2)
set remote-as 65002 # L'AS distant (SITE2)
next
end
end
D. Finalisation du Routage et Politiques de Pare-feu (Pré-SD-WAN)
Avant d'activer le SD-WAN, il faut s'assurer que les flux (Ping) passent dans le tunnel et le lien direct de manière autonome. Le FortiGate doit annoncer le réseau DMZ dans son routage interne, et surtout, autoriser le trafic à traverser ses interfaces de sécurité.
1. Annonce du réseau DMZ dans OSPF
Pour que l'ensemble de notre réseau interne connaisse le chemin exact vers la DMZ (192.168.150.0/24), nous devons l'ajouter au processus OSPF du FortiGate.
Méthode par l'Interface Graphique (GUI) :
- Allez dans Network > OSPF.
- Dans la section Networks, cliquez sur Create New.
- IP/Netmask :
192.168.150.0/255.255.255.0 - Area :
0.0.0.0
Équivalent en Lignes de Commande (CLI) :
config router ospf
config network
edit 2
set prefix 192.168.150.0 255.255.255.0
set area 0.0.0.0
next
end
end
2. Création des Politiques de Pare-feu (Firewall Policies)
Nous devons créer des règles pour autoriser le trafic à entrer et sortir de nos liens WAN. ⚠️ Très important : On ne fait jamais de NAT dans un tunnel VPN IPsec de site à site, ni sur un lien MPLS routé. Le NAT doit être sur Disable.
Chemin : Policy & Objects > Firewall Policy
1. Les règles pour le lien direct (MPLS)
L'interface port6 est notre lien direct (BGP) vers le routeur du Site 2.
LAN_BGP-SITES2 (Règle 12 - Aller) : Elle autorise notre réseau local (PORT7 - 8) à envoyer des données physiquement par le câble du port 6.
SITE2-BGP-LAN (Règle 13 - Retour) : Elle autorise les paquets qui arrivent sur le port 6 (en provenance du Site 2) à traverser le pare-feu pour atteindre nos machines locales.


2. Les règles pour le lien VPN IPsec
Le tunnel IPsec (SITE1-TO-SITE2) agit comme une interface virtuelle à part entière.
vpn_SITE1-TO-SITE2_local_0 (Règle 10 - Aller) : Elle autorise les paquets provenant de notre réseau local (PORT7 - 8) à entrer dans le tunnel IPsec pour aller vers le Site 2. C'est grâce à elle que notre "Ping" peut sortir.
vpn_SITE1-TO-SITE2_remote_0 (Règle 11 - Retour) : Elle autorise le trafic provenant du tunnel IPsec à rentrer dans notre réseau local. Si le routeur du Site 2 veut initier une communication vers notre DMZ ou nos VLANs, cette règle l'y autorise.


⚠️ Pourquoi "NAT" doit absolument être sur "Disable" ? C'est le point le plus crucial pour des liaisons inter-sites :
Si le NAT était activé, le FortiGate masquerait l'adresse IP privée de notre PC (ex: 192.168.20.10) et la remplacerait par l'adresse IP de son interface de sortie avant d'envoyer le paquet.
Le routeur du Site 2 ne connaîtrait donc jamais la vraie adresse de la machine source.
Dans un réseau d'entreprise (LAN to LAN), on veut toujours conserver le routage pur. Le NAT est désactivé pour que le paquet traverse le VPN ou le MPLS avec ses adresses IP privées d'origine intactes !
Équivalent en Lignes de Commande (CLI) :
config firewall policy
# Règles pour tester le VPN IPsec
edit 10
set name "vpn_SITE1-TO-SITE2_local_0"
set srcintf "PORT7 - 8"
set dstintf "SITE1-TO-SITE2"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat disable
next
edit 11
set name "vpn_SITE1-TO-SITE2_remote_0"
set srcintf "SITE1-TO-SITE2"
set dstintf "PORT7 - 8"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat disable
next
# Règles pour tester le lien MPLS
edit 12
set name "LAN_BGP-SITES2"
set srcintf "PORT7 - 8"
set dstintf "port6"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat disable
next
edit 13
set name "SITE2-BGP-LAN"
set srcintf "port6"
set dstintf "PORT7 - 8"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
set nat disable
next
end
3. Le secret du "210" (Les Routes Flottantes)
Dans la configuration du routeur SITE2, nous avons défini des routes statiques vers le FAI avec le paramètre 210 à la fin de la commande. Par exemple :
ip route 192.168.20.0 255.255.255.0 1.1.1.10 210
Voici sur le firewall sans changer la distance :

Pourquoi avoir fait cela ? En réseau, la Distance Administrative (AD) représente le niveau de "confiance" d'une route (plus le chiffre est bas, plus la route est prioritaire) :
- Une route statique normale a une AD de 1.
- Une route apprise via eBGP (notre lien principal MPLS) a une AD de 20.
Si nous n'avions pas mis le 210, nos routes statiques de secours (AD 1) auraient écrasé les routes BGP (AD 20). Le trafic serait toujours passé par Internet (VPN) au lieu de la liaison dédiée MPLS !

En forçant l'AD à 210, nous créons ce qu'on appelle des Routes Flottantes.
Le routeur va les garder en mémoire, mais elles n'apparaîtront dans la table de routage active que si le lien BGP principal (AD 20) vient à tomber. C'est un mécanisme de bascule de secours (failover) simple et redoutablement efficace avant même l'intervention du SD-WAN.

4. Validation Pré-SD-WAN (Test de bascule manuelle)
Avant de passer à la configuration du SD-WAN, nous allons tester manuellement que nos deux chemins fonctionnent et que le routeur SITE2 bascule bien sur le VPN si le lien principal est coupé.
Étape 1 : Validation du lien de secours (VPN IPsec)
Pour ce faire disable l'interface 6 du firewall {.is-success}
![]()
- Laissez le ping tourner sur le PC.
- Connectez-vous sur le FortiGate, allez dans Network > Interfaces, sélectionnez le port 6 et désactivez-le (Status : Disable).
- Observation : Le ping va s'interrompre pendant quelques secondes (le temps que le voisinage BGP tombe et que la route de secours "210" prenne le relais).
- Le ping va reprendre ! Le trafic est maintenant crypté et passe par le tunnel VPN IPsec via le port 4 (Internet). Le test est un succès.
Comment ça se fait : Les route BGP disparraisse pour laisser les route static vous pouvez le remarquer sur le SITE2

Étape 2 : Validation du lien principal (BGP/MPLS)
Pour ce faire enable l'interface 6 du firewall

- Depuis le PC du VLAN 20 (
PC-VLAN20), lancez un ping continu vers le routeur du Site 2 :ping 192.168.50.254 -t. - Le ping doit fonctionner.
- Vérification : Si vous faites un
tracert 192.168.50.254(outraceroute), vous verrez que le trafic passe directement par l'IP1.1.1.2, ce qui confirme que le flux emprunte le port 6 (lien BGP).
Phase 4 : Intelligence Réseau (SD-WAN)
Le but du SD-WAN est de ne plus dépendre d'une route statique figée, mais de laisser le FortiGate choisir dynamiquement le meilleur chemin vers le Site 2 en fonction de la qualité réelle des liens.
Le SD-WAN est une couche d'intelligence logicielle qui s'ajoute par-dessus tes connexions physiques (Internet, MPLS, 4G). Au lieu de traiter chaque lien séparément, le FortiGate les regroupe dans un faisceau virtuel.
Le concept de "Cerveau" du réseau Contrairement au routage traditionnel qui est "aveugle" (si la route est dans la table, il envoie le paquet même si le lien est saturé ou de mauvaise qualité), le SD-WAN est conscient de la qualité :
-
Il mesure en permanence la latence (le temps de trajet),** le jitter** (la variation du temps de trajet) et la perte de paquets.
-
Il prend des décisions selon des règles que tu as définies (SLA).
Étape 1 : Libération des interfaces (Le Nettoyage)
⚠️ Attention : Dans ton fichier de configuration, les interfaces port6 et SITE1-TO-SITE2 ne doivent plus être utilisées dans des routes statiques classiques avant d'être intégrées au SD-WAN.
Les politiques de sécurité (ID 10 à 13) et les routes statiques vers 192.168.50.0/24 doivent être supprimées pour permettre l'activation du SD-WAN.
Suppriimer toutes les regles de firewall faut celle WAN-TO-DMZ {.is-danger}

Étape 2 : Création de la Zone et des Membres
Créer un regroupement logique (la Zone virtual-wan-link) pour simplifier l'administration.
Procédure GUI :
- Allez dans Network > SD-WAN.
- Dans l'onglet SD-WAN Zones, cliquez sur Create New > SD-WAN Zone. Nommez-la
virtual-wan-link. - Allez dans l'onglet SD-WAN Members et cliquez sur Create New.
- Membre 1 (MPLS) : Sélectionnez
port6, affectez-le à la zonevirtual-wan-linket laissez le Cost à0. - Membre 2 (VPN) : Sélectionnez
SITE1-TO-SITE2, affectez-le à la zonevirtual-wan-linket réglez le Cost à10.
- Action : On insère le
port6(MPLS) et le tunnelSITE1-TO-SITE2(VPN) dans cette zone. - Logique de coût : Nous avons affecté un coût de 0 au MPLS et de 10 au VPN. En réseau, le coût le plus bas est toujours préféré. Le MPLS est donc désigné comme le chemin "autoroute" par défaut.
Étape 3 : Performance SLA (Le Test de Qualité)
Nous configurons le "thermomètre" qui va mesurer la santé des liens en pingant le FAI (8.8.8.8).
Procédure GUI :
- Allez dans Network > SD-WAN > Performance SLAs.
- Cliquez sur Create New. Nommez-le
SLA_SITE2. - Protocol : Ping.
- Server :
8.8.8.8. - Participants : Sélectionnez vos deux membres (
port6etSITE1-TO-SITE2). - SLA Targets : Activez et réglez la latence à
100mset la perte de paquets à5%. - Check Interval :
500ms.

- Action : Le FortiGate interroge le serveur
8.8.8.8toutes les 500ms. - Seuils de bascule : Si la latence dépasse 100ms ou si la perte de paquets franchit 5%, le lien est déclaré "Hors SLA" et devient inéligible pour le trafic prioritaire.
L'astuce technique (Source IP) : Nous devons forcer l'adresse IP source des membres sur 10.1.1.2 (l'IP interne du FortiGate). Sans cela, les pings de test de santé (SLA) utiliseront l'IP publique et seront rejetés par les sélecteurs de Phase 2 de notre tunnel VPN IPsec. Le SD-WAN croirait alors à tort que les liens sont hors-service.
Configuration en Lignes de Commande (CLI) :
config system sdwan
end
config members
edit 1
set source 10.1.1.2 # Force l'IP source pour le routage et les tests
end
end
Par défaut, quand le FortiGate envoie ses fameux "pings" de test (le Health-Check / SLA) pour vérifier si un lien SD-WAN est vivant, il utilise l'adresse IP de l'interface de sortie (par exemple l'IP publique de ton Port 4 ou l'IP de ton tunnel).
Le problème avec le VPN IPsec : Dans la Phase 3, tu as configuré les sélecteurs de la Phase 2 (les ACLs VPN). Tu as dit au VPN : "Tu n'as le droit de crypter et de laisser passer QUE le trafic qui provient de 10.1.1.0/30, 192.168.20.0/24 ou 192.168.30.0/24". Si le FortiGate essaie d'envoyer son ping de test avec une autre IP source, le paquet est bloqué par le tunnel VPN.
Étape 4 : La Règle SD-WAN (La Stratégie)
C'est ici que l'on définit que le MPLS est prioritaire sur le VPN tant qu'il est "en bonne santé".
Procédure GUI :
- Allez dans Network > SD-WAN > SD-WAN Rules.
- Cliquez sur Create New. Nommez-la
VERS_SITE2. - Destination : Sélectionnez l'objet adresse
SITE1-TO-SITE2_remote(192.168.50.0/24). - Strategy : Choisissez Lowest Cost (SLA) ou Manual/Priority.
- Interface Preference : Sélectionnez d'abord
port6, puisSITE1-TO-SITE2. - Required SLA Target : Sélectionnez
SLA_SITE2.

- Action : Nous avons configuré la règle
VERS_SITE2en mode Priority. - Fonctionnement : "Tant que le MPLS respecte le SLA, utilise-le. Dès qu'il échoue, bascule sur le membre suivant (le VPN) même si le lien MPLS n'est pas physiquement coupé".
Étape 5 : Routage et Politique de Sécurité
Il faut maintenant dire au FortiGate d'utiliser ce moteur SD-WAN pour le trafic réel.
Route Statique (GUI) :

- Allez dans Network > Static Routes > Create New.
- Destination :
192.168.50.0/255.255.255.0. - Interface : Sélectionnez l'interface SD-WAN
virtual-wan-link(ou cochez "SD-WAN" selon la version).
Politique de Firewall (GUI) : elles forçaient le pare-feu à ouvrir les vannes spécifiquement pour le tunnel VPN ou spécifiquement pour le lien MPLS afin de vérifier que chaque "tuyau" fonctionnait correctement avant de les fusionner.
elles ne s'occupent plus de savoir quel câble est utilisé, elles disent simplement au FortiGate d'accepter tout le trafic interne vers la zone SD-WAN, laissant ensuite le moteur SD-WAN choisir en temps réel le chemin le plus rapide vers le Site 2.


- Allez dans Policy & Objects > Firewall Policy > Create New.
- Name :
CORPO_TO_SITE2_SDWAN. - Incoming :
PORT7 - 8(LACP). - Outgoing :
virtual-wan-link. - Source :
all. - Destination :
SITE1-TO-SITE2_remote. - NAT : Désactivé (
Disable).
et le faire pour le sens inverse {.is-warning}
7. Validation Finale
- Vérifiez l'état des liens dans Network > SD-WAN > Performance SLAs. Les deux doivent être en vert.
- Lancez un ping continu vers le Site 2.
- Allez dans Network > Interfaces, faites un clic droit sur le
port6et choisissez Status > Disable. - Observez le ping : le basculement sur le VPN doit être automatique et quasi instantané.

- Annexes : Configurations des équipements Cette section regroupe l'intégralité des configurations finales permettant de reproduire l'infrastructure.
1. Fichier de sauvegarde FortiGate (.conf)
Le fichier de sauvegarde complet du FortiGate contient l'ensemble des objets (VIP, SD-WAN, Firewall Policies) et les réglages système. fortigate-conf_final.conf Note : Ce fichier peut être restauré via le menu System > Configuration > Restore.
B. Configurations équipements
Afin de permettre une reproductibilité totale de la maquette ou un audit de sécurité, vous trouverez ci-dessous l'intégralité des configurations (Running-Config) pour chaque équipement du réseau.
Voir fichier source : config.txt
[Lien vers le fichier : FortiGate-conf_final.conf](config.txt