Configurer le client VPN WireGuard sur Mikrotik RouterOS
Configurer MikroTik RouterOS comme client VPN WireGuard
Cette instruction décrit comment configurer Mikrotik RouterOS en tant que client pour se connecter à un serveur VPN WireGuard. Avant tout, il convient de noter que la prise en charge de WireGuard dans RouterOS est disponible à partir de la version 7.0. Vous pouvez vérifier la version actuelle de votre RouterOS via l'interface web du routeur ou avec le programme WinBox.
- Vous pouvez vérifier la version actuelle de RouterOS de votre appareil dans System - RouterBOARD - Upgrade Firmware.

Si la version de RouterOS est inférieure à 7, vous devez mettre à jour l'appareil vers la version actuelle.
Liens utiles :
- Après avoir vérifié ou mis à jour vers RouterOS 7, vous devez télécharger la configuration WireGuard. Sélectionnez la commande VPN souhaitée dans votre espace client et téléchargez le fichier de configuration.

- Le fichier téléchargé portera un nom de type fnx-wg-79298.conf et contiendra les éléments suivants :

- L'étape suivante consiste à transférer le fichier de configuration sur l'appareil.
Pour cela, sélectionnez le menu Files - Upload et indiquez le fichier de configuration à téléverser.


Le fichier de configuration téléversé apparaît alors dans la liste des fichiers de l'appareil.

Passons maintenant à l'import de la configuration WireGuard et à la configuration proprement dite, nécessaire pour un routage correct du trafic via la connexion VPN.
1. Import de la configuration WireGuard.
- Accédez au menu WireGuard, sélectionnez WG Import, choisissez votre configuration WG dans la liste déroulante et cliquez sur le bouton WG Import.

- Après un import réussi, WireGuard apparaît avec l'Interface et le Peer déjà configurés.


- Une adresse IP sera également attribuée à l'interface créée.

2. Création d'une table de routage pour les paquets marqués du trafic VPN WireGuard.
Par défaut, RouterOS utilise la table de routage « main » pour ajouter des routes à la FIB (Forwarding Information Base – la base d'informations de transfert, utilisée pour les décisions de transfert de paquets et contenant une copie des informations de routage nécessaires).
Nous aurons besoin d'une table de routage personnalisée, à définir dans le menu Routing-Tables afin d'y ajouter les routes WireGuard vers la FIB.
Accédez au menu Routing-Tables, cliquez sur +, saisissez wg_mark dans le champ Name et cochez impérativement la case FIB.

3. Création des listes d'adresses et des règles de marquage de paquets pour la route VPN WireGuard.
Pour la route marquée de l'interface WireGuard, vous devez créer des listes d'adresses (Address Lists) utilisées par WireGuard VPN ainsi qu'une règle de marquage de paquets (Mangle). Ces éléments varieront selon la façon dont vous souhaitez tunneliser le trafic VPN :
- Si vous souhaitez un tunnelage complet du trafic VPN – suivez l'étape 3.1 (tous les sites s'ouvriront via le VPN).
- Si vous avez besoin d'un tunnelage sélectif, par exemple pour contourner les restrictions d'accès à certains sites – suivez l'étape 3.2.
3.1 Tunnelage complet du trafic VPN WireGuard sur Mikrotik.
Nous allons maintenant préparer une liste d'adresses utilisant WireGuard. Dans le cas d'un tunnelage complet, vous devez indiquer l'IP du réseau local du routeur afin que tous les appareils qui y sont connectés utilisent WireGuard VPN pour accéder aux sites.
Accédez à IP-Firewall-Address Lists et cliquez sur +, puis renseignez les champs Name et Address. Dans le champ Name, saisissez full_wg, et dans le champ Address, entrez l'adresse IP du réseau local du routeur (192.168.88.0/24 par défaut). Cliquez sur OK.

Ajoutez une règle de marquage de paquets en accédant à IP-Firewall-Mangle, cliquez sur +, puis renseignez les champs Chain, Src Address List, Action, New Routing Mark et cliquez sur OK.


