Service VPN gratuit Wireguard sur AWS

Pour quoi?

Avec la censure croissante d'Internet par des régimes autoritaires, un nombre croissant de ressources et de sites Internet utiles sont bloqués. Y compris les informations techniques.
Ainsi, il devient impossible d'utiliser pleinement Internet et viole le droit fondamental à la liberté d'expression, consacré dans déclaration universelle des droits de l'Homme.

Article 19
Toute personne a droit à la liberté d'opinion et d'expression; ce droit comprend la liberté d'avoir des opinions sans ingérence et de rechercher, recevoir et répandre des informations et des idées par tous les médias et sans considération de frontières

Dans ce guide, nous allons déployer notre propre logiciel gratuit* en 6 étapes. Service VPN basé sur la technologie Wireguard, dans les infrastructures cloud Amazon Web Services (AWS), en utilisant un compte gratuit (pendant 12 mois), sur une instance (machine virtuelle) gérée par Serveur Ubuntu 18.04 LTS.
J'ai essayé de rendre cette procédure pas à pas aussi conviviale que possible pour les non-informaticiens. La seule chose qui est requise est la persévérance dans la répétition des étapes décrites ci-dessous.

Noter

Les étapes

  1. Inscrivez-vous pour un compte AWS gratuit
  2. Créer une instance AWS
  3. Connexion à une instance AWS
  4. Configuration de la grille de protection
  5. Configuration des clients VPN
  6. Vérification de l'exactitude de l'installation VPN

Liens utiles

1. Enregistrement d'un compte AWS

L'inscription à un compte AWS gratuit nécessite un vrai numéro de téléphone et une carte de crédit Visa ou Mastercard valide. Je recommande d'utiliser des cartes virtuelles fournies gratuitement Yandex ou Portefeuille QIWI. Pour vérifier la validité de la carte, 1 $ est déduit lors de l'inscription, qui est ensuite restitué.

1.1. Ouverture de la console de gestion AWS

Vous devez ouvrir un navigateur et accéder à : https://aws.amazon.com/ru/
Cliquez sur le bouton "S'inscrire"

Service VPN gratuit Wireguard sur AWS

1.2. Remplir les données personnelles

Remplissez les données et cliquez sur le bouton "Continuer"

Service VPN gratuit Wireguard sur AWS

1.3. Remplir les coordonnées

Remplissez les informations de contact.

Service VPN gratuit Wireguard sur AWS

1.4. Spécification des informations de paiement.

Numéro de carte, date d'expiration et nom du titulaire de la carte.

Service VPN gratuit Wireguard sur AWS

1.5. Vérification de compte

A ce stade, le numéro de téléphone est confirmé et 1 $ est directement débité de la carte de paiement. Un code à 4 chiffres s'affiche sur l'écran de l'ordinateur et le téléphone spécifié reçoit un appel d'Amazon. Lors d'un appel, vous devez composer le code affiché à l'écran.

Service VPN gratuit Wireguard sur AWS

1.6. Choix du plan tarifaire.

Choisissez - Plan de base (gratuit)

Service VPN gratuit Wireguard sur AWS

1.7. Connectez-vous à la console de gestion

Service VPN gratuit Wireguard sur AWS

1.8. Choisir l'emplacement du centre de données

Service VPN gratuit Wireguard sur AWS

1.8.1. Test de vitesse

Avant de choisir un centre de données, il est recommandé de tester à travers https://speedtest.net vitesse d'accès aux centres de données les plus proches, à mon emplacement, les résultats suivants :

  • Singapour
    Service VPN gratuit Wireguard sur AWS
  • Paris
    Service VPN gratuit Wireguard sur AWS
  • Francfort
    Service VPN gratuit Wireguard sur AWS
  • Stockholm
    Service VPN gratuit Wireguard sur AWS
  • Londres
    Service VPN gratuit Wireguard sur AWS

Le centre de données de Londres affiche les meilleurs résultats en termes de vitesse. Je l'ai donc choisi pour une personnalisation plus poussée.

