Comment créer un VPN gratuit avec SoftEther et une instance Linux AWS EC2
Si vous souhaitez configurer votre propre VPN gratuitement, il n’y a pas de moyen plus simple de le faire qu’avec SoftEther. SoftEther est une solution VPN avec un logiciel gratuit pour connecter un serveur à un client. Il est relativement facile à utiliser par rapport à la configuration OpenVPN standard et prend en charge davantage de protocoles. Ils incluent OpenVPN, L2TP/IPSec, PPTP, SSTP et EtherIP.
Dans ce didacticiel, nous allons vous montrer comment configurer SoftEther à l'aide du protocole L2TP/IPSec sur une instance Amazon Web Services EC2. Vous pouvez utiliser gratuitement le niveau micro d’Amazon pendant un an, à condition de respecter les limites de temps, d’espace et de bande passante.
Une fois configuré, vous devriez pouvoir utiliser votre VPN maison comme n'importe quel autre VPN commercial : contourner la censure, débloquer le contenu géo-verrouillé, sécuriser les connexions wifi ouvertes et crypter les transferts de fichiers P2P. Nous avons même testé cela avec Netflix et avons pu contourner le VPN et le pare-feu proxy pour regarder Netflix américain depuis l'Allemagne, ce avec quoi de nombreux fournisseurs de VPN payants ont du mal (nous avons ici une liste de services payants qui battent le VPN Netflix interdire).
Ce dont vous avez besoin pour créer votre propre VPN avec SoftEther :
Avant de commencer, assurez-vous d’avoir tous les ingrédients suivants :
- Compte Amazon Web Services. Cela nécessite une carte de crédit, mais vous ne serez facturé que pour ce que vous utilisez, ce qui ne sera probablement rien si vous êtes prudent dans ce que vous faites.
- PuTTy et PuTTygen pour les utilisateurs Windows. Téléchargez les deux ici .
- Application cliente SoftEther pour votre système d'exploitation
- Une connaissance pratique de base des commandes Unix et de la façon dont les serveurs fonctionnent avec les clients sera extrêmement utile pour le dépannage si quelque chose ne se passe pas exactement comme prévu.
Lancer une instance EC2
Tout d’abord, nous devons créer une instance EC2 dans Amazon. Une « instance » est le jargon d’un serveur virtuel. EC signifie « Elastic Cloud », ce qui signifie que la taille du serveur peut augmenter et diminuer selon les besoins. Seule la plus petite taille d’instance est disponible dans le cadre de l’essai gratuit, alors assurez-vous de choisir celle-là.
- Une fois que vous avez enregistré un compte AWS, ouvrez le tableau de bord et cliquez sur EC2.
- Cliquez sur le bouton qui dit « Lancer l'instance ».
- Pour ce didacticiel, nous allons utiliser l'AMI Amazon Linux, qui est éligible au niveau gratuit au moment de la rédaction. Le serveur Ubuntu 14.04 LTS devrait également fonctionner, mais certains détails seront différents. Cliquez sur le bouton Sélectionner.
- Assurez-vous que le niveau t2.micro « éligible au niveau gratuit » est sélectionné et cliquez sur Suivant (pasReview and Launch) jusqu’à ce que vous arriviez à l’étape 6 : configurer le groupe de sécurité.
- Par souci de simplicité, nous allons simplement changer le type en « Tout le trafic » et la source en « Mon IP ». Si vous préférez plus de sécurité ou une plus large gamme de clients que votre ordinateur, vous pouvez ouvrir les ports 22, 443, 500, 992, 1194, 4500 et 5555. Nommez le groupe de sécurité avec quelque chose que vous reconnaîtrez, comme « softether ».
- Cliquez sur Vérifier et lancer, puis sur Lancer.
- Ensuite, il vous sera demandé de créer une paire de clés (ou d’en utiliser une existante si vous l’avez déjà fait). Nommez la paire de clés avec quelque chose que vous reconnaîtrez, comme « softether », et téléchargez-la. Conservez-le dans un endroit sécurisé et ne le perdez pas, sinon vous ne pourrez pas accéder à votre serveur.
- Cliquez sur Lancer des instances. Faites défiler vers le bas de cette page et cliquez sur Afficher les instances.
- Vous devriez voir votre nouvelle instance s'initialiser. Cliquez dessus pour afficher les informations ci-dessous, notamment l'adresse DNS publique. Nous en aurons besoin à l’étape suivante, alors copiez-le dans votre presse-papiers.
Félicitations, vous avez un serveur. Nous devons maintenant y accéder.
Accéder à votre instance EC2
Pour ce didacticiel, nous utiliserons PuTTy et PuTTygen sous Windows. Les utilisateurs Mac et Linux peuvent simplement utiliser leur terminal. Tout d’abord, nous devons générer un fichier de clé afin de pouvoir accéder à notre serveur via SSH.
- Ouvrir PuTTygen
- Cliquez sur Charger
- Accédez à l'endroit où vous avez téléchargé votre paire de clés .pem. Cliquez sur le menu déroulant de votre navigateur de fichiers pour afficher « Tous les fichiers », sinon la clé .pem n'apparaîtra pas. Sélectionnez le fichier .pem et cliquez sur Ouvrir.
- Cliquez sur « Enregistrer la clé privée » et confirmez pour enregistrer sans phrase secrète. Vous devez lui donner un nom de fichier identique à celui du fichier .pem. Dans ce cas, « plus doux ».
Avec le fichier de clé privée .ppk en main, nous pouvons maintenant nous connecter au serveur.
- Ouvrir PuTTy
- Sous Nom d'hôte, collez l'adresse DNS publique de votre instance (commence par « ec2 » et se termine par « amazonaws.com ») à partir du tableau de bord des instances EC2.
- Dans la barre latérale gauche, cliquez sur l'icône « + » à côté de SSH pour le développer, puis cliquez sur « Auth ».
- À côté du champ inférieur, cliquez sur le bouton Parcourir. Accédez au fichier de clé privée (.ppk) que vous venez de créer. Cliquez sur Ouvrir.
- Revenez à la page Session dans la barre latérale gauche. Nommez la session d’une manière dont vous vous souviendrez et cliquez sur Enregistrer. Vous pourrez désormais vous connecter instantanément à partir de PuTTy à l’avenir sans avoir à recommencer toutes ces étapes.
- Cliquez sur Ouvrir en bas de PuTTy
- Cliquez sur Oui pour confirmer que vous faites confiance au serveur
- Dans la fenêtre de terminal noire qui apparaît, vous serez invité à saisir un nom d'utilisateur. En supposant que vous ayez choisi l'AMI Amazon Linux, tapez « ec2-user » et appuyez sur Entrée.
Vous êtes maintenant connecté en SSH à votre serveur. Tout ce que vous tapez dans le terminal PuTTy est une commande destinée au serveur et non à votre ordinateur local.
Installez SoftEther sur votre instance EC2
Maintenant que vous pouvez donner des commandes à votre serveur, nous pouvons installer l'application serveur SoftEther. Malheureusement, SoftEther n’est disponible dans aucun gestionnaire de packages, nous devrons donc le télécharger depuis le site Web. Mais avant de faire cela, assurons-nous que tout est à jour.
- Dans le terminal PuTTy, tapez |_+_| (notez que d'autres versions de Linux peuvent utiliser « apt-get » au lieu de « yum ».
- Tapez |_+_| et appuyez sur Entrée.
- Si le téléchargement ci-dessus échoue, vous pouvez trouver la dernière version du logiciel SoftEther VPN Server ici . Remplacez l'URL dans la commande ci-dessus par le lien de téléchargement sur le site Web de SoftEther.
- Copiez le nom du fichier que vous venez de télécharger tel qu'il est affiché dans le terminal.
- Tapez |_+_| et appuyez sur Entrée pour décompresser le fichier dans un nouveau répertoire appelé « vpnserver ».
- Afin de compiler ces fichiers, tapez |_+_|
- Certains utilisateurs ont signalé que le package gcc ne s'installerait pas via la commande ci-dessus, auquel cas vous pouvez taper et entrer |_+_|
- Tapez et entrez |_+_|
- Tapez et entrez |_+_|
- Tapez « 1 » et appuyez trois fois sur Entrée pour terminer le contrat de licence.
SoftEther est maintenant compilé et peut être exécuté sur votre serveur. Un pas de plus!
Démarrer SoftEther en tant que service
Ensuite, nous allons créer un fichier dans le dossier init.d qui démarrera automatiquement SoftEther en tant que service à chaque démarrage du serveur. Cela nous évitera d'avoir à l'allumer manuellement à chaque fois que nous arrêtons et démarrons le serveur. Vous pouvez sauter cette étape s’il vous plaît, mais cela peut vous faire gagner beaucoup de temps à long terme. Tout d’abord, déplaçons le répertoire SoftEther ailleurs.
- Tapez les commandes suivantes en appuyant sur Entrée après chaque ligne :
- |_+_|
- |_+_|
- |_+_|
- Modifiez maintenant les autorisations des fichiers pour protéger vos fichiers à l'aide des commandes suivantes :
- |_+_|
- |_+_|
- |_+_|
- Créez un fichier en tapant |_+_|
- Dans le fichier texte vide, collez ce qui suit (vous pouvez le coller en cliquant avec le bouton droit sous Windows) :|_+_|
# chkconfig : 2345 99 01
# description : Serveur VPN SoftEther
DAEMON=/usr/local/vpnserver/vpnserver
VERROU=/var/lock/subsys/vpnserver
test -x $DAEMON || sortie 0
cas « 1 $ » dans
commencer)
$DAEMON démarre
touchez $LOCK
;;
arrêt)
$DAEMON arrête
rm $ VERROU
;;
redémarrage)
$DAEMON arrête
dormir 3
$DAEMON démarre
;;
*)
echo 'Utilisation : $0 {start|stop|restart}'
sortie 1
esac
sortie 0
- Appuyez sur CTRL+O (« o » différent de zéro) et appuyez sur Entrée pour enregistrer le fichier. Appuyez ensuite sur CTRL+X pour quitter Nano.
- Tapez les commandes suivantes pour que Softether s'exécute au démarrage :
- |_+_| (cela existe peut-être déjà)
- sudo su
- |_+_|
- |_+_|
SoftEther s'exécutera désormais automatiquement au démarrage du serveur.
Vérifiez que SoftEther fonctionne
Ici, nous allons effectuer une vérification rapide pour nous assurer que tout fonctionne comme souhaité.
- Tapez |_+_| et appuyez sur Entrée
- Tapez |_+_| et appuyez sur Entrée
- Tapez « 3 » pour choisir la troisième option et appuyez sur Entrée.
- Tapez |_+_| et appuyez sur Entrée pour exécuter le test
Vous devriez recevoir un message indiquant que tous les contrôles ont réussi. Sinon, quelque chose s'est mal passé.
Tapez « exit » pour quitter VPNtools.
Configuration de SoftEther
Ensuite, nous devons configurer SoftEther pour pouvoir nous y connecter depuis notre client PC.
- Pendant que vous êtes toujours dans le répertoire vpnserver, tapez |_+_|
- Choisissez l'option 1 et appuyez sur Entrée
- Pour l'adresse IP du nom d'hôte, saisissez l'adresse IP de l'instance de serveur EC2 suivie de deux points et du port 5555. Vous pouvez trouver l'adresse IP de votre instance de serveur sur le tableau de bord EC2. L'entrée devrait ressembler à ceci : |_+_|
- À l'étape suivante, laissez la saisie vide et appuyez sur Entrée pour vous connecter à partir du nœud Administrateur du serveur.
- L'invite devrait maintenant lire « Serveur VPN> ». Entrez |_+_| et appuyez sur Entrée
- Saisissez le mot de passe de votre choix et saisissez-le à nouveau pour confirmer
- Ensuite, tapez |_+_| et entrez un nouveau mot de passe que vous utiliserez pour vous connecter lorsque vous n'êtes pas en mode Administrateur du serveur
- Tapez |_+_| et appuyez sur Entrée
- Tapez |_+_|
- Tapez |_+_|, en remplaçant « paul » par le nom d'utilisateur de votre choix.
- Il vous sera demandé de saisir un nom de groupe, un nom complet et une description pour le nouvel utilisateur. Laissez le nom du groupe vide et utilisez ce que vous voulez pour les deux autres.
- Tapez |_+_|, en remplaçant paul par le nom d'utilisateur que vous venez de créer. Entrez et confirmez un mot de passe pour cet utilisateur.
- Répétez les étapes 10 à 12 pour autant d'utilisateurs que vous le souhaitez.
Quelques notes ici. À l'étape 9, nous utilisons Secure NAT comme moyen de connecter les hubs au réseau de serveurs. Une autre option est la connexion Local Bridge, mais elle est plus compliquée et nécessite la configuration d'un serveur DHCP. Secure NAT s'occupe du serveur DHCP pour vous.
À l'étape 12, nous utilisons la commande UserPasswordSet pour activer l'authentification par mot de passe sur un utilisateur particulier. SoftEther prend en charge plusieurs autres types d'authentification, qui peuvent varier selon les utilisateurs. Ils incluent l'authentification de domaine NT, anonyme, RADIUS, individuel et par certificat signé.
Configurer L2TP/IPSec sur le serveur VPN
Nous avons décidé d'utiliser L2TP/IPSec comme protocole VPN dans ce didacticiel pour trois raisons principales : a) il est plus sécurisé que PPTP, b) il est plus facile à configurer qu'OpenVPN, et c) il fonctionne sur plusieurs systèmes d'exploitation, contrairement à Windows. -uniquement SSTP.
- Toujours dans l'invite « VPN Server> » de vpncmd, entrez |_+_|
- Ensuite, vous recevez une série d’invites de configuration. Ci-dessous, nous donnerons nos réponses recommandées :
- Activer la fonction de serveur L2TP sur IPsec – oui, activez le VPN pour une utilisation sur plusieurs appareils, notamment Windows PC, Mac OSX, iOS et Android
- Activer la fonction de serveur Raw L2TP – non, n'autorisez pas les connexions sans cryptage
- Activer la fonction serveur EtherIP / L2TPv3 sur IPsec – oui, autorisez les routeurs dotés de cette fonction intégrée à se connecter
- Vient ensuite la clé pré-partagée. Il s'agit d'un mot de passe comportant neuf caractères maximum. Entrez ce que vous voulez.
- Pour « HUB virtuel par défaut en cas d'omission du HUB sur le nom d'utilisateur : », saisissez simplement |_+_|
C'est ça! assurez-vous de noter tous les mots de passe que vous avez créés ci-dessus et à quoi chacun sert.
Connexion à votre VPN SoftEther fait maison
Vous pouvez vous connecter à votre VPN en utilisant n’importe quel client VPN compatible L2TP de votre choix, mais nous vous montrerons comment le faire avec la propre application de SoftEther. Commencez par télécharger et installer le client pour votre système d'exploitation ici .
- Ouvrez l'application SoftEther VPN Client Manager et cliquez sur « Ajouter une connexion VPN »
- Vous serez invité à créer un adaptateur virtuel si ce n’est pas déjà fait. Confirmez et appuyez sur OK pour accepter le nom par défaut.
- Dans la fenêtre Propriétés qui apparaît, saisissez ce qui suit :
- UNNom du paramètrede votre choix
- Nom d'hôteest l'adresse IP de votre serveur
- Le numéro de port est 5555 comme spécifié ci-dessus
- Le nom du hub virtuel est « VPN » comme spécifié ci-dessus
- Le nom d'utilisateur est le nom d'utilisateur que vous avez défini sur le serveur ci-dessus, dans ce cas « paul »
- Le mot de passe est ce que vous avez défini pour cet utilisateur avec la fonction UserPasswordSet ci-dessus
Laissez tout le reste aux paramètres par défaut et appuyez sur OK. Maintenant, de retour dans la fenêtre principale, double-cliquez sur la connexion que vous venez de configurer pour vous connecter.
Un message apparaîtra indiquant que votre connexion VPN a été établie. Toutes nos félicitations! Vous êtes désormais connecté à votre VPN maison !
N'oubliez pas de maintenir votre bande passante dans les limites du niveau gratuit d'Amazon. Le moyen le plus simple de procéder consiste à cliquer avec le bouton droit sur votre instance dans la console AWS et à cliquer sur le lien « Ajouter/Modifier des alarmes ». Vous pouvez configurer votre serveur pour qu'il s'arrête ou même s'arrête après quelques heures d'inactivité. Le niveau gratuit autorise 750 heures par mois (ce qui couvre tout le mois), vous ne devriez donc pas avoir besoin de le faire. Les utilisateurs qui ont dépassé leur première année de service gratuite ou qui font davantage avec leur compte AWS peuvent toutefois éviter des frais inutiles pour le temps de serveur inutilisé.
Quelque part dans ce didacticiel, quelque chose ne va probablement pas pour vous. Si vous voulez vraiment un VPN mais que vous n’êtes pas disposé à faire votre part du dépannage, il est probablement préférable d’opter pour un service VPN payant. Il existe un bon nombre de produits disponibles dans le commerce services VPN gratuits , mais ils ont leurs limites. Les utilisateurs de Linux peuvent trouver une liste de nos favoris VPN pour les distributions Debian et Fedora ici . Les VPN à abonnement payant vous permettent également de canaliser votre trafic Internet vers des dizaines d'emplacements géographiques, alors qu'une instance EC2 est limitée à un seul. Consultez nos avis VPN ici !