3.2 Tunnelage sélectif du trafic VPN WireGuard sur Mikrotik.
Pour le tunnelage sélectif, vous devrez créer de nouvelles listes d'adresses dans IP-Firewall-Address Lists de la même manière qu'à l'étape 3.1. La seule différence est que ces listes doivent contenir les noms de sites ou les adresses IP des sites auxquels vous accéderez via VPN. Mikrotik reconnaît lui-même les adresses des sites indiqués et ajoute (ou met à jour après expiration du TTL) leurs IP dans les Address Lists.
Accédez à IP-Firewall-Address Lists et cliquez sur +, puis renseignez les champs Name et Address. Dans le champ Name, saisissez block_wg, et dans le champ Address, entrez le nom du site souhaité ou son adresse IP. Cliquez sur OK.
Pour les autres sites dans les nouvelles listes, vous devrez indiquer le même Name que pour le premier, mais renseigner un nom de site ou une adresse IP différente dans le champ Address.

Ajoutez une règle de marquage de paquets en accédant à IP-Firewall-Mangle, cliquez sur +, puis renseignez les champs Chain, Dst Address List, Action, New Routing Mark et cliquez sur OK.


Une fois l'instruction suivie jusqu'au bout, vérifiez votre VPN sur https://2ip.io/ – le site affichera l'adresse IP de votre serveur, car cette ressource a été ajoutée à la liste mentionnée ci-dessus. Si vous ouvrez https://whoer.net/ru, whoer affichera votre vraie adresse IP.
Si le site bloqué ne s'ouvre toujours pas, ajoutez deux entrées dans la liste d'adresses pour le même site : une avec www. et une autre sans www.
4. Création d'une règle de routage pour WireGuard VPN.
Créez une nouvelle règle de routage pour l'interface WireGuard en utilisant la table de routage créée précédemment (section 2.3).
Pour cela, accédez à IP-Routes, cliquez sur +, puis renseignez les champs Gateway, Distance, Routing Table.

Vous devez également abaisser la priorité du client DHCP par défaut.
Pour cela, accédez à IP-DHCP Client, sélectionnez l'entrée du client DHCP existante, changez la valeur du champ Add Default Route en Special Classless et indiquez la valeur Default Route Distance = 2 dans l'onglet Advanced.


Autorisation de la connexion WireGuard VPN dans Firewall-NAT.
Par défaut, le pare-feu ne prend pas en compte votre connexion WireGuard et vous devez écrire manuellement une règle de masquerade pour celle-ci.
Pour cela, accédez à IP-Firewall-Nat, cliquez sur +, renseignez les champs Chain, Out. Interface, Action et cliquez sur OK.


5. Ajouter l'interface WireGuard à la liste WAN.
Accédez à Interface - Interface list.

La configuration de WireGuard sur RouterOS est terminée. Vérifiez votre connexion VPN sur https://whoer.net/ru ou https://2ip.io/
6. Correctif MTU pour Mikrotik WireGuard (MSS clamp to PMTU).
Si votre Mikrotik avec WireGuard installé ouvre les sites lentement ou ne parvient pas à ouvrir certains sites, vous devez définir le MTU correct (comment déterminer la taille optimale du MTU ?), ou vous pouvez utiliser le correctif MTU.
Info
N'utilisez cette étape qu'en cas de problèmes sérieux de chargement des sites !
Ouvrez la console Mikrotik en cliquant sur New Terminal.

Exécutez la commande suivante :
/ip firewall mangle
add action=change-mss chain=forward new-mss=clamp-to-pmtu out-interface=wg1 protocol=tcp tcp-flags=syn
Redémarrez Mikrotik en cliquant sur le bouton Reboot, puis sur Yes. Vous pouvez également utiliser la commande /system reboot dans le terminal.
Cette opération ajoute la règle IP-Firewall-Mangle suivante, qui corrige le problème de fonctionnement lent et instable de WireGuard sur Mikrotik.

Info
Si vous rencontrez des difficultés lors de la configuration ou avez des questions supplémentaires, vous pouvez contacter notre équipe de support à tout moment via le système de tickets.