2. Créez une instance AWS

2.1 Créer une machine virtuelle

2.1.1. Sélection d'un type d'instance

Par défaut, l'instance t2.micro est sélectionnée, c'est ce dont nous avons besoin, appuyez simplement sur le bouton Suivant : Configurer les détails de l'instance

Service VPN gratuit Wireguard sur AWS

2.1.2. Définition des options d'instance

À l'avenir, nous connecterons une adresse IP publique permanente à notre instance, donc à ce stade, nous désactivons l'attribution automatique d'une adresse IP publique et appuyons sur le bouton Suivant : Ajouter de l'espace de stockage

Service VPN gratuit Wireguard sur AWS

2.1.3. Connexion de stockage

Spécifiez la taille du "disque dur". Pour nos besoins, 16 gigaoctets suffisent et nous appuyons sur le bouton Suivant: Ajouter des balises

Service VPN gratuit Wireguard sur AWS

2.1.4. Paramétrage des balises

Si nous créons plusieurs instances, alors elles pourraient être regroupées par balises pour faciliter l'administration. Dans ce cas, cette fonctionnalité est superflue, appuyez immédiatement sur le bouton Suivant : Configurer le groupe de sécurité

Service VPN gratuit Wireguard sur AWS

2.1.5. Ports d'ouverture

Dans cette étape, nous configurons le pare-feu en ouvrant les ports requis. L'ensemble des ports ouverts est appelé groupe de sécurité. Il faut créer un nouveau groupe de sécurité, lui donner un nom, une description, ajouter un port UDP (Custom UDP Rule), dans le champ Rort Range, il faut lui attribuer un numéro de port de la plage ports dynamiques 49152-65535. Dans ce cas, j'ai choisi le numéro de port 54321.

Service VPN gratuit Wireguard sur AWS

Après avoir rempli les données requises, cliquez sur le bouton Révision et lancement

2.1.6. Aperçu de tous les paramètres

Sur cette page, il y a un aperçu de tous les paramètres de notre instance, nous vérifions si tous les paramètres sont en ordre, et appuyons sur le bouton Lancement

Service VPN gratuit Wireguard sur AWS

2.1.7. Création de clés d'accès

Vient ensuite une boîte de dialogue proposant de créer ou d'ajouter une clé SSH existante, avec laquelle nous nous connecterons ultérieurement à distance à notre instance. Nous sélectionnons l'option "Créer une nouvelle paire de clés" pour créer une nouvelle clé. Donnez-lui un nom et cliquez sur le bouton Télécharger la paire de cléspour télécharger les clés générées. Enregistrez-les dans un endroit sûr sur votre ordinateur local. Une fois téléchargé, cliquez sur le bouton. Lancer des instances

Service VPN gratuit Wireguard sur AWS

2.1.7.1. Enregistrement des clés d'accès

Voici l'étape d'enregistrement des clés générées à l'étape précédente. Après avoir appuyé sur le bouton Télécharger la paire de clés, la clé est enregistrée en tant que fichier de certificat avec l'extension *.pem. Dans ce cas, je lui ai donné un nom wireguard-awskey.pem

Service VPN gratuit Wireguard sur AWS

2.1.8. Présentation des résultats de la création d'instance

Ensuite, nous voyons un message sur le lancement réussi de l'instance que nous venons de créer. Nous pouvons accéder à la liste de nos instances en cliquant sur le bouton afficher les occurrences

Service VPN gratuit Wireguard sur AWS

2.2. Création d'une adresse IP externe

2.2.1. Lancement de la création d'une IP externe

Ensuite, nous devons créer une adresse IP externe permanente à travers laquelle nous nous connecterons à notre serveur VPN. Pour ce faire, dans le panneau de navigation sur le côté gauche de l'écran, sélectionnez l'élément IP élastiques de la catégorie RÉSEAU & SÉCURITÉ et appuyez sur le bouton Attribuer une nouvelle adresse

