Comment configurer votre propre serveur OpenVPN dans pfSense
pfSense est un puissant pare-feu/routeur open source basé sur FreeBSD. L'utilisation de pfSense au lieu d'un routeur grand public classique présente de nombreux avantages. Les mises à jour fréquentes du système d’exploitation pour corriger les vulnérabilités sont importantes. La plupart des routeurs grand public ne reçoivent jamais de mises à jour du micrologiciel et la plupart des gens utilisent leur routeur depuis plus de cinq ans. Mais au-delà d’une meilleure sécurité, pfSense comprend de nombreux outils qui facilitent la configuration de pratiquement n’importe quelle configuration réseau grâce à son interface graphique complète.
Une chose facile à configurer sur pfSense est votre propre serveur OpenVPN. Lorsqu'un serveur VPN est exécuté sur votre routeur, vous pouvez vous connecter à votre réseau domestique en toute sécurité et, de n'importe où, accéder à votre machine locale et même utiliser votre connexion Internet domestique depuis votre appareil distant. Et c’est ce que nous allons examiner dans cet article. Nous allons vous guider à travers toutes les étapes à suivre pour configurer votre propre serveur OpenVPN sur pfSense.
Pour apprendre à configurer un Connexion client OpenVPN à un fournisseur VPN commercial dans pfSense , vous pouvez lire notre guide dédié.
Voir également: Meilleur VPN pour pfSense
Ce guide suppose que vous disposez déjà d’une configuration pfSense avec des interfaces WAN et LAN fonctionnelles.
Les paramètres ignorés dans les instructions doivent être laissés à leurs valeurs par défaut (c'est-à-dire intacts).
Penser à l'authentification
Avant de configurer notre serveur OpenVPN, nous devons choisir une méthode d'authentification. OpenVPN et pfSense prennent en charge l'authentification par mot de passe, l'authentification par certificat, ou les deux. Dans ce guide, nous utiliserons les deux afin de couvrir toutes les bases. Mais vous êtes libre de choisir l’un ou l’autre. Si vous choisissez d'utiliser uniquement l'authentification par mot de passe, vous pouvez ignorer les étapes de génération des certificats utilisateur. Mais vous devez toujours générer une autorité de certification ainsi qu'un certificat de serveur.
Génération de l'autorité de certification (CA)
La première chose que nous devons faire est de générer notre autorité de certification (CA), qui validera l'identité du serveur OpenVPN et authentifiera les certificats des utilisateurs (si activé).
- Dans les menus en haut de l'écran, sélectionnez Système > Cert. Directeur .
- Clique le Ajouter bouton en bas à droite.
- Entrez un nom pour votre autorité de certification.
- S'assurer Méthode est réglé sur Créer une autorité de certification interne .
- Sélectionnez votre Type de clé . j'utiliserai RSA pour cet exemple, mais vous pouvez également utiliser ECDSA .
- Définissez votre Longueur de clé à au moins 2048 . j'utiliserai 4096 pour cet exemple.
- Définissez votre Algorithme de résumé à au moins sha256 . j'utiliserai sha512 pour cet exemple.
- Choisis un Nom commun pour votre certificat ou laissez la valeur par défaut de interne-ca .
- Cliquez sur Sauvegarder au fond. Vous avez créé votre autorité de certification.
Générer le certificat du serveur
- Si vous n'y êtes pas déjà, dans les menus en haut de l'écran, sélectionnez Système > Cert. Directeur .
- Sélectionnez le Certificats sous-menu.
- Du Certificats sous-menu, cliquez sur le Ajouter/Signer bouton en bas à droite.
- S'assurer Méthode est réglé sur Créer un certificat interne .
- Entrez un Nom descriptif pour votre certificat.
- Utilisez les mêmes valeurs que celles que vous avez définies pour l'autorité de certification pour le Type de clé et longueur , ainsi que pour le Algorithme de résumé .
- Met le Durée de vie à 365 jours.
- SélectionnerCertificat de serveurcomme le Type de certificat .
- Cliquez sur Sauvegarder . Vous avez créé votre certificat de serveur.
Créez votre utilisateur OpenVPN et votre certificat utilisateur
Nous devons maintenant créer un utilisateur pour accéder au serveur OpenVPN.
Je vais créer un seul utilisateur pour ce guide, mais vous pouvez créer autant d'utilisateurs que nécessaire. Répétez simplement ces étapes.
- Dans les menus en haut de l'écran, sélectionnez Système > Gestionnaire d'utilisateurs . Vous êtes emmené au Gestionnaire des utilisateurs .
- Clique le Ajouter bouton en bas à droite.
- Entrez un Nom d'utilisateur et Mot de passe pour votre utilisateur.
- Cliquez sur Sauvegarder . Vous avez créé votre utilisateur OpenVPN et êtes redirigé vers le Gestionnaire des utilisateurs .
- Si vous avez choisi de configurer votre serveur pour une authentification basée sur un certificat ou pour une authentification basée sur un certificat et un mot de passe, cliquez sur le bouton icône de crayon à droite de votre nouvel utilisateur. Vous êtes ramené au Modifier l'utilisateur fenêtre.
- Clique le Ajouter bouton sous Certificats utilisateur . Vous êtes emmené au Certificat Directeur , et vous êtes invité à saisir les paramètres de votre certificat utilisateur.
- S'assurer Méthode est réglé sur Créer un certificat interne .
- Entrez un Nom descriptif pour votre certificat.
- Définissez les mêmes valeurs que celles définies pour l'autorité de certification pour le Type et longueur de clé , ainsi que pour le Algorithme de résumé .
- Réglez la durée de vie sur 365 jours.
- S'assurer Certificat Taper est réglé sur Utilisateur Certificat .
- Cliquez sur Sauvegarder . Vous êtes ramené au Utilisateur Directeur , et vous pouvez voir que votre certificat utilisateur nouvellement créé est désormais associé à votre utilisateur OpenVPN.
- Cliquez sur Sauvegarder .
Création du serveur OpenVPN
Nous sommes maintenant prêts à créer notre serveur OpenVPN.
- Dans les menus en haut de l'écran, sélectionnez VPN > OpenVPN . Vous êtes emmené au Serveurs OpenVPN sous-menu.
- Clique le Ajouter bouton en bas à droite.
Informations générales
- Met le Mode serveur soit Accès à distance (SSL/TLS) , Accès à distance (authentification utilisateur) , ou Accès à distance (SSL/TLS + authentification utilisateur) . Comme mentionné ci-dessus, j'utiliserai Accès à distance (SSL/TLS + authentification utilisateur) pour cet exemple.
- Changer la Port local vers un port différent si la topologie de votre réseau l'exige ou laissez-le par défaut ( 1194 ).
- Entrez un nom pour votre serveur dans le champ Description champ.
Paramètres cryptographiques
- S'assurer Utiliser une clé TLS et Générer automatiquement une clé TLS sont activés.
- Assurez-vous que votre Pair Certificat Autorité est défini sur l'autorité de certification que nous avons créée précédemment.
- Met le Serveur certificat champ au certificat de serveur que nous avons créé précédemment.
- Sélectionnez 4096 pour le DH Paramètre Longueur paramètre.
- Met le Authentification digérer algorithme à RSA-SHA512 (512 bits) .
Paramètres des tunnels
- Dans le Réseau de tunnels IPv4 , entrez un sous-réseau qui n’est pas présent sur votre réseau à utiliser comme sous-réseau interne du réseau OpenVPN. Dans mon cas, j'utilise 192.168.2.0/24 .
- Si votre réseau prend également en charge IPv6 et que vous souhaitez que votre tunnel OpenVPN prenne également en charge IPv6, entrez un sous-réseau IPv6 inutilisé dans le champ Réseau de tunnels IPv6 champ. Dans cet exemple, je configure mon serveur pour IPv4 uniquement.
- Activer Rediriger la passerelle IPv4 afin d'acheminer tout le trafic IPv4 sur le tunnel VPN.
- Activer Rediriger la passerelle IPv6 afin d'acheminer tout le trafic IPv6 via le tunnel VPN, si nécessaire.
Configuration avancée
- Activer E/S rapides UDP .
- Si vous utilisez uniquement IPv4, sélectionnez IPv4 uniquement dans le Création de passerelle champ. Si vous utilisez à la fois IPv4 et IPv6, laissez-le défini sur Les deux.
- Cliquez sur Sauvegarder . Vous avez créé votre serveur OpenVPN.
Vérification de la configuration du serveur OpenVPN
- Pour vous assurer que notre serveur est correctement configuré, sélectionnez État > Journaux système dans les menus supérieurs.
- Sélectionnez le OpenVPN sous-menu. Les journaux OpenVPN s'affichent.
- Si tout est correctement configuré, vous devriez voir Séquence d'initialisation terminée dans les journaux.
Créer des règles de pare-feu
Maintenant que notre serveur OpenVPN est configuré, nous devons créer une règle de pare-feu pour autoriser le trafic vers et depuis notre serveur.
Règle OpenVPN
Cette règle autorisera le trafic du sous-réseau OpenVPN vers Internet.
- Dans les menus en haut de l'écran, sélectionnez Pare-feu > Règles .
- Sélectionnez le OpenVPN sous-menu.
- Clique le Ajouter pour créer une nouvelle règle en haut de la liste.
- Met le Adresse Famille à IPv4 + IPv6 si votre système utilise à la fois IPv4 et IPv6. Sinon, laissez-le à la valeur par défaut de IPv4 .
- Met le Protocole champ à N'importe lequel .
- Met le Source à Réseau .
- Entrez le sous-réseau OpenVPN que vous avez spécifié précédemment dans le champ Adresse source mais sans le /24 . Par exemple: 192.168.2.0 .
- Sélectionner 24 dans le menu déroulant à droite du Adresse source champ.
- Saisissez une description pour cette règle dans le champ Description champ.
- Cliquez sur Sauvegarder . Et cliquez Appliquer les modifications . Le trafic sera désormais autorisé à sortir du pare-feu à partir du sous-réseau OpenVPN.
Règles WAN
Afin de vous connecter à votre serveur OpenVPN depuis le monde extérieur (c'est-à-dire Internet), vous devrez ouvrir le port sur lequel votre serveur s'exécute ( 1194 , dans cet exemple) sur votre interface WAN. Cette règle permettra à votre client de se connecter à votre serveur OpenVPN depuis Internet.
- Dans les menus en haut de l'écran, sélectionnez Pare-feu > Règles .
- Sélectionnez le PAR sous-menu (par défaut).
- Clique le Ajouter pour créer une nouvelle règle en haut de la liste.
- Met le Adresse Famille à IPv4 + IPv6 si votre système utilise à la fois IPv4 et IPv6. Sinon, laissez-le à la valeur par défaut de IPv4 .
- S'assurer Source est réglé sur N'importe lequel .
- Met le Protocole champ à UDP .
- Met le Destination Port Gamme à 1194 .
- Saisissez une description pour cette règle dans le champ Description champ.
- Cliquez sur Sauvegarder . Et cliquez Appliquer les modifications . Le trafic sera désormais autorisé depuis Internet vers le serveur OpenVPN.
Installez l'utilitaire d'exportation du client OpenVPN
Afin de configurer facilement notre client OpenVPN, pfSense fournit un générateur de configuration automatisé pour OpenVPN. Cependant, il n’est pas installé par défaut. Nous devons installer manuellement le package à partir du gestionnaire de packages pfSense.
- Dans les menus en haut de l'écran, sélectionnez Système > Gestionnaire de packages . Vous êtes emmené au Directeur chargé d'emballage .
- Sélectionnez le Disponible Paquets sous-menu.
- Faites défiler vers le bas jusqu'à ce que vous voyiez openvpn-client-export et cliquez sur le Installer bouton à sa droite. Vous êtes emmené au Installateur de paquets page.
- Cliquez sur Confirmer . L'installation commence.
- Une fois l'installation terminée, la barre de progression devient verte et vous devriez voir Succès affiché dans le Installation du paquet fenêtre.
Exporter la configuration du client OpenVPN
- Dans les menus en haut de l'écran, sélectionnez VPN > OpenVPN .
- Sélectionnez le Client Exporter sous-menu.
- Assurez-vous que le bon serveur OpenVPN est sélectionné à côté de Serveur d'accès à distance .
- Si vous utilisez DNS dynamique pour accéder à votre pfSense WAN, sélectionnez Autre du Résolution du nom d'hôte menu déroulant. Entrez ensuite le nom d'hôte dans le champ Nom d'hôte boîte qui apparaît ci-dessous. Cela vous permet d'accéder à votre pfSense WAN par nom d'hôte plutôt que par adresse IP, ce qui signifie que vous ne perdrez pas l'accès à votre serveur OpenVPN si votre FAI modifie votre adresse IP WAN. Si vous n'utilisez pas Dynamic DNS, laissez Résolution du nom d'hôte mis à Adresse IP de l'interface .
- Faites défiler vers le bas de la page et vous trouverez les configurations générées pour divers systèmes et applications. Cliquez sur la configuration appropriée pour votre (vos) appareil(s) pour la télécharger sur votre ordinateur.
Je vais connecter un ordinateur portable Linux, j'ai donc téléchargé le La plupart des clients configuration en ligne.
Lors de l'importation de ma configuration dans Network Manager de Linux, il me suffit de saisir mon nom d'utilisateur et mon mot de passe (ils ne sont pas inclus dans le fichier de configuration) et je peux me connecter à mon serveur OpenVPN.
Je peux ensuite vérifier que mon adresse IP publique a été remplacée par l'adresse WAN de mon Internet domestique, à l'aide de l'outil de vérification d'adresse IP de Comparitech.
Conclure
C’est ainsi que vous configurez un serveur OpenVPN de base dans pfSense pour l’accès à distance. Il y a beaucoup d’endroits où aller à partir d’ici pour s’adapter à des configurations plus complexes. Vous pouvez également configurer le filtrage de contenu sur votre box pfSense pour bloquer les publicités et les sites malveillants. Vos clients OpenVPN en bénéficieraient également. Mais pour l'instant, vous disposez d'un serveur OpenVPN entièrement fonctionnel configuré sur votre routeur domestique (pfSense), vous permettant d'utiliser votre connexion Internet domestique depuis n'importe quel appareil, où que vous soyez.
VPN activé, mes amis.