Comment configurer un client OpenVPN dans pfSense
pfSense est un pare-feu open source, basé sur FreeBSD, qui fait également office de routeur. Vous pouvez installer pfSense sur du matériel plus ancien (ou plus récent), à condition que le système dispose de deux cartes réseau (WAN et LAN) et utiliser pfSense comme routeur. pfSense offre plus de puissance, de contrôle et de sécurité que la plupart des routeurs commerciaux que vous pouvez acheter et bénéficie de mises à jour fréquentes du système d'exploitation. Il dispose également d’une interface Web facile à utiliser grâce à laquelle vous pouvez configurer tous les aspects de votre routeur/pare-feu.
L'une des nombreuses choses intéressantes que vous pouvez faire avec pfSense est de configurer une connexion client à un fournisseur OpenVPN. Vous pouvez ensuite configurer pfSense pour acheminer tout le trafic de tous les appareils connectés (PC, tablettes, smartphones) via la connexion VPN. Cela vous permet de :
- Connectez autant d'appareils que vous le souhaitez au VPN et contournez les limites strictes des connexions simultanées que votre fournisseur peut imposer.
- Connectez des appareils qui ne prennent pas en charge nativement les connexions VPN, tels que les consoles de jeux et les téléviseurs intelligents
- Connectez-vous au VPN sans utiliser d'application VPN dédiée.
Dans cet article, nous allons voir comment configurer une connexion client OpenVPN à un fournisseur VPN commercial dans pfSense. Ce guide suppose que vous avez pfSense installé et que vous disposez d'une configuration standard avec au moins une interface LAN et une interface WAN.
Fournisseurs VPN
Pas tous commerciaux Les fournisseurs VPN prennent en charge pfSense – bien que beaucoup le fassent. Lorsqu’un fournisseur VPN prend officiellement en charge pfSense, il est assez facile de trouver tous les fichiers dont vous avez besoin pour le configurer sur pfSense. Les autres fournisseurs VPN ne prennent pas officiellement en charge pfSense, mais mettent néanmoins à votre disposition les fichiers de configuration dont vous avez besoin pour établir une connexion client sur pfSense. Il s'agit généralement de fournisseurs qui prennent en charge Linux et ils mettent à disposition les fichiers de configuration nécessaires pour une configuration Linux. Mais il s’avère que les fichiers dont vous avez besoin pour établir une connexion client OpenVPN sous Linux sont les mêmes que ceux dont vous auriez également besoin pour les configurer sur pfSense.
Voici une liste de fournisseurs connus pour travailler avec pfSense (officiellement ou officieusement). La liste n'est pas exhaustive, il peut donc y en avoir d'autres.
ALERTE DE DEAL :Bénéficiez de 3 mois gratuits avec ExpressVPN, notre fournisseur VPN n°1.
- AirVPN
- ExpressVPN
- Surfrequin
- Cachez-moi
- Cache mon cul
- VPN
- Taupe
- NordVPN
- OVPN
- Accès Internet Privé
- ProtonVPN
- PureVPN
- TorGuard
- VyprVPN
- scribe à vent
Il existe également différentes manières de configurer le même fournisseur sur pfSense. Pour ce guide, j'ai choisi la méthode la plus simple qui fonctionne bien avec une installation de base typique de pfSense.
Ce dont vous aurez besoin
Pour que cela fonctionne sur pfSense, vous devrez obtenir les éléments suivants sur le site Web de votre fournisseur VPN. Les fournisseurs VPN qui prennent en charge pfSense (officiellement ou non) mettront leurs fichiers de configuration à disposition en téléchargement.
- Vos identifiants : Il s'agirait d'un nom d'utilisateur et d'un mot de passe, d'un identifiant client, d'un numéro de compte – peu importe comment ils l'appellent. Cela varie selon le fournisseur. Il peut s'agir de l'une des situations ci-dessus. Vous avez simplement besoin de vos moyens d’identification et d’authentification pour votre compte.
- Le certificat CA : Le fournisseur VPN dispose d'une autorité de certification qui valide les connexions à ses serveurs VPN. Pour configurer pfSense en tant que client VPN, vous aurez besoin du certificat CA de votre fournisseur. Cela ressemble à ceci :
- La clé privée du certificat CA : Certains fournisseurs vous demandent également d'importer la clé privée du certificat CA. Ce n’est pas le cas de tous. Cela ressemble à ceci :
- La clé TLS : Certains fournisseurs VPN nécessitent également une clé TLS pour créer une connexion client à leurs serveurs. On parle souvent de clé statique. Si votre fournisseur VPN nécessite une clé statique pour établir une connexion OpenVPN, vous en aurez également besoin. Cela ressemble à ceci :
La première chose que vous devez faire est donc d’obtenir les fichiers de configuration OpenVPN auprès de votre fournisseur VPN. Une fois que vous avez tout cela, vous êtes prêt à commencer à configurer la connexion client dans pfSense.
Configuration de pfSense
Se connecter
La première chose que nous devons faire est de nous connecter à notre boîte pfSense.
- Lancez un navigateur Web et tapez : https://
dans la barre d'URL. pfSense est par défaut 192.168.1.1. - Entrez votre nom d'utilisateur et votre mot de passe. Vous êtes redirigé vers le tableau de bord pfSense.
Importer le certificat CA et la clé
Nous allons commencer par importer le certificat CA de notre fournisseur VPN.
Comment importer une autorité de certification dans pfSense
- Aller versSystème > Cert. Gestionnaire > ACet cliquez sur leAjouterbouton en bas à droite.
- Donnez à l'autorité de certification un nom descriptif. J'utilise My VPN Provider CA pour cet exemple.
- Met leMéthodechamp àImporter une autorité de certification existante.
- Collez le certificat CA de votre fournisseur dans leDonnées du certificatchamp.
- Collez votre clé CA dans leClé privée du certificatchamp (si votre fournisseur l’exige).
- Cliquez sur Enregistrer. Vous avez importé l'autorité de certification de votre fournisseur VPN et êtes redirigé vers la page des autorités de certification où votre autorité de certification nouvellement importée est désormais affichée dans la liste.
Ajout d'une connexion client OpenVPN
Maintenant que nous avons importé notre certificat CA, nous pouvons continuer et commencer à configurer notre connexion VPN.
Si votre fournisseur VPN prend explicitement en charge pfSense, les informations dont vous avez besoin pour le configurer seront faciles à trouver. Si votre fournisseur VPN prend en charge « officieusement » pfSense en prenant en charge Linux, vous pouvez trouver les informations nécessaires dans l'un des fichiers .ovpn mis à disposition pour Linux. Les fichiers .ovpn peuvent être ouverts à l'aide d'un éditeur de texte standard. Cela ressemblera à ceci (le certificat et la clé ont été raccourcis pour la capture d'écran) :
Aller versVPN > OpenVPN > Clientset cliquez sur leAjouterbouton.
La page de configuration du client OpenVPN est plutôt longue. Nous allons le décomposer par section et passer en revue tous les paramètres requis pour configurer une connexion OpenVPN.
Informations générales
Désactivé : Laissez cette case décochée ou votre connexion client sera désactivée.
Mode serveur : Réglez ceci sur Peer to Peer (SSL/TLS). L'autre option, Shared Key, est généralement utilisée pour les connexions VPN point à point qui relient deux réseaux via VPN.
Protocole l : Ceci est généralement défini sur UDP, mais peut également être défini sur TCP si votre fournisseur prend en charge les connexions TCP. UDP est généralement plus rapide et constitue le choix préféré pour OpenVPN.
Interface : PAR
Port local : laissez vide sauf indication contraire de votre fournisseur VPN
Hôte ou adresse du serveur : L'adresse IP ou le nom d'hôte du serveur VPN auquel vous vous connecterez.
Port de serveur : Le port sur lequel la connexion VPN sera établie. Ceci est déterminé par votre fournisseur VPN.
Hôte ou adresse proxy : Laisser vide
Port proxy : Laisser vide
Authentification proxy : Laisser vide
Paramètres d'authentification utilisateur
C'est ici que vous saisissez les informations d'identification de votre fournisseur VPN. Comme je l'ai mentionné ci-dessus, cela peut prendre la forme d'un nom d'utilisateur et d'un mot de passe, d'un identifiant client ou d'un numéro de compte – quel que soit le choix de votre fournisseur VPN. Si votre fournisseur n'exige pas de mot de passe, laissez simplement le champ du mot de passe vide.
Nom d'utilisateur : Votre nom d'utilisateur, identifiant client, numéro de compte, etc.
Mot de passe : Votre mot de passe (si requis)
Automatique Recommencez : Laissez décoché pour que votre client tente de se reconnecter en cas d'échec de l'authentification.
Paramètres cryptographiques
La manière de configurer la section Paramètres cryptographiques varie considérablement selon les fournisseurs de services VPN. Vous devrez obtenir les informations appropriées auprès de votre VPN. La plupart des fournisseurs rendent ces informations facilement accessibles.
Configuration TLS : Certains fournisseurs VPN exigent qu'une clé TLS soit utilisée pour l'authentification de la connexion OpenVPN. D'autres ne le font pas. Si tel est le cas, la clé TLS aura été regroupée avec les fichiers de configuration que vous avez téléchargés. Si votre fournisseur nécessite une clé TLS, cochez Utiliser une clé TLS. Sinon, décochez-la.
Générer automatiquement une clé TLS : Laisser décoché.
Clé TLS : Collez ici la clé TLS fournie par votre fournisseur VPN si nécessaire. Sinon, laissez le champ vide.
Mode d'utilisation de la clé TLS : Les clés TLS peuvent être utilisées soit pour l'authentification TLS, soit pour l'authentification et le chiffrement TLS. Cela dépend de votre fournisseur. Sélectionnez le mode d'utilisation de la clé TLS approprié dans le menu déroulant.
Direction du répertoire de clés TLS : Laissez à Utiliser la direction par défaut, sauf si un paramètre différent est spécifié par votre fournisseur. Les clés TLS du client et du serveur doivent être définies dans des directions opposées pour que l'authentification TLS fonctionne.
Autorité de certification homologue : Sélectionnez l'autorité de certification que nous avons importée précédemment.
Certificat client : Laissez cet ensemble sur Aucun. Avec OpenVPN, il est possible d'utiliser une authentification basée sur un certificat plutôt qu'un nom d'utilisateur et un mot de passe, ou les deux. Cependant, tous les fournisseurs VPN que j’ai rencontrés utilisent une authentification basée sur les identifiants, probablement parce que la distribution de certificats uniques à chaque client deviendrait rapidement ingérable.
Algorithme de cryptage : Ce paramètre détermine le chiffre utilisé pour chiffrer votre connexion. Cela dépend encore une fois de votre fournisseur VPN. Cependant, la plupart des fournisseurs utilisent AES-256-CBC ou AES-256-GCM.
Activer le PCN : NCP signifie Paramètres cryptographiques négociables. Si votre fournisseur VPN prend en charge divers paramètres de cryptage, NCP négociera le cryptage le plus fort possible pris en charge à la fois par le client (votre boîtier pfSense) et par le serveur VPN. À moins que vous sachiez que votre fournisseur prend en charge NCP, décochez-la et le chiffre sélectionné dans l'algorithme de cryptage ci-dessus sera utilisé.
Algorithmes du PCN : Si vous utilisez NCP, vous pouvez sélectionner les chiffrements disponibles pour la négociation. Cliquer sur un chiffre dans la liste disponible l'importe dans la liste autorisée.
Algorithme de résumé d'authentification : Il s'agit de l'algorithme utilisé pour authentifier le canal de données (le tunnel par lequel circule votre trafic). Ceci est déterminé par votre fournisseur VPN. Sélectionnez l'algorithme approprié dans le menu déroulant.
Chiffrement matériel : Si le système sur lequel vous avez installé pfSense prend en charge l'accélération cryptographique matérielle, vous pouvez l'activer ici. Si votre système prend en charge ce paramètre, vous pouvez l'activer quel que soit le fournisseur VPN que vous utilisez.
Paramètres des tunnels
Les paramètres du tunnel resteront en grande partie vides. Ces paramètres concernent le routage entre le client et le serveur et sont généralement gérés par le fournisseur VPN côté serveur.
Réseau de tunnels IPv4 : Le réseau IPv4 entre le client et le serveur. Laisser vide.
Réseau de tunnels IPv6 : Le réseau IPv6 entre le client et le serveur. Laisser vide.
Réseau(x) distant(s) IPv4 : Les réseaux IPv4 qui seront acheminés via le tunnel. Laisser vide.
Réseau(x) distant(s) IPv6 : Les réseaux IPv6 qui seront acheminés via le tunnel. Laisser vide.
Limiter la bande passante sortante : définit une limite stricte sur la bande passante sortante. Laisser vide.
Compression : Certains fournisseurs VPN peuvent vous demander d'activer la compression du trafic circulant via le tunnel VPN. Si cela est spécifié par votre fournisseur, sélectionnez l'option appropriée dans le menu déroulant. Sinon, laissez-le tel quel.
Topologie : Spécifie la topologie du réseau VPN. Laissez tel quel.
Type de service : Laisser décoché.
Ne tirez pas d'itinéraires : ce paramètre empêche le serveur VPN de transmettre des routes au client. Certains fournisseurs incluent les informations de routage dans la configuration du client et peuvent vous demander d'activer cette option (comme ExpressVPN). Si cela est spécifié par votre fournisseur, cochez cette option. Sinon, laissez-la décochée.
Ne pas ajouter/supprimer des itinéraires : Cette option peut être utilisée pour activer le routage sélectif : envoyer une partie du trafic via le tunnel VPN tout en envoyant le reste hors de la passerelle du FAI. Cela nécessite de définir l'interface VPN (que nous créerons ci-dessous) en tant que passerelle dans pfSense et de spécifier certaines règles de pare-feu et NAT pour la faire fonctionner. Ceci sort du cadre de ce guide. De plus, dans votre scénario VPN commercial typique, vous souhaitez que tout votre trafic soit acheminé via la connexion VPN. Laissez ce paramètre décoché.
Paramètres de ping
Les paramètres ping sont utilisés pour déterminer si la connexion est active ou non et si elle doit être fermée ou réinitialisée. Laissez tous les paramètres tels quels.
Configuration avancée
Options personnalisées : Certains fournisseurs nécessitent de définir certaines options personnalisées dans la configuration du client. Ceux-ci peuvent être ajoutés ici. À moins que votre fournisseur ne spécifie les options personnalisées requises, laissez ce champ vide.
E/S rapides UDP : optimise l'écriture des paquets et peut accélérer votre connexion VPN. Cela peut être activé et désactivé à votre guise. Je dirais d'essayer les deux et de voir si vous en obtenez une augmentation de vitesse.
Quitter la notification : ce paramètre alerte explicitement le serveur lorsque le client se déconnecte afin qu'il puisse fermer la connexion plutôt que d'attendre son expiration. Laissez-le tel quel, sauf indication contraire de votre fournisseur.
Tampon d'envoi/réception : Vous pouvez expérimenter différentes tailles de tampon dans OpenVPN. Différents réglages donneront des résultats différents en termes de vitesse. 512K est un bon point de départ. Ce paramètre est facultatif.
Création de passerelle : Sélectionne si les passerelles OpenVPN seront créées pour IPv4 uniquement, IPv6 uniquement ou les deux. À moins que votre fournisseur VPN ne prenne en charge IPv6 (comme Mullvad), définissez-le uniquement sur IPv4. Si votre fournisseur prend en charge IPv6, définissez-le sur Les deux.
Niveau de verbosité : Détermine le niveau de verbosité des journaux OpenVPN pour ce client. Le niveau par défaut est 1. Mais vous pouvez le définir à un niveau plus élevé pour obtenir plus d'informations lors du dépannage. Les journaux OpenVPN dans pfSense peuvent être consultés en accédant à Statut > Journaux système > OpenVPN.
Il ne nous reste plus qu'à créer notre connexion client en cliquant sur le bouton bleu Enregistrer en bas de l'écran et en cliquant sur Appliquer les modifications.
Création de l'interface VPN
La prochaine chose que nous devons faire est de créer l'interface virtuelle qui hébergera le segment de réseau VPN (le sous-réseau dont vous faites partie après une connexion VPN réussie) sur notre boîtier pfSense.
L'interface a été automatiquement créée par pfSense lorsque nous avons cliqué sur Enregistrer après avoir configuré notre connexion plus tôt. Mais nous devons encore l'attribuer et le configurer.
Comment ajouter une interface dans pfSense
- Aller vers Interfaces > Affectations . Vous verrez ovpnc1 répertorié à droite de Disponible ports réseau.
- Cliquez sur le vert Ajouter bouton, à sa droite. L'interface ovpnc1 est attribuée et affichée commeOPT1.
- Cliquez sur OPT1 . Vous êtes redirigé vers la page de configuration de l'interface.
- Cocher Activer l'interface et donnez-lui un nom. Laissez tous les autres paramètres intacts.
- Cliquez sur Sauvegarder et Appliquer les modifications . Votre interface est attribuée et activée.
Si vous revenez à la page Affectations d’interface, vous pouvez voir que votre interface nommée fait désormais partie de la liste des interfaces actives.
Vérification de la connexion
OK, nous avons maintenant configuré notre connexion client OpenVPN et nous avons créé notre interface VPN. Notre connexion fonctionne actuellement, mais pfSense n'est pas configuré pour acheminer le trafic via le tunnel VPN.
Nous pouvons vérifier que notre connexion fonctionne en accédant àÉtat > Journaux système > OpenVPN. Si le client OpenVPN est correctement configuré, vous devriez voir Séquence d'initialisation terminée , quelque part en haut des journaux OpenVPN.
Il ne nous reste plus qu'à acheminer le trafic via le tunnel VPN.
Règles de pare-feu
Nous devons nous assurer que les appareils connectés à l'interface LAN peuvent envoyer du trafic vers Internet via la passerelle par défaut. Lorsque vous installez pfSense, il crée automatiquement une règle autorisant par défaut tout type de trafic hors de l'interface LAN. Donc si vous n’avez rien changé là-bas, ça devrait aller.
Si vous les avez modifiés, assurez-vous que vos règles autorisent les appareils LAN que vous souhaitez connecter au VPN à accéder à Internet. Aller versPare-feu > Règles > LANpour afficher/mettre à jour vos règles LAN.
Voici à quoi ressemblent les règles LAN par défaut. Par défaut, il existe une règle pour IPv4 et une pour IPv6. À moins que votre fournisseur VPN ne prenne en charge IPv6, vous n'avez besoin que de la règle IPv4.
La règle permet à n'importe quel périphérique du réseau local de se connecter à n'importe quelle destination, en utilisant n'importe quel protocole sur n'importe quel port.
Si la règle n’existe pas, vous pouvez la créer.
Comment créer une règle de pare-feu LAN
- Cliquez sur le vertAjouterbouton avec une flèche pointant vers le haut. Cela placera la règle en haut et pfSense fera correspondre cette règle en premier.
- Met leActionchamp à passer.
- Quitter leDésactivécase décochée.
- Quitter leInterfacechamp défini surET.
- Met leAdresse FamilleàIPv4.
- Met leProtocoleà n'importe quel
- Met leSourceàET net.
- Met leDestinationàn'importe lequel.
- Si vous avez également besoin d'une règle IPv6, répétez le processus et sélectionnezIPv6duAdresse Famillemenu déroulant.
Règles NAT
La prochaine chose que nous devons faire est de configurer nos règles de traduction d'adresses réseau (NAT) pour acheminer correctement notre trafic VPN.
Comment ajouter une règle NAT
- Aller vers Pare-feu > NAT > Sortant .
- Met le Mode NAT sortant à Manuel , puis cliquez sur Sauvegarder et Appliquer les modifications . Vos règles NAT devraient maintenant ressembler à ceci (mais avec votre réseau LAN au lieu de mon 10.0.0.0/24) :
- Supprimez toutes les règles, à l’exception des deux premières – celles avec 127.0.0.1.
- Cliquez sur le vert Ajouter avec une flèche pointant vers le bas pour créer une nouvelle règle NAT.
- Met le Interface champ à l’interface VPN que nous avons créée précédemment.
- Met le Adresse Famille vers IPv4 ou IPv4+IPv6 si votre fournisseur VPN prend explicitement en charge IPv6.
- Met le source réseauà votre adresse IP LAN, mais faites du dernier chiffre un 0 au lieu d'un 1. Donc, si votre adresse IP LAN est 192.168.1.1, mettez 192.168.1.0 comme réseau source.
- Laissez tous les autres paramètres inchangés. Cliquez sur Sauvegarder et Appliquer les modifications .
Vos règles NAT devraient maintenant ressembler à ceci (mais avec votre réseau LAN au lieu de mon 10.0.0.0/24) :
Voir également: Qu'est-ce qu'un pare-feu NAT
DNS
La dernière chose que nous devons configurer est le DNS pour votre client VPN. Et il existe différentes manières de procéder en fonction de votre configuration pfSense. Même si votre fournisseur VPN code en dur ses serveurs DNS dans son fichier de configuration .ovpn, pfSense doit toujours connaître les serveurs DNS à utiliser.
Résolveur DNS / redirecteur DNS
Si vous utilisez le DNS Forwarder ou le DNS Resolver en mode transfert, vous pouvez simplement ajouter le(s) serveur(s) DNS de votre fournisseur VPN à la page de configuration générale.
Comment ajouter un serveur DNS à pfSense
- Aller vers Système > Configuration générale.
- Cliquez sur Ajoutez un serveur DNS.
- Saisissez le adresse IP du nom d'hôte du serveur DNS dans la case appropriée.
- Quitter le passerelle mis à Aucun .
- Cliquez sur Sauvegarder et Appliquer les modifications .
- Répétez l’opération pour ajouter des serveurs DNS supplémentaires.
DHCP
Comment pousser un serveur DNS vers les clients via DHCP
Si vous n'utilisez pas le résolveur DNS ou le redirecteur DNS, vous pouvez demander à votre serveur DHCP de transmettre le serveur DNS à tous les clients qui demandent une adresse IP sur votre réseau local.
- Aller vers Services > Serveur DHCP
- Sous Les serveurs , vous pouvez saisir jusqu'à quatre serveurs DNS.
- Insérez le(s) serveur(s) DNS de votre fournisseur VPN.
- Cliquez sur Sauvegarder et Appliquer les modifications .
Emballer
Félicitations, vous venez de configurer une connexion client OpenVPN sur pfSense. Il ne reste plus qu'à redémarrer pfSense et à connecter un appareil à votre réseau local. Une fois connecté, vous pouvez accéder à notre outil de vérification d’adresse IP pour vérifier que votre adresse IP publique a été remplacée par l’adresse IP du serveur VPN. Vous pouvez également vérifier les fuites DNS avec notre outil de test.
Vous pouvez désormais utiliser votre VPN commercial avec n’importe quel appareil connecté à votre box pfSense, sans application VPN dédiée. Et rappelez-vous, quelle que soit la limite imposée par votre fournisseur VPN sur le nombre de connexions simultanées, votre routeur ne compte que comme un seul appareil en ce qui concerne votre fournisseur VPN. Vous pouvez ainsi connecter autant d'appareils que vous le souhaitez.