Service VPN gratuit Wireguard sur AWS

2.2.2. Configurer la création d'une IP externe

Dans l'étape suivante, nous devons activer l'option Piscines Amazon (activé par défaut), et cliquez sur le bouton Attribuer

Service VPN gratuit Wireguard sur AWS

2.2.3. Aperçu des résultats de la création d'une adresse IP externe

L'écran suivant affichera l'adresse IP externe que nous avons reçue. Il est recommandé de le mémoriser, et il est même préférable de l'écrire. il sera utile plus d'une fois dans le processus de configuration et d'utilisation du serveur VPN. Dans ce guide, j'utilise l'adresse IP comme exemple. 4.3.2.1. Une fois que vous avez entré l'adresse, appuyez sur le bouton Fermer

Service VPN gratuit Wireguard sur AWS

2.2.4. Liste des adresses IP externes

Ensuite, une liste de nos adresses IP publiques permanentes (elastics IP) nous est présentée.

Service VPN gratuit Wireguard sur AWS

2.2.5. Attribution d'une adresse IP externe à une instance

Dans cette liste, nous sélectionnons l'adresse IP que nous avons reçue et appuyons sur le bouton droit de la souris pour faire apparaître un menu déroulant. Dans celui-ci, sélectionnez l'élément adresse associéepour l'affecter à l'instance que nous avons créée précédemment.

Service VPN gratuit Wireguard sur AWS

2.2.6. Paramètre d'attribution d'adresse IP externe

À l'étape suivante, sélectionnez notre instance dans la liste déroulante et appuyez sur le bouton Associé(e)

Service VPN gratuit Wireguard sur AWS

2.2.7. Présentation des résultats de l'attribution d'adresses IP externes

Après cela, nous pouvons voir que notre instance et son adresse IP privée sont liées à notre adresse IP publique permanente.

Service VPN gratuit Wireguard sur AWS

Nous pouvons maintenant nous connecter à notre instance nouvellement créée depuis l'extérieur, depuis notre ordinateur via SSH.

3. Connectez-vous à une instance AWS

SSH est un protocole sécurisé pour le contrôle à distance d'appareils informatiques.

3.1. Connexion via SSH depuis un ordinateur Windows

Pour vous connecter à un ordinateur Windows, vous devez d'abord télécharger et installer le programme mastiquer.

3.1.1. Importer la clé privée pour Putty

3.1.1.1. Après avoir installé Putty, vous devez exécuter l'utilitaire PuTTYgen qui l'accompagne pour importer la clé de certificat au format PEM dans un format adapté à une utilisation dans Putty. Pour ce faire, sélectionnez l'élément dans le menu du haut Conversions->Importer la clé

Service VPN gratuit Wireguard sur AWS

3.1.1.2. Choisir une clé AWS au format PEM

Ensuite, sélectionnez la clé que nous avons précédemment enregistrée à l'étape 2.1.7.1, dans notre cas son nom wireguard-awskey.pem

Service VPN gratuit Wireguard sur AWS

3.1.1.3. Définition des options d'importation de clé

À cette étape, nous devons spécifier un commentaire pour cette clé (description) et définir un mot de passe et une confirmation pour la sécurité. Il vous sera demandé à chaque connexion. Ainsi, nous protégeons la clé avec un mot de passe contre toute utilisation inappropriée. Vous n'êtes pas obligé de définir un mot de passe, mais il est moins sécurisé si la clé tombe entre de mauvaises mains. Après avoir appuyé sur le bouton Enregistrer la clé privée

Service VPN gratuit Wireguard sur AWS

3.1.1.4. Enregistrer une clé importée

Une boîte de dialogue d'enregistrement de fichier s'ouvre et nous enregistrons notre clé privée sous forme de fichier avec l'extension .ppkutilisable dans le programme mastiquer.
Spécifiez le nom de la clé (dans notre cas wireguard-awskey.ppk) et appuyez sur le bouton Enregistrer.

Service VPN gratuit Wireguard sur AWS

