OPNSense, VPN Site-to-Site OpenVPN

OPNSense, VPN Site-to-Site OpenVPN

A la demande d’un internaute 😉

J’avais déjà fait plusieurs articles sur pfSense/OPNSense surtout au niveau VPN (Wireguard, IPSec, OpenVPN…), mais un internaute (Nemor pour ne pas le citer) m’a demandé de faire un article sur OPNSense pour du Site-to-Site via OpenVPN.

Étant donné que je n’avais pas encore fait d’article traitant du Network sur ce nouveau blog, autant y aller ! 😎

I) Le lab

Comme toujours, je vais partir sur du bon vieux VMWare Workstation. Ici je pars du postulat que vos deux VMs sont déjà installées. Je me connecte sur mes deux routeurs via leur IP WAN, j’ai donc déjà rajouté une règle de pare-feu permettant d’autoriser la connexion HTTP/HTTPS sur l’interface, et j’ai autorisé la connexion depuis des IP privées (en décochant la case Block private networks) :

OPNSense-01.paris.local :

  • WAN : 192.168.0.39/24 ;
  • LAN : 192.168.1.1/24 ;

OPNSense-02.bruxelles.local :

  • WAN : 192.168.0.40/24 ;
  • LAN : 192.168.2.1/24 ;

Concernant le subnet pour notre tunnel, on partira sur du classique ici aussi -> 10.0.0.0/24.

II) La mise en place

On se rend donc sur notre premier routeur/pare-feu, sur l’onglet VPN puis OpenVPN, et enfin Server. Ici on peut cliquer sur le petit « + » pour rajouter une instance :

Rien de très compliqué ci-dessus, vous pouvez utilisez les même valeurs. A noter cependant :

  • J’utiliserai ici une connexion via pre-shared key, niveau sécurité l’idéal est d’utiliser des certificats TLS, mais ayant déjà fait un article à ce sujet, je ne m’étendrai pas ici ;
  • Le choix des algorithmes de chiffrement/digest est libre à vous, dépendant de votre hardware notamment. Chacun a ses préférences ;

Ici on renseigne notre subnet local, puis celui distant, on choisi ou non de la compression, et c’est tout !

Rendez-vous désormais sur le second routeur/pare-feu, et répétez la même opération mais en vous rendant sur OpenVPN puis Clients, et non Servers :

Il vous faudra aussi décocher la case Automatically generate a shared key, et coller en lieu et place celle générée sur le premier routeur/pare-feu. Pour récupérer cette dernière, retournez sur l’autre et éditez la configuration du serveur OpenVPN, de là vous pourrez récupérer la clé :

La dernière étape consiste à se rendre sur l’onglet Firewall, puis Rules et enfin OpenVPN. Ici, nous allons autoriser l’intégralité du trafic à transiter au travers de notre tunnel. Libre à vous encore une fois de n’autoriser que certains ports, on pourrait imaginer n’autoriser que le DNS, HTTP, HTTPS, ICMP, SFTP, SSH, etc.

Et enfin, on autorise la connexion depuis l’extérieur sur l’interface WAN sur le port UDP 1194. Bien-entendu, rajoutez ces deux règles de pare-feu sur les deux routeurs/pare-feu, pas juste un seul !

*Si jamais lors de la configuration de votre serveur, vous avez choisi le protocole TCP et un port différent, ne pas oublier d’adapter la règle de pare-feu à ce niveau 🧐.

III) Tests, et conclusion

Toujours sur l’onglet OpenVPN, vous pouvez cliquer sur Connection Status pour vérifier l’état de votre tunnel :

Et si l’on tente un ping :

On est tout bon ! Le trafic passe correctement, et notre liaison est bien Up 😉.

Ceci conclu donc cet article sur OPNSense et la mise en place d’un Site-to-Site via OpenVPN. Rien de très complexe en réalité, surtout via shared key, mais si ça peut aider certaines personnes, ‘toujours utile !

Sur ce, portez vous bien et ciao !

Laisser un commentaire