Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
(OPENVPN)
Présentation :
Un VPN Site-to-Site (ou inter site) est utilisé pour interconnecter deux réseaux distants entre
eux. Ces deux réseaux seront alors comme sur un même réseau local.
Il permet aussi de chiffrer et donc de sécuriser les données qui transitent entre les deux sites
au travers d’internet.
Architecture :
Pour la mise en place de notre VPN Site-to-Site, nous utiliserons deux routeurs Pfsense version
2.3.1 (mais ceci devrait rester valable pour les autres versions) et les rôles client/serveur
d’OpenVPN intégrés à ceux-ci.
Je partirai d’une installation fraiche pour ce tutoriel.
Ci-dessous un schéma illustrant notre installation.
Nous avons donc un client sur chaque réseau, chacun d’eux est connecté à son routeur/
firewall PfSense.
Ces deux routeurs vont être connectés entre eux via OpenVPN au travers d’internet.
Cette infrastructure permettra donc l’échange de données d’un réseau à l’autre comme si l’on
était sur le même réseau local (LAN) et ceci grâce à notre VPN.
Aucune configuration ne sera nécessaire sur les hôtes de chacun des réseaux. L’utilisateur
lambda n’aura aucune idée qu’un VPN est utilisé.
Configuration de notre premier PfSense (partie serveur) :
1. Pour commencer, connectez-vous à l’interface web de votre premier PfSense
(serveur), 192.168.100.254 dans mon cas. (Par défaut login : admin | password : pfsense)
2. Une fois sur l’interface d’administration, cliquez sur l’onglet VPN de la barre de
navigation puis OpenVPN.
Dans cette partie Crypto. Settings choisissez les options d’encryption qui vous conviennent.
Cependant pour notre configuration laissez la checkbox « Shared key : Automatically generate
a shared key» cochée.
Pour cette partie Tunnel Settings, nous avons besoin de renseigner au minimum deux parties.
Premièrement « IPv4 Tunnel Network ». Vous devez choisir l’adresse du réseau virtuel sur
lequel vont transiter vos données (l’adresse du tunnel VPN). Cette adresse doit être différente
de celle utilisée par vos réseaux locaux. Dans mon cas, j’ai choisi le réseau 192.168.50.0/24
Deuxièmement « IPv4 Remote network(s) ». Sur cette partie, vous devez renseigner l’adresse
du réseau LAN distant. (192.168.1.0/24 chez moi)
Vous pouvez maintenant cliquer sur « Save » pour sauvegarder votre configuration.
Voilà notre serveur VPN est maintenant configuré.
Remarque
4. Si vous travaillez avec deux serveurs (machines ou VMs) dont les interfaces WAN utilisent
un même réseau local vous aurez une rapide configuration à faire au niveau de l’interface
WAN du PfSense qui fait office de serveur VPN.
Rendez-vous donc dans l’onglet « Interfaces » de barre de navigation puis WAN.
Scrollez en-bas de la page puis décochez les deux checkbox de la partie « Reserved Network ».
Ceci va permettre de ne pas bloquer d’office les paquets venant d’une adresse locale (notre
futur client VPN dans notre cas).
Nous sommes maintenant sur la page dédiée à la création de règles pour le firewall.
La configuration de cette règle dépendra beaucoup de la configuration que vous avez faite
pendant la partie sur la création du serveur OpenVPN.
Dans mon cas, j’avais laissé mon serveur OpenVPN en UDP (le meilleur protocole pour un
VPN). Je dois donc laisser passer le protocole « UDP » dans la règle de mon firewall (flèche de
la figure suivante).
Dans la partie 1 figure suivante, vous pouvez mettre la source à « any » pour accepter toutes
les sources. Mais vous pouvez très bien adapter cette option en fonction de votre
configuration.
Pour la partie 2 comme le serveur VPN est installé sur notre PfSense,« This firewall (self) » est
l’option la plus adéquate. Pas besoin de s’embêter.
Les parties 3 et 4 dépendront de la configuration de votre serveur VPN. Dans mon cas, j’ai
gardé le port d’origine (1194). Je dois donc choisir l’option correspondant à mon port dans le
menu déroulant « From » et « To ».
Vous pouvez maintenant sauvegarder votre configuration à l’aide du bouton « Save ».
Une fois sur la page d’administration consacrée à Open VPN vous devez vous rendre sous
l’onglet « Clients » de celle-ci (flèche 1 ci-dessous) puis cliquez sur « Add » (flèche 2).
Cliquez sur le « crayon » pour éditer la configuration du serveur que nous avons créée au
préalable.
Scrollez jusqu'à la partie Crypto. Settings.
Nous pouvons voir qu’une clé a été générée automatiquement par notre serveur. Copiez- la
puis quittez l’espace d’édition de notre serveur VPN.
Remarque
5. Retour sur le PfSense faisant office de client OpenVPN :
Rendez-vous sur la page d’administration dédiée à notre client OpenVPN.
Une fois sur cette page, éditez la configuration du client OpenVPN en cliquant sur le « crayon »
assigné à celle-ci (flèche 2 ci-dessous).
Nous pouvons voir sur cette page que la liaison est bien opérationnelle.
Notre VPN site-to-site est enfin fonctionnel.
Une dernière chose à faire
Il nous reste quand même une dernière chose à faire.
En effet si vous essayez maintenant de communiquer avec une machine du réseau LAN
distant… Cela ne fonctionnera pas comme le prouve l’image suivante...
Pourquoi ? Tout simplement car il manque une règle sur les firewalls de nos PfSense.
En effet l’interface réseau créé par OpenVPN n’a encore aucune règle. Les paquets sont donc
bloqués d’office par celui-ci.
Nous allons tout de suite régler ce problème.
1. Pour cela, il vous faut vous rendre sur l’interface web de l’un de vos PfSense puis
aller sous l’onglet « Firewall », cliquez sur « Rules ».
Votre Règle est maintenant créée et opérationnelle comme vous le montre l’image suivante .
4. Reproduisez les étapes précédentes (étapes 1 à 3) sur votre deuxième PfSense. Je
ne vais pas détailler cette partie car nous venons juste de la faire.
Donc comme avant onglet « Firewall » puis « Rules ».
5. Passons au test !
Pour ce test, j’ai choisi de pinger (requête ICMP pour les rabat-joie) un hôte distant.
Comme vous pouvez le voir sur l’image suivante, l’hôte 192.168.1.1 arrive à pinger l’hôte
192.168.100.1 du réseau distant.
Magnifique n’est-ce pas ?
Un petit traceroute (tracert sous windows) pour mieux comprendre.
Nous voyons que lorsque nous essayons de contacter un hôte sur le réseau LAN distant :
- Les paquets sont dans un premier temps dirigés vers notre passerelle (gateway).
- Puis ils transitent par notre tunnel VPN (192.168.50.1).
- Et ils arrivent enfin à notre hôte.