3.1.2. Créer et configurer une connexion dans Putty

3.1.2.1. Créer une connexion

Ouvrez le programme Putty, sélectionnez une catégorie Session (il est ouvert par défaut) et dans le champ Nom de l'hôte entrez l'adresse IP publique de notre serveur, que nous avons reçue à l'étape 2.2.3. Dans le champ Séance enregistrée entrez un nom arbitraire pour notre connexion (dans mon cas wireguard-aws-londres), puis appuyez sur le bouton Épargnez pour enregistrer les modifications que nous avons apportées.

Service VPN gratuit Wireguard sur AWS

3.1.2.2. Configuration de la connexion automatique des utilisateurs

Plus dans la catégorie La connexion, choisissez une sous-catégorie Données et sur le terrain Nom d'utilisateur de connexion automatique Saisissez votre nom d'utilisateur ubuntu est l'utilisateur standard de l'instance sur AWS avec Ubuntu.

Service VPN gratuit Wireguard sur AWS

3.1.2.3. Choisir une clé privée pour se connecter via SSH

Alors rendez-vous dans la sous-catégorie Connexion/SSH/Authentification et à côté du terrain Fichier de clé privée pour l'authentification appuyer sur le bouton Parcourir ... pour sélectionner un fichier avec un certificat de clé.

Service VPN gratuit Wireguard sur AWS

3.1.2.4. Ouvrir une clé importée

Spécifiez la clé que nous avons importée précédemment à l'étape 3.1.1.4, dans notre cas c'est un fichier wireguard-awskey.ppk, et appuyez sur le bouton ouvert.

Service VPN gratuit Wireguard sur AWS

3.1.2.5. Enregistrement des paramètres et démarrage d'une connexion

Retour à la page de catégorie Session appuyez à nouveau sur le bouton Épargnez, pour enregistrer les modifications que nous avons apportées précédemment dans les étapes précédentes (3.1.2.2 - 3.1.2.4). Et puis on appuie sur le bouton Ouvert pour ouvrir la connexion SSH distante que nous avons créée et configurée.

Service VPN gratuit Wireguard sur AWS

3.1.2.7. Établir la confiance entre les hôtes

À l'étape suivante, la première fois que nous essayons de nous connecter, nous recevons un avertissement, nous n'avons pas de confiance configurée entre les deux ordinateurs et nous demandons s'il faut faire confiance à l'ordinateur distant. Nous allons appuyer sur le bouton Oui, l'ajoutant ainsi à la liste des hôtes de confiance.

Service VPN gratuit Wireguard sur AWS

3.1.2.8. Saisie d'un mot de passe pour accéder à la clé

Après cela, une fenêtre de terminal s'ouvre, dans laquelle on vous demande le mot de passe pour la clé, si vous l'avez défini précédemment à l'étape 3.1.1.3. Lors de la saisie d'un mot de passe, aucune action à l'écran ne se produit. Si vous faites une erreur, vous pouvez utiliser la clé Retour arrière.

Service VPN gratuit Wireguard sur AWS

3.1.2.9. Message de bienvenue en cas de connexion réussie

Après avoir réussi à saisir le mot de passe, un texte de bienvenue s'affiche dans le terminal, qui nous indique que le système distant est prêt à exécuter nos commandes.

Service VPN gratuit Wireguard sur AWS

4. Configuration du serveur Wireguard

Les instructions les plus récentes pour installer et utiliser Wireguard à l'aide des scripts décrits ci-dessous se trouvent dans le référentiel : https://github.com/isystem-io/wireguard-aws

4.1. Installation de WireGuard

Dans le terminal, entrez les commandes suivantes (vous pouvez copier dans le presse-papiers et coller dans le terminal en appuyant sur le bouton droit de la souris) :

4.1.1. Cloner un dépôt

Cloner le référentiel avec les scripts d'installation de Wireguard

git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws

4.1.2. Basculer vers le répertoire avec des scripts

Accédez au répertoire avec le référentiel cloné

