<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Vpn on slash-root.fr</title><link>https://slash-root.fr/tags/vpn/</link><description>Recent content in Vpn on slash-root.fr</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><lastBuildDate>Wed, 22 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://slash-root.fr/tags/vpn/index.xml" rel="self" type="application/rss+xml"/><item><title>OPNsense : Serveur WireGuard et client KDE en split tunnel</title><link>https://slash-root.fr/opnsense-serveur-wireguard-et-client-kde-en-split-tunnel/</link><pubDate>Wed, 22 Jul 2026 00:00:00 +0000</pubDate><guid>https://slash-root.fr/opnsense-serveur-wireguard-et-client-kde-en-split-tunnel/</guid><description>&lt;img src="https://slash-root.fr/opnsense-serveur-wireguard-et-client-kde-en-split-tunnel/cover.png" alt="Featured image of post OPNsense : Serveur WireGuard et client KDE en split tunnel" /&gt;&lt;p&gt;L&amp;rsquo;objectif est simple : pouvoir depuis mon laptop KDE joindre les machines du LAN derrière un OPNsense via WireGuard, sans pour autant envoyer tout mon trafic internet dans le tunnel. Autrement dit, un split tunnel propre : seul le réseau derrière le pare-feu passe par le VPN, le reste reste sur ma connexion classique.&lt;/p&gt;
&lt;p&gt;Depuis OPNsense 24.1, WireGuard est intégré au core. Plus besoin de jouer avec le plugin &lt;code&gt;os-wireguard&lt;/code&gt;, c&amp;rsquo;est déjà ça de gagné. La procédure reste assez directe, mais quelques points de routage sont à surveiller pour ne pas finir avec tout le trafic déporté sur le VPN.&lt;/p&gt;
&lt;p&gt;Voici le plan utilisé dans cet article :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LAN derrière OPNsense&lt;/strong&gt; : &lt;code&gt;192.168.1.0/24&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Réseau du tunnel&lt;/strong&gt; : &lt;code&gt;10.10.10.0/24&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OPNsense (interface WireGuard, IP au sein du tunnel VPN)&lt;/strong&gt; : &lt;code&gt;10.10.10.1/24&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Client KDE (IP au sein du tunnel VPN)&lt;/strong&gt; : &lt;code&gt;10.10.10.2/32&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Port UDP&lt;/strong&gt; : &lt;code&gt;51820&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Note :&lt;/strong&gt; cet article traite uniquement l&amp;rsquo;&lt;strong&gt;IPv4&lt;/strong&gt;. L&amp;rsquo;&lt;strong&gt;IPv6&lt;/strong&gt; n&amp;rsquo;est pas abordé ici.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;Let&amp;rsquo;s go !!!&lt;/p&gt;
&lt;h2 id="prérequis"&gt;&lt;a href="#pr%c3%a9requis" class="header-anchor"&gt;&lt;/a&gt;Prérequis
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;OPNsense accessible depuis Internet : IP publique sur son interface WAN, ou redirection du port UDP &lt;code&gt;51820&lt;/code&gt; depuis le routeur amont.&lt;/li&gt;
&lt;li&gt;Le client KDE dispose de &lt;code&gt;wireguard-tools&lt;/code&gt; et d&amp;rsquo;un NetworkManager gérant nativement WireGuard (à partir de la v1.16, ça marche out of the box sur la plupart des distros récentes).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="partie-1--opnsense-le-serveur-wireguard"&gt;&lt;a href="#partie-1--opnsense-le-serveur-wireguard" class="header-anchor"&gt;&lt;/a&gt;Partie 1 : OPNsense, le serveur WireGuard
&lt;/h2&gt;&lt;h3 id="création-de-linstance"&gt;&lt;a href="#cr%c3%a9ation-de-linstance" class="header-anchor"&gt;&lt;/a&gt;Création de l&amp;rsquo;instance
&lt;/h3&gt;&lt;p&gt;On commence par générer le serveur :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aller dans &lt;strong&gt;VPN &amp;gt; WireGuard &amp;gt; Instances&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Cliquer sur &lt;strong&gt;+&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Remplir comme suit :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Enabled : Coché
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Name : HomeWireGuard
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Public Key : Générer via la roue crantée
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Private Key : Générer en même temps
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Listen Port : 51820
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;MTU : 1420 (1412 si PPPoE)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Tunnel Address : 10.10.10.1/24
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Peers : Laisser vide pour l&amp;#39;instant
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Disable Routes : Décoché
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Le MTU de &lt;code&gt;1420&lt;/code&gt; tient compte de l&amp;rsquo;overhead d&amp;rsquo;encapsulation WireGuard (en-têtes IP/UDP/WireGuard, soit environ 60 à 80 octets). Ainsi, le paquet final reste sous les 1500 octets d&amp;rsquo;un lien Ethernet standard. En PPPoE, le MTU physique est souvent 1492, d&amp;rsquo;où la valeur &lt;code&gt;1412&lt;/code&gt;.&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Note :&lt;/strong&gt; si on active le mode avancé, laissez le champ &lt;strong&gt;DNS Server&lt;/strong&gt; vide. Sinon WireGuard écrase la config DNS d&amp;rsquo;OPNsense et c&amp;rsquo;est la galère.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;p&gt;Sauvegarder, rouvrir l&amp;rsquo;instance et &lt;strong&gt;copier la clé publique&lt;/strong&gt; générée. Elle servira à configurer le client KDE.&lt;/p&gt;
&lt;h3 id="création-du-peer-client"&gt;&lt;a href="#cr%c3%a9ation-du-peer-client" class="header-anchor"&gt;&lt;/a&gt;Création du peer client
&lt;/h3&gt;&lt;p&gt;Il faut maintenant déclarer le client. Pour ça, il faut sa clé publique. On peut la générer directement sur le client KDE (voir partie 2) et la copier ici, ou utiliser le &lt;strong&gt;Peer Generator&lt;/strong&gt; intégré à OPNsense. Moi je préfère générer les clés sur le client pour ne pas stocker la privée ailleurs.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aller dans &lt;strong&gt;VPN &amp;gt; WireGuard &amp;gt; Peers&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Cliquer sur &lt;strong&gt;+&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Enabled : Coché
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Name : MonPC_KDE
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Public Key : &amp;lt;clé publique du client KDE&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Allowed IPs : 10.10.10.2/32
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Keepalive : 25
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Le &lt;code&gt;Keepalive&lt;/code&gt; à 25 secondes, c&amp;rsquo;est utile quand le client est derrière un NAT ou un pare-feu qui ferme les states trop vite.&lt;/p&gt;
&lt;p&gt;Sauvegarder, puis retourner dans &lt;strong&gt;VPN &amp;gt; WireGuard &amp;gt; Instances&lt;/strong&gt;, éditer &lt;code&gt;HomeWireGuard&lt;/code&gt; et sélectionner le peer &lt;code&gt;MonPC_KDE&lt;/code&gt;. &lt;strong&gt;Apply&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="méthode-alternative--le-peer-generator"&gt;&lt;a href="#m%c3%a9thode-alternative--le-peer-generator" class="header-anchor"&gt;&lt;/a&gt;Méthode alternative : le Peer Generator
&lt;/h3&gt;&lt;p&gt;Si vous devez créer plusieurs clients, ou si vous voulez générer directement le fichier de config sans taper de clés à la main, OPNsense intègre un &lt;strong&gt;Peer Generator&lt;/strong&gt; sous &lt;strong&gt;VPN &amp;gt; WireGuard &amp;gt; Peer generator&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sélectionner l&amp;rsquo;instance &lt;code&gt;HomeWireGuard&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Remplir les champs :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Name : MonPC_KDE
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Endpoint Address: &amp;lt;ip_publique_ou_domaine_opnsense&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Endpoint Port : 51820
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Allowed IPs : 10.10.10.2/32
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;DNS : laisser vide, ou 10.10.10.1 si vous voulez utiliser le DNS d&amp;#39;OPNsense
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Cliquer sur &lt;strong&gt;Generate&lt;/strong&gt;. Le générateur crée :
&lt;ul&gt;
&lt;li&gt;la paire de clés du client&lt;/li&gt;
&lt;li&gt;le peer côté OPNsense (seule la clé publique est stockée)&lt;/li&gt;
&lt;li&gt;une config prête à copier/coller ou à scanner en QR code&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Attention :&lt;/strong&gt; la config générée met souvent &lt;code&gt;AllowedIPs = 0.0.0.0/0, ::/0&lt;/code&gt; côté client. Si vous voulez du split tunnel, il faut remplacer cette ligne par &lt;code&gt;AllowedIPs = 10.10.10.0/24, 192.168.1.0/24&lt;/code&gt; dans le fichier récupéré avant de l&amp;rsquo;importer dans NetworkManager. Sinon tout le trafic partira dans le tunnel.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Cliquer sur &lt;strong&gt;Store and generate next&lt;/strong&gt; pour valider le peer dans OPNsense, puis &lt;strong&gt;Apply&lt;/strong&gt; dans &lt;strong&gt;VPN &amp;gt; WireGuard &amp;gt; Peers&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;La clé privée n&amp;rsquo;est pas conservée sur le firewall : copiez-la dans &lt;code&gt;/etc/wireguard/wg0.conf&lt;/code&gt; sur le client, ou scannez le QR code depuis un téléphone.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est nettement plus rapide quand il y a plusieurs road warriors à déployer.&lt;/p&gt;
&lt;h3 id="activation-de-wireguard"&gt;&lt;a href="#activation-de-wireguard" class="header-anchor"&gt;&lt;/a&gt;Activation de WireGuard
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VPN &amp;gt; WireGuard &amp;gt; General&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Cocher &lt;strong&gt;Enable&lt;/strong&gt;, puis &lt;strong&gt;Apply&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Si besoin, redémarrer WireGuard en le décochant/re-cochant.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="assigner-une-interface-recommandé"&gt;&lt;a href="#assigner-une-interface-recommand%c3%a9" class="header-anchor"&gt;&lt;/a&gt;Assigner une interface (recommandé)
&lt;/h3&gt;&lt;p&gt;Ce n&amp;rsquo;est pas strictement obligatoire pour un split tunnel, mais ça simplifie les règles firewall et ça crée l&amp;rsquo;alias &lt;code&gt;HomeWireGuard net&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Interfaces &amp;gt; Assignments&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Sélectionner le device &lt;code&gt;wg1&lt;/code&gt; (ou &lt;code&gt;wg0&lt;/code&gt; selon l&amp;rsquo;installation) et l&amp;rsquo;ajouter.&lt;/li&gt;
&lt;li&gt;Description : &lt;code&gt;HomeWireGuard&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Éditer l&amp;rsquo;interface :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Enable : Coché
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Description : HomeWireGuard
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;IPv4 Configuration Type : None
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;IPv6 Configuration Type : None
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Save&lt;/strong&gt; puis &lt;strong&gt;Apply changes&lt;/strong&gt;. Redémarrer WireGuard si l&amp;rsquo;interface ne remonte pas proprement.&lt;/p&gt;
&lt;h3 id="règles-firewall"&gt;&lt;a href="#r%c3%a8gles-firewall" class="header-anchor"&gt;&lt;/a&gt;Règles firewall
&lt;/h3&gt;&lt;h4 id="1-autoriser-les-connexions-entrantes-sur-le-wan"&gt;&lt;a href="#1-autoriser-les-connexions-entrantes-sur-le-wan" class="header-anchor"&gt;&lt;/a&gt;1. Autoriser les connexions entrantes sur le WAN
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Firewall &amp;gt; Rules &amp;gt; WAN&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ajouter une règle :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Action : Pass
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Quick : Coché
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Interface : WAN
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Direction : in
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Protocol : UDP
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Source : any
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Destination : WAN address
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Destination port: 51820
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="2-autoriser-le-trafic-depuis-le-tunnel-vers-le-lan"&gt;&lt;a href="#2-autoriser-le-trafic-depuis-le-tunnel-vers-le-lan" class="header-anchor"&gt;&lt;/a&gt;2. Autoriser le trafic depuis le tunnel vers le LAN
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Firewall &amp;gt; Rules &amp;gt; HomeWireGuard&lt;/strong&gt; (ou &lt;code&gt;WireGuard&lt;/code&gt; si vous n&amp;rsquo;avez pas assigné d&amp;rsquo;interface).&lt;/li&gt;
&lt;li&gt;Ajouter une règle :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Action : Pass
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Quick : Coché
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Interface : HomeWireGuard
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Protocol : any
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Source : HomeWireGuard net
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Destination : LAN net
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;C&amp;rsquo;est cette règle qui autorise le client KDE à joindre les machines du LAN.&lt;/p&gt;
&lt;h3 id="normalisation-mss-optionnel-mais-fortement-recommandé"&gt;&lt;a href="#normalisation-mss-optionnel-mais-fortement-recommand%c3%a9" class="header-anchor"&gt;&lt;/a&gt;Normalisation MSS (optionnel mais fortement recommandé)
&lt;/h3&gt;&lt;p&gt;Le &lt;strong&gt;MSS&lt;/strong&gt; (Maximum Segment Size) est la taille maximale de la charge utile d&amp;rsquo;un segment TCP. Comme WireGuard encapsule les paquets (en-têtes UDP/IP/WireGuard), le MTU utile du tunnel est réduit. Les hôtes du LAN peuvent négocier un MSS basé sur l&amp;rsquo;interface locale (1500 octets), ce qui donnerait des paquets trop gros une fois encapsulés. Le &lt;strong&gt;MSS clamping&lt;/strong&gt; force la valeur négociée à &lt;code&gt;MTU_tunnel - 40&lt;/code&gt; pour IPv4, soit &lt;code&gt;1380&lt;/code&gt; avec un MTU de &lt;code&gt;1420&lt;/code&gt;. L&amp;rsquo;IPv6 n&amp;rsquo;est pas traité ici.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Firewall &amp;gt; Settings &amp;gt; Normalization&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Ajouter une règle sur l&amp;rsquo;interface &lt;strong&gt;WireGuard (Group)&lt;/strong&gt; :&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Direction : Any
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Protocol : any
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Source : any
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Destination : any
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Description : WireGuard MSS Clamping IPv4
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Max mss : 1380
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="nat-outbound"&gt;&lt;a href="#nat-outbound" class="header-anchor"&gt;&lt;/a&gt;NAT outbound
&lt;/h3&gt;&lt;p&gt;Pour un split tunnel pur, &lt;strong&gt;pas besoin de NAT outbound&lt;/strong&gt;. OPNsense sait router le trafic entre &lt;code&gt;HomeWireGuard&lt;/code&gt; et &lt;code&gt;LAN&lt;/code&gt; car les deux réseaux lui sont directement attachés. Si jamais OPNsense n&amp;rsquo;est pas la passerelle par défaut du LAN, alors il faudra activer le NAT outbound ou ajouter une route statique sur le routeur intermédiaire.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="partie-2--kde-le-client-wireguard"&gt;&lt;a href="#partie-2--kde-le-client-wireguard" class="header-anchor"&gt;&lt;/a&gt;Partie 2 : KDE, le client WireGuard
&lt;/h2&gt;&lt;h3 id="génération-des-clés"&gt;&lt;a href="#g%c3%a9n%c3%a9ration-des-cl%c3%a9s" class="header-anchor"&gt;&lt;/a&gt;Génération des clés
&lt;/h3&gt;&lt;p&gt;Sur le poste KDE :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wg genkey | tee private.key | wg pubkey &amp;gt; public.key
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;public.key&lt;/code&gt; : à copier dans le peer OPNsense (étape &amp;ldquo;Création du peer client&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;private.key&lt;/code&gt; : reste sur le client, ne jamais la balancer sur un chat.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="fichier-de-configuration-wg0conf"&gt;&lt;a href="#fichier-de-configuration-wg0conf" class="header-anchor"&gt;&lt;/a&gt;Fichier de configuration &lt;code&gt;wg0.conf&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;Créer &lt;code&gt;/etc/wireguard/wg0.conf&lt;/code&gt; :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-ini" data-lang="ini"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;[Interface]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;PrivateKey&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;lt;contenu de private.key&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;Address&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;10.10.10.2/32&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# DNS optionnel, par exemple si vous voulez utiliser le DNS d&amp;#39;OPNsense&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# DNS = 10.10.10.1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;[Peer]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;PublicKey&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;lt;clé publique d&amp;#39;OPNsense&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;AllowedIPs&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;10.10.10.0/24, 192.168.1.0/24&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;Endpoint&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;lt;ip_publique_ou_domaine_opnsense&amp;gt;:51820&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a6e22e"&gt;PersistentKeepalive&lt;/span&gt; &lt;span style="color:#f92672"&gt;=&lt;/span&gt; &lt;span style="color:#e6db74"&gt;25&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Le point crucial du split tunnel&lt;/strong&gt; : &lt;code&gt;AllowedIPs&lt;/code&gt; ne contient &lt;strong&gt;pas&lt;/strong&gt; &lt;code&gt;0.0.0.0/0&lt;/code&gt;. Seuls les réseaux à atteindre derrière OPNsense (&lt;code&gt;192.168.1.0/24&lt;/code&gt;) et le tunnel (&lt;code&gt;10.10.10.0/24&lt;/code&gt;) y figurent. Ainsi, seul ce trafic est routé vers &lt;code&gt;wg0&lt;/code&gt; ; le reste (internet) reste sur l&amp;rsquo;interface classique.&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="import-dans-networkmanager"&gt;&lt;a href="#import-dans-networkmanager" class="header-anchor"&gt;&lt;/a&gt;Import dans NetworkManager
&lt;/h3&gt;&lt;h4 id="en-ligne-de-commande-plus-fiable"&gt;&lt;a href="#en-ligne-de-commande-plus-fiable" class="header-anchor"&gt;&lt;/a&gt;En ligne de commande (plus fiable)
&lt;/h4&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo nmcli connection import type wireguard file /etc/wireguard/wg0.conf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Puis on s&amp;rsquo;assure que NetworkManager ne met pas cette connexion en passerelle par défaut :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo nmcli connection modify wg0 ipv4.never-default yes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id="en-graphique-kde-plasma"&gt;&lt;a href="#en-graphique-kde-plasma" class="header-anchor"&gt;&lt;/a&gt;En graphique (KDE Plasma)
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Ouvrir &lt;strong&gt;Paramètres système &amp;gt; Connexions&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ajouter une connexion &amp;gt; WireGuard&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Onglet &lt;strong&gt;WireGuard&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Private key&lt;/strong&gt; : coller la clé privée.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Peers&lt;/strong&gt; : ajouter le peer avec la clé publique d&amp;rsquo;OPNsense, l&amp;rsquo;endpoint, et &lt;code&gt;Allowed IPs = 10.10.10.0/24, 192.168.1.0/24&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Onglet &lt;strong&gt;IPv4&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Méthode&lt;/strong&gt; : &lt;code&gt;Manuel&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adresse&lt;/strong&gt; : &lt;code&gt;10.10.10.2/32&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Laisser la &lt;strong&gt;passerelle vide&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Cocher &lt;strong&gt;Utiliser cette connexion uniquement pour les ressources de ce réseau&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Sauvegarder et activer.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si l&amp;rsquo;option WireGuard n&amp;rsquo;apparaît pas dans l&amp;rsquo;interface graphique, vérifier que &lt;code&gt;wireguard-tools&lt;/code&gt; est bien installé et que NetworkManager est assez récent.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="vérifications"&gt;&lt;a href="#v%c3%a9rifications" class="header-anchor"&gt;&lt;/a&gt;Vérifications
&lt;/h2&gt;&lt;p&gt;Sur le client KDE, une fois connecté :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ip route show
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;On doit voir quelque chose comme :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;default via 192.168.0.1 dev eth0 proto dhcp metric 100
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;10.10.10.0/24 dev wg0 proto static scope link
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;192.168.1.0/24 dev wg0 proto static scope link
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;L&amp;rsquo;important : la route &lt;code&gt;default&lt;/code&gt; pointe toujours vers l&amp;rsquo;interface locale. Les routes &lt;code&gt;10.10.10.0/24&lt;/code&gt; et &lt;code&gt;192.168.1.0/24&lt;/code&gt; pointent vers &lt;code&gt;wg0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Tests basiques :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ping 10.10.10.1
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ping 192.168.1.x
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Vérifier que l&amp;rsquo;IP publique vue depuis le navigateur n&amp;rsquo;a pas changé (le trafic internet ne passe pas par le VPN) :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -4 ifconfig.me
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Côté OPNsense, on peut surveiller l&amp;rsquo;état dans &lt;strong&gt;VPN &amp;gt; WireGuard &amp;gt; Status&lt;/strong&gt;. On doit voir le peer &lt;code&gt;MonPC_KDE&lt;/code&gt; avec un handshake récent et du trafic RX/TX.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="conclusion"&gt;&lt;a href="#conclusion" class="header-anchor"&gt;&lt;/a&gt;Conclusion
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OPNsense&lt;/strong&gt; : instance &lt;code&gt;HomeWireGuard&lt;/code&gt; (&lt;code&gt;10.10.10.1/24&lt;/code&gt;), peer &lt;code&gt;MonPC_KDE&lt;/code&gt; (&lt;code&gt;10.10.10.2/32&lt;/code&gt;), firewall WAN UDP &lt;code&gt;51820&lt;/code&gt; + règle &lt;code&gt;HomeWireGuard net → LAN net&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Client KDE&lt;/strong&gt; : &lt;code&gt;AllowedIPs = 10.10.10.0/24, 192.168.1.0/24&lt;/code&gt;, &lt;code&gt;ipv4.never-default yes&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Résultat&lt;/strong&gt; : les machines du LAN derrière OPNsense sont accessibles, mais internet continue de sortir par la connexion locale. Pas de fuites, pas de ralentissements inutiles.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et si un jour vous voulez forcer tout le trafic par le VPN, il suffit de remplacer &lt;code&gt;AllowedIPs&lt;/code&gt; par &lt;code&gt;0.0.0.0/0&lt;/code&gt; côté client et d&amp;rsquo;ajouter le NAT outbound sur OPNsense. Mais ce n&amp;rsquo;est pas le sujet d&amp;rsquo;aujourd&amp;rsquo;hui.&lt;/p&gt;</description></item><item><title>OPNsense : Configuration d’un VPN SSL Road Warrior avec PKI</title><link>https://slash-root.fr/opnsense-configuration-dun-vpn-ssl-road-warrior-avec-pki/</link><pubDate>Tue, 12 Jul 2022 23:21:48 +0200</pubDate><guid>https://slash-root.fr/opnsense-configuration-dun-vpn-ssl-road-warrior-avec-pki/</guid><description>&lt;img src="https://slash-root.fr/opnsense-configuration-dun-vpn-ssl-road-warrior-avec-pki/cover.jpg" alt="Featured image of post OPNsense : Configuration d’un VPN SSL Road Warrior avec PKI" /&gt;&lt;p&gt;Le but de cette documentation va être de configurer un serveur VPN dit SSL Road Warrior sur OPNsense (Un PFsense en mieux et totalement opensource :P). Les clients VPN pourront accéder à des ressources sur le réseau LAN distant de façon sécurisé.&lt;/p&gt;
&lt;p&gt;Le serveur VPN sera OpenVPN et celui-ci sera configuré de façon à accepter les connexions sur le port HTTPS (TCP 443). De cette façon, l'accès pourra se faire de n'importe où car ce port n'est pas (ou très très très rarement) filtré sur une connexion standard à Internet.&lt;/p&gt;
&lt;p&gt;Une autorité de certification sera créé pour délivrer un certificat afin de sécuriser les échanges.&lt;/p&gt;
&lt;p&gt;Un exemple de configuration d'un client sous Windows 10 est traité à la fin.&lt;/p&gt;
&lt;p&gt;Let's go !!!&lt;/p&gt;
&lt;h2 id="contexte"&gt;&lt;a href="#contexte" class="header-anchor"&gt;&lt;/a&gt;Contexte
&lt;/h2&gt;&lt;p&gt;Voici la version utilisée d'OPNsense :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OPNsense 22.1.2_2-amd64&lt;/li&gt;
&lt;li&gt;FreeBSD 13.0-STABLE&lt;/li&gt;
&lt;li&gt;OpenSSL 1.1.1m 14 Dec 2021&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Au niveau des interfaces de paramétrées :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LAN = 192.168.56.254/24&lt;/li&gt;
&lt;li&gt;WAN = IP_PUBLIC&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aucune configuration particulière à été apportée après l'installation d'OPNsense à part l'adressage IP des interfaces WAN et LAN.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tout le paramétrage sera à réaliser à travers l'interface web d'administration d'OPNsense.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="pki"&gt;&lt;a href="#pki" class="header-anchor"&gt;&lt;/a&gt;PKI
&lt;/h2&gt;&lt;h3 id="création-de-lauthorité-de-certification"&gt;&lt;a href="#cr%c3%a9ation-de-lauthorit%c3%a9-de-certification" class="header-anchor"&gt;&lt;/a&gt;Création de l&amp;rsquo;authorité de certification
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;System&lt;/strong&gt; (1), &lt;strong&gt;Trust&lt;/strong&gt; (2), &lt;strong&gt;Authorities&lt;/strong&gt; (3), cliquer sur &lt;strong&gt;+&lt;/strong&gt; (4) pour ajouter une authorité de certification :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="01.png" alt="image-20220712200137330" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sélectionner &lt;strong&gt;Create an internal Certificate Authority&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="02.png" alt="image-20220712200934152" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Je ne vais pas traiter la partie algorithme ni de type ou de longueur de clef. Je laisse les paramètres par défaut mais dans un contexte de production, il sera important de modifier ces différents paramètres.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Entrer une &lt;strong&gt;Descriptive name&lt;/strong&gt; ainsi que le &lt;strong&gt;Common Name&lt;/strong&gt; et les informations désirées.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enregistrer la nouvelle authorité de certification :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="03.png" alt="image-20220712201557684" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="génération-du-certificat-serveur"&gt;&lt;a href="#g%c3%a9n%c3%a9ration-du-certificat-serveur" class="header-anchor"&gt;&lt;/a&gt;Génération du certificat serveur
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;Certificates&lt;/strong&gt; (1), cliquer sur &lt;strong&gt;+&lt;/strong&gt; (2) pour ajouter un nouveau certificat :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="04.png" alt="image-20220712202909916" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sélectionner &lt;strong&gt;Create an internal Certificate&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="04a.png" alt="image-20220712212614382" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Même remarque que précédement concernant la partie algorithme, clef...&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Entrer une &lt;strong&gt;Descriptive name&lt;/strong&gt;. Sélectionner le bon &lt;strong&gt;Certificate authority&lt;/strong&gt; et le type &lt;strong&gt;Server Certificate&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les informations provenant de l'authorité de certification doivent être pré-remplies.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Renseigner le &lt;strong&gt;Common Name&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="04b.png" alt="image-20220712204003467" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enregistrer le nouveau certificat :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="04c.png" alt="image-20220712204333253" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="openvpn"&gt;&lt;a href="#openvpn" class="header-anchor"&gt;&lt;/a&gt;OpenVPN
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;VPN&lt;/strong&gt; (1), &lt;strong&gt;OpenVPN&lt;/strong&gt; (2), &lt;strong&gt;Servers&lt;/strong&gt; (3), cliquer sur l'icône du &lt;strong&gt;Wizard&lt;/strong&gt; (4) :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="05.png" alt="image-20220712202051739" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;En passant par le wizard, il y aura la possibilité de créer automatiquement les 2 règles nécessaires pour autoriser le flux provenant des clients VPN.Sinon, il faudra les ajouter à la main, ça fonctionne très bien aussi.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Type de serveur d'authentification : &lt;strong&gt;Local User Access&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Authorité de certification : &lt;strong&gt;OPNsense-CA&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Certificat : &lt;strong&gt;OPNsense-VPN-Cert&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans la partie &lt;strong&gt;General OpenVPN Server Information&lt;/strong&gt;, renseigner les paramètres suivants :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="06.png" alt="image-20220712205028162" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les clients se connecteront sur l'interface &lt;strong&gt;WAN&lt;/strong&gt; d'OPNsense par le protocol &lt;strong&gt;TCP&lt;/strong&gt; sur le port &lt;strong&gt;443&lt;/strong&gt;. Par défaut OpenVPN écoute sur le port 1194 en UDP. Pour que la connexion soit possible depuis n'importe quel réseau Internet, il faut bien modifier ce paramètre. C'est quasiment indétectablement par les pare-feux pour faire la différence avec du flux HTTPS (du stateful inspection permet de faire la différence).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans la partie &lt;strong&gt;Tunnel Settings&lt;/strong&gt;, renseigner les paramètres suivants :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="07.png" alt="image-20220712205937919" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;IPv4 Tunnel Network&lt;/strong&gt;, entrer le réseau virtuel qui sera attribué aux clients VPN.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;IPv4 Local Network&lt;/strong&gt;, entrer le réseau LAN qui doit être accessible aux clients VPN.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Le reste des paramètres sont laissés par défaut. Ils pourront être définis si besoin mais ne seront pas traités dans cet article.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Passer à la prochaine étape en cliquant sur &lt;strong&gt;Next&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Cocher &lt;strong&gt;Firewall Rule&lt;/strong&gt; et &lt;strong&gt;OpenVPN Rule&lt;/strong&gt; pour générer les 2 règles adéquats dans le pare-feu :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="08.png" alt="image-20220712210924817" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Valider en cliquant sur &lt;strong&gt;Next&lt;/strong&gt; puis &lt;strong&gt;Finish&lt;/strong&gt; pour terminer le paramétrage du serveur VPN.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="utilisateur"&gt;&lt;a href="#utilisateur" class="header-anchor"&gt;&lt;/a&gt;Utilisateur
&lt;/h2&gt;&lt;h3 id="création-dun-utilisateur"&gt;&lt;a href="#cr%c3%a9ation-dun-utilisateur" class="header-anchor"&gt;&lt;/a&gt;Création d&amp;rsquo;un utilisateur
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;System&lt;/strong&gt; (1), &lt;strong&gt;Access&lt;/strong&gt; (2), &lt;strong&gt;Users&lt;/strong&gt; (3), cliquer sur &lt;strong&gt;+&lt;/strong&gt; (4) pour ajouter un nouveau utilisateur :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="09.png" alt="image-20220712211520676" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Renseigner un &lt;strong&gt;Username&lt;/strong&gt; et un &lt;strong&gt;Password&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="10.png" alt="image-20220712211947305" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Plus bas, cocher &lt;strong&gt;Click to create a user certificate&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="11.png" alt="image-20220712212137535" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Terminer en cliquant sur &lt;strong&gt;Save&lt;/strong&gt;. Cela déclenche la génération d'un certificat.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="génération-du-certificat-utilisateur"&gt;&lt;a href="#g%c3%a9n%c3%a9ration-du-certificat-utilisateur" class="header-anchor"&gt;&lt;/a&gt;Génération du certificat utilisateur
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sélectionner &lt;strong&gt;Create an internal Certificate&lt;/strong&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="12.png" alt="image-20220712212728988" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Entrer une &lt;strong&gt;Descriptive name&lt;/strong&gt;. Sélectionner le bon &lt;strong&gt;Certificate authority&lt;/strong&gt; et le type &lt;strong&gt;Client Certificate&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Les informations provenant de l'authorité de certification doivent être pré-remplies.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Renseigner le &lt;strong&gt;Common Name&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enregistrer le nouveau certificat.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Le certificat est maintenant associé à l'utilisateur :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="13.png" alt="image-20220712213220067" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Terminer en cliquant sur &lt;strong&gt;Save&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="client-windows"&gt;&lt;a href="#client-windows" class="header-anchor"&gt;&lt;/a&gt;Client Windows
&lt;/h2&gt;&lt;h3 id="exportation-de-la-configuration-client"&gt;&lt;a href="#exportation-de-la-configuration-client" class="header-anchor"&gt;&lt;/a&gt;Exportation de la configuration client
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Dans &lt;strong&gt;VPN&lt;/strong&gt; (1), &lt;strong&gt;OpenVPN&lt;/strong&gt; (2), &lt;strong&gt;Client Export&lt;/strong&gt; (3), télécharger l'archive contenant la confirmation client d'OpenVPN avec le certificat utilisateur correspondant :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="14.png" alt="image-20220712222650837" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;En cochant &lt;strong&gt;Windows Certificate System Store&lt;/strong&gt;, un certificat &lt;code&gt;.crt&lt;/code&gt; est récupéré. Malgré le faites de l'inscrire (ou d'inscrire le CA) dans le magasin (des certificats de l'ordinateur) des autorités de certification racines de confiance, celui-ci ne sera pas approuvé.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Le contenu de l'archive récupérée contient les éléments suivant :&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;OPNsense_VPN_Server_batman_vpn-tls.key
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;OPNsense_VPN_Server_batman_vpn.ovpn
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;OPNsense_VPN_Server_batman_vpn.p12
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="installation-du-client"&gt;&lt;a href="#installation-du-client" class="header-anchor"&gt;&lt;/a&gt;Installation du client
&lt;/h3&gt;&lt;p&gt;Sur le poste client en Windows 10 :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Télécharger le client OpenVPN Community : &lt;a href="https://swupdate.openvpn.org/community/releases/OpenVPN-2.5.7-I602-amd64.msi"&gt;https://swupdate.openvpn.org/community/releases/OpenVPN-2.5.7-I602-amd64.msi&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Installer le client OpenVPN (Attention, il faudra des droits d'administrateur sur le poste Windows).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un message d'avertissement indique qu'il n'y a aucun profil de connexion.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copier le contenu de l'archive préalablement exporter dans le répertoire &lt;code&gt;%USERPROFILE%\OpenVPN\config&lt;/code&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="15.png" alt="image-20220712225016759" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Se connecter :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="16.png" alt="image-20220712225229212" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un message peut survenir indiquant que l'utilisateur Windows doit faire partie du groupe local de la machine &lt;code&gt;OpenVPN Administrators&lt;/code&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="17.png" alt="image-20220712225549618" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Si contexte de domaine, une GPO peut appliquer ce paramètre automatiquement.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;S'identifier avec le compte utilisateur créé précédement dans OPNsense :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="18.png" alt="image-20220712225737892" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;La connexion VPN est établie :&lt;/p&gt;
&lt;p&gt;&lt;img data-recalc-dims="1" decoding="async" src="19.png" alt="image-20220712230430443" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>