cd wireguard_aws

4.1.3 Exécution du script d'initialisation

Exécutez en tant qu'administrateur (utilisateur root) le script d'installation de Wireguard

sudo ./initial.sh

Le processus d'installation demandera certaines données nécessaires pour configurer Wireguard

4.1.3.1. Entrée de point de connexion

Entrez l'adresse IP externe et le port ouvert du serveur Wireguard. Nous avons obtenu l'adresse IP externe du serveur à l'étape 2.2.3 et ouvert le port à l'étape 2.1.5. Nous les indiquons ensemble, en les séparant par deux-points, par exemple 4.3.2.1:54321puis appuyez sur la touche Entrer
Exemple de sortie :

Enter the endpoint (external ip and port) in format [ipv4:port] (e.g. 4.3.2.1:54321): 4.3.2.1:54321

4.1.3.2. Saisie de l'adresse IP interne

Entrez l'adresse IP du serveur Wireguard sur le sous-réseau VPN sécurisé, si vous ne savez pas ce que c'est, appuyez simplement sur la touche Entrée pour définir la valeur par défaut (10.50.0.1)
Exemple de sortie :

Enter the server address in the VPN subnet (CIDR format) ([ENTER] set to default: 10.50.0.1):

4.1.3.3. Spécification d'un serveur DNS

Entrez l'adresse IP du serveur DNS ou appuyez simplement sur la touche Entrée pour définir la valeur par défaut 1.1.1.1 (DNS public Cloudflare)
Exemple de sortie :

Enter the ip address of the server DNS (CIDR format) ([ENTER] set to default: 1.1.1.1):

4.1.3.4. Spécification de l'interface WAN

Ensuite, vous devez entrer le nom de l'interface réseau externe qui écoutera sur l'interface réseau interne VPN. Appuyez simplement sur Entrée pour définir la valeur par défaut pour AWS (eth0)
Exemple de sortie :

Enter the name of the WAN network interface ([ENTER] set to default: eth0):

4.1.3.5. Spécifier le nom du client

Entrez le nom de l'utilisateur VPN. Le fait est que le serveur VPN Wireguard ne pourra pas démarrer tant qu'au moins un client n'aura pas été ajouté. Dans ce cas, j'ai entré le nom Alex@mobile
Exemple de sortie :

Enter VPN user name: Alex@mobile

Après cela, un code QR avec la configuration du client nouvellement ajouté doit être affiché à l'écran, qui doit être lu à l'aide du client mobile Wireguard sur Android ou iOS pour le configurer. Et également sous le code QR, le texte du fichier de configuration sera affiché en cas de configuration manuelle des clients. Comment faire cela sera discuté ci-dessous.

Service VPN gratuit Wireguard sur AWS

4.2. Ajouter un nouvel utilisateur VPN

Pour ajouter un nouvel utilisateur, vous devez exécuter le script dans le terminal add-client.sh

sudo ./add-client.sh

Le script demande un nom d'utilisateur :
Exemple de sortie :

Enter VPN user name: 

De plus, le nom des utilisateurs peut être passé comme paramètre de script (dans ce cas Alex@mobile):

sudo ./add-client.sh Alex@mobile

À la suite de l'exécution du script, dans le répertoire avec le nom du client le long du chemin /etc/wireguard/clients/{ИмяКлиента} le fichier de configuration du client sera créé /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, et l'écran du terminal affichera un code QR pour la configuration des clients mobiles et le contenu du fichier de configuration.

4.2.1. Fichier de configuration utilisateur

Vous pouvez afficher le contenu du fichier .conf à l'écran, pour une configuration manuelle du client, à l'aide de la commande cat

sudo cat /etc/wireguard/clients/Alex@mobile/[email protected]

résultat d'exécution :

[Interface]
PrivateKey = oDMWr0toPVCvgKt5oncLLRfHRit+jbzT5cshNUi8zlM=
Address = 10.50.0.2/32
DNS = 1.1.1.1

[Peer]
PublicKey = mLnd+mul15U0EP6jCH5MRhIAjsfKYuIU/j5ml8Z2SEk=
PresharedKey = wjXdcf8CG29Scmnl5D97N46PhVn1jecioaXjdvrEkAc=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 4.3.2.1:54321

Description du fichier de configuration client :

[Interface]
PrivateKey = Приватный ключ клиента
Address = IP адрес клиента
DNS = ДНС используемый клиентом

[Peer]
PublicKey = Публичный ключ сервера
PresharedKey = Общи ключ сервера и клиента
AllowedIPs = Разрешенные адреса для подключения (все -  0.0.0.0/0, ::/0)
Endpoint = IP адрес и порт для подключения

4.2.2. Code QR pour la configuration du client

Vous pouvez afficher un QR code de configuration pour un client précédemment créé sur l'écran du terminal à l'aide de la commande qrencode -t ansiutf8 (dans cet exemple, le client nommé Alex@mobile est utilisé) :

sudo cat /etc/wireguard/clients/Alex@mobile/[email protected] | qrencode -t ansiutf8

5. Configuration des clients VPN

5.1. Configuration du client mobile Android

Le client officiel Wireguard pour Android peut être installer depuis le Google Play Store officiel

Après cela, il faut importer la configuration en lisant le QR code avec la configuration client (voir paragraphe 4.2.2) et lui donner un nom :

Service VPN gratuit Wireguard sur AWS

Une fois la configuration importée avec succès, vous pouvez activer le tunnel VPN. Une connexion réussie sera indiquée par une cachette de clé dans la barre d'état système Android

Service VPN gratuit Wireguard sur AWS

5.2. Configuration du client Windows

Vous devez d'abord télécharger et installer le programme TunSafe pour Windows est le client Wireguard pour Windows.

5.2.1. Création d'un fichier de configuration d'importation

Faites un clic droit pour créer un fichier texte sur le bureau.

Service VPN gratuit Wireguard sur AWS

5.2.2. Copiez le contenu du fichier de configuration depuis le serveur

Ensuite, nous retournons au terminal Putty et affichons le contenu du fichier de configuration de l'utilisateur souhaité, comme décrit à l'étape 4.2.1.
Ensuite, cliquez avec le bouton droit sur le texte de configuration dans le terminal Putty, une fois la sélection terminée, il sera automatiquement copié dans le presse-papiers.

Service VPN gratuit Wireguard sur AWS

5.2.3. Copie de la configuration dans un fichier de configuration local

Dans ce champ, nous revenons au fichier texte que nous avons créé précédemment sur le bureau et y collons le texte de configuration à partir du presse-papiers.

Service VPN gratuit Wireguard sur AWS

5.2.4. Enregistrement d'un fichier de configuration local

Enregistrez le fichier avec l'extension .conf (dans ce cas nommé london.conf)

Service VPN gratuit Wireguard sur AWS

5.2.5. Importation d'un fichier de configuration local

Ensuite, vous devez importer le fichier de configuration dans le programme TunSafe.

Service VPN gratuit Wireguard sur AWS

5.2.6. Configuration d'une connexion VPN

Sélectionnez ce fichier de configuration et connectez-vous en cliquant sur le bouton NOUS CONTACTER.
Service VPN gratuit Wireguard sur AWS

6. Vérifier si la connexion a réussi

Pour vérifier le succès de la connexion via le tunnel VPN, vous devez ouvrir un navigateur et accéder au site https://2ip.ua/ru/

Service VPN gratuit Wireguard sur AWS

L'adresse IP affichée doit correspondre à celle que nous avons reçue à l'étape 2.2.3.
Si tel est le cas, le tunnel VPN fonctionne correctement.

Depuis le terminal Linux, vous pouvez vérifier votre adresse IP en tapant :

curl http://zx2c4.com/ip

Ou vous pouvez simplement aller sur pornhub si vous êtes au Kazakhstan.

Source: habr.com

Ajouter un commentaire