Service VPN gratuit Wireguard sur AWS

Pourquoi ?

Avec l'augmentation de la censure d'internet par les régimes autoritaires, un nombre croissant de ressources et de sites internet utiles sont bloqués. Cela inclut des informations techniques.
Ainsi, il devient impossible de profiter pleinement d'internet et le droit fondamental à la liberté d'expression, garanti par la Déclaration universelle des droits de l'homme.

Article 19
Tout individu a droit à la liberté de pensée et à la liberté de les exprimer ; ce droit inclut la liberté de suivre ses convictions sans entrave et la liberté de rechercher, de recevoir et de diffuser des informations et des idées par tous les moyens et sans tenir compte des frontières.

Dans ce guide, nous allons déployer notre propre service gratuit* offre une large gamme de possibilités pour une utilisation sûre et protégée de la connexion Internet sur différents appareils. Nous proposons des VPN pour PC avec Windows et macOS, pour appareils mobiles sous Android et iPhone (iOS), ainsi que pour téléviseurs (Smart TV). Notre application VPN possède une interface simple et intuitive, ce qui permet de configurer et d'utiliser facilement le VPN sur n'importe quel appareil. basé sur la technologie Wireguard, dans l'infrastructure cloud Amazon Web Services (AWS), en utilisant un compte gratuit (pendant 12 mois), sur une instance (machine virtuelle) fonctionnant sous Ubuntu Server 18.04 LTS.
J'ai essayé de rendre ce guide aussi convivial que possible pour ceux qui ne sont pas familiers avec l'informatique. La seule chose requise est la patience pour répéter les étapes décrites ci-dessous.

Remarque

Étapes

  1. Inscription d'un compte AWS gratuit
  2. Création d'une instance AWS
  3. Connexion à l'instance AWS
  4. Configuration de Wireguard
  5. Configuration des clients VPN
  6. Vérification de l'installation du VPN

Liens utiles

1. Inscription d'un compte AWS

Pour s'inscrire pour un compte AWS gratuit, un numéro de téléphone valide et une carte de crédit Visa ou Mastercard fonctionnelle sont requis. Je recommande d'utiliser des cartes virtuelles qui sont fournies gratuitement par Yandex.Money ou Portefeuille Qiwi. Pour vérifier la validité de la carte, un montant de 1 $ est débité lors de l'inscription, montant qui est par la suite remboursé.

1.1. Ouverture de la console de gestion AWS

Il est nécessaire d'ouvrir un navigateur et d'aller à l'adresse : https://aws.amazon.com/ru/
Cliquer sur le bouton « S'inscrire »

Service VPN gratuit Wireguard sur AWS

1.2. Remplissage des données personnelles

Remplir les informations et cliquer sur le bouton « Continuer »

Service VPN gratuit Wireguard sur AWS

1.3. Remplissage des coordonnées

Remplir les informations de contact.

Service VPN gratuit Wireguard sur AWS

1.4. Fourniture 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. Confirmation du compte

À ce stade, nous confirmons le numéro de téléphone et effectuons un débit de 1 $ sur la carte de paiement. Un code à 4 chiffres s'affiche à l'écran de l'ordinateur, et un appel d'Amazon est reçu sur le téléphone indiqué. Pendant l'appel, il est nécessaire de composer le code affiché à l'écran.

Service VPN gratuit Wireguard sur AWS

1.6. Choix du plan tarifaire.

Nous choisissons — Plan de base (gratuit)

Service VPN gratuit Wireguard sur AWS

1.7. Accès au tableau de bord

Service VPN gratuit Wireguard sur AWS

1.8. Choix de 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 via https://speedtest.net la vitesse d'accès aux centres de données les plus proches, dans ma localisation, les résultats sont les 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 à Londres offre les meilleurs résultats en termes de vitesse. C'est pourquoi je l'ai choisi pour la configuration ultérieure.

2. Création d'une instance AWS

2.1 Création d'une machine virtuelle

2.1.1. Choix du type d'instance

L'instance t2.micro est sélectionnée par défaut, c'est celle dont nous avons besoin, il suffit de cliquer sur le bouton Suivant : Configurer les détails de l'instance

Service VPN gratuit Wireguard sur AWS

2.1.2. Configuration des paramètres de l'instance

Nous allons connecter une adresse IP publique fixe à notre instance, donc à cette étape, nous désactivons l'attribution automatique d'une IP publique et cliquons sur le bouton Suivant : Ajouter du stockage

Service VPN gratuit Wireguard sur AWS

2.1.3. Connexion de stockage

Indiquez la taille du « disque dur ». Pour nos besoins, 16 Go suffisent, puis cliquez sur le bouton Suivant : Ajouter des balises

Service VPN gratuit Wireguard sur AWS

2.1.4. Configuration des balises

Si nous devions créer plusieurs instances, nous pourrions les regrouper par balises pour faciliter l'administration. Dans ce cas, cette fonctionnalité est superflue, cliquons donc immédiatement sur le bouton Suivant : Configurer le groupe de sécurité

Service VPN gratuit Wireguard sur AWS

2.1.5. Ouverture des ports

À cette étape, nous configurons le pare-feu en ouvrant les ports nécessaires. L'ensemble de ports ouverts s'appelle « Groupe de sécurité ». Nous devons créer un nouveau groupe de sécurité, lui donner un nom, une description, ajouter le port UDP (Règle UDP personnalisée), dans le champ Plage de ports, il faut indiquer le numéro de port dans la plage des 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 informations nécessaires, cliquez sur le bouton Review and Launch

2.1.6. Revue de toutes les configurations

Sur cette page, nous passons en revue toutes les configurations de notre instance, vérifions si tout est en ordre, et cliquons sur le bouton Launch

Service VPN gratuit Wireguard sur AWS

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

Une fenêtre de dialogue apparaît, vous proposant soit de créer, soit d'ajouter une clé SSH existante, que nous utiliserons ensuite pour nous connecter à notre instance à distance. Nous choisissons l'option « Créer une nouvelle paire de clés » pour créer une nouvelle clé. Nous lui donnons un nom et cliquons sur le bouton Télécharger la paire de clés, pour télécharger les clés créées. Sauvegardez-les à un endroit sûr sur le disque de votre ordinateur local. Une fois téléchargées, cliquez sur le bouton Lancer des instances

Service VPN gratuit Wireguard sur AWS

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

Cet écran montre l'étape de sauvegarde des clés créées à l'étape précédente. Après avoir cliqué sur le bouton Télécharger la paire de clés, la clé est sauvegardée sous la forme d'un fichier de certificat avec l'extension *.pem. Dans ce cas, je lui ai donné le nom wireguard-awskey.pem

Service VPN gratuit Wireguard sur AWS

2.1.8. Revue des résultats de la création de l'instance

Nous voyons ensuite un message confirmant 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 Voir les instances

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

Nous devons ensuite créer une adresse IP externe permanente, par laquelle nous nous connecterons à notre serveur VPN. Pour ce faire, dans le panneau de navigation à gauche de l'écran, il faut sélectionner l'élément Elastic IPs de la catégorie RÉSEAU & SÉCURITÉ et cliquer sur le bouton Allouer une nouvelle adresse

Service VPN gratuit Wireguard sur AWS

2.2.2. Configuration de la création d'une IP externe

À l'étape suivante, nous devons nous assurer que l'option Amazon pool (activé par défaut) est sélectionnée, puis nous cliquons sur le bouton Allouer

Service VPN gratuit Wireguard sur AWS

2.2.3. Revue des résultats de la création de l'adresse IP externe

À l'écran suivant, l'adresse IP externe que nous avons obtenue apparaîtra. Il est recommandé de s'en souvenir, voire de l'écrire. Elle nous sera encore utile lors de la configuration et de l'utilisation ultérieures du serveur VPN. Dans ce guide, j'utilise comme exemple l'adresse IP 4.3.2.1. Une fois l'adresse notée, cliquez sur le bouton Fermer

Service VPN gratuit Wireguard sur AWS

2.2.4. Liste des adresses IP externes

Nous avons ensuite une liste de nos adresses IP publiques permanentes (IP élastiques).

Service VPN gratuit Wireguard sur AWS

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

Dans cette liste, nous choisissons l'adresse IP que nous avons obtenue et faisons un clic droit pour faire apparaître le menu contextuel. Dans celui-ci, nous sélectionnons l'option Associer l'adresse, afin de l'attribuer à notre instance créée plus tôt.

Service VPN gratuit Wireguard sur AWS

2.2.6. Configuration de l'attribution de l'IP externe

À l'étape suivante, nous sélectionnons notre instance dans le menu déroulant et cliquons sur le bouton Associer

Service VPN gratuit Wireguard sur AWS

2.2.7. Revue des résultats de l'attribution de l'IP externe

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

Service VPN gratuit Wireguard sur AWS

Nous pouvons maintenant nous connecter à notre nouvelle instance de l'extérieur, depuis notre ordinateur via SSH.

3. Connexion à l'instance AWS

SSH — c'est un protocole sécurisé pour le contrôle à distance des dispositifs informatiques.

3.1. Connexion par SSH depuis un ordinateur sous Windows

Pour se connecter à partir d'un ordinateur Windows, il est d'abord nécessaire de télécharger et d'installer le programme Putty.

3.1.1. Importation de la clé privée pour Putty

3.1.1.1. Après avoir installé Putty, il faut exécuter l'outil PuTTYgen qui l'accompagne pour importer la clé certificat au format PEM vers un format utilisable dans Putty. Pour cela, sélectionnez dans le menu supérieur l'option Conversions->Import Key

Service VPN gratuit Wireguard sur AWS

3.1.1.2. Sélection de la clé AWS au format PEM

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

Service VPN gratuit Wireguard sur AWS

3.1.1.3. Configuration des paramètres d'importation de la clé

À cette étape, nous devons indiquer un commentaire pour cette clé (description) et définir un mot de passe et sa confirmation pour la sécurité. Ce mot de passe sera demandé à chaque connexion. Ainsi, nous protégeons la clé par un mot de passe contre une utilisation non souhaitée. Vous pouvez ne pas définir de mot de passe, mais c'est moins sécurisé si la clé tombe entre de mauvaises mains. Ensuite, nous cliquons sur le bouton Save private key

Service VPN gratuit Wireguard sur AWS

3.1.1.4. Sauvegarde de la clé importée

Une boîte de dialogue de sauvegarde de fichier s'ouvre, et nous enregistrons notre clé privée sous forme de fichier avec l'extension .ppk, utilisable dans le programme Putty.
Indiquez le nom de la clé (dans notre cas wireguard-awskey.ppk) et cliquez sur le bouton Enregistrer.

Service VPN gratuit Wireguard sur AWS

3.1.2. Création et configuration de la connexion dans Putty

3.1.2.1. Création de la connexion

Ouvrez le programme Putty, sélectionnez la catégorie Session (qui est ouverte par défaut) et dans le champ Host Name entrez l'adresse IP publique de notre serveur, que nous avons obtenue à l'étape 2.2.3. Dans le champ Saved Session entrez un nom arbitraire pour notre connexion (dans mon cas wireguard-aws-london), puis cliquez sur le bouton Sauvegarder pour enregistrer les modifications que nous avons apportées.

Service VPN gratuit Wireguard sur AWS

3.1.2.2. Configuration de la connexion automatique de l'utilisateur

Ensuite, dans la catégorie Connexion, sélectionnez la sous-catégorie Données et dans le champ Auto-login username entrez le nom d'utilisateur ubuntu — c'est l'utilisateur standard de l'instance sur AWS avec Ubuntu.

Service VPN gratuit Wireguard sur AWS

3.1.2.3. Sélection de la clé privée pour la connexion par SSH

Ensuite, passez à la sous-catégorie Connection/SSH/Auth et à côté du champ Fichier de clé privée pour l'authentification cliquez sur le bouton Parcourir… pour sélectionner le fichier avec le certificat de clé.

Service VPN gratuit Wireguard sur AWS

3.1.2.4. Ouverture de la clé importée

Indiquons la clé que nous avons importée précédemment à l'étape 3.1.1.4, dans notre cas, c'est le fichier wireguard-awskey.ppk, et cliquez sur le bouton Ouvrir.

Service VPN gratuit Wireguard sur AWS

3.1.2.5. Sauvegarde des paramètres et démarrage de la connexion

En revenant à la page de catégorie Session cliquez une fois de plus sur le bouton Sauvegarder, pour enregistrer les modifications effectuées précédemment aux étapes (3.1.2.2 — 3.1.2.4). Et ensuite, cliquez sur le bouton Ouvrir pour ouvrir la connexion distante que nous avons créée et configurée par SSH.

Service VPN gratuit Wireguard sur AWS

3.1.2.7. Configuration de la confiance entre les hôtes

À l'étape suivante, lors de la première tentative de connexion, un avertissement nous est donné, nous n'avons pas configuré la confiance entre les deux ordinateurs, et il demande si nous faisons confiance à l'ordinateur distant. Nous cliquerons sur le bouton Oui, ajoutant ainsi cet ordinateur à la liste des hôtes de confiance.

Service VPN gratuit Wireguard sur AWS

3.1.2.8. Saisie du mot de passe pour accéder à la clé

Après cela, une fenêtre de terminal s'ouvre, où le mot de passe de la clé est demandé, si vous l'avez configuré précédemment à l'étape 3.1.1.3. Lors de la saisie du mot de passe, aucune action n'apparaît à l'écran. Si vous vous trompez, vous pouvez utiliser la touche Retour arrière.

Service VPN gratuit Wireguard sur AWS

3.1.2.9. Message de bienvenue de connexion réussie

Après avoir saisi le mot de passe avec succès, le terminal affiche un message de bienvenue, indiquant que le système distant est prêt à exécuter nos commandes.

Service VPN gratuit Wireguard sur AWS

4. Configuration du serveur Wireguard

Vous pouvez consulter les instructions les plus récentes sur l'installation et l'utilisation de Wireguard à l'aide des scripts décrits ci-dessous dans le dépôt : https://github.com/isystem-io/wireguard-aws

4.1. Installation de Wireguard

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

4.1.1. Clonage du dépôt

Nous clonons le dépôt avec les scripts d'installation de Wireguard

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

4.1.2. Accéder au répertoire des scripts

Accédez au répertoire du dépôt 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

Au cours de l'installation, certaines informations nécessaires pour configurer Wireguard seront demandées

4.1.3.1. Saisir le 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 nous avons ouvert le port à l'étape 2.1.5. Indiquez-les ensemble, séparés par deux-points, par exemple 4.3.2.1:54321, puis appuyez sur la touche Entrée
Exemple de sortie :

Entrez le point de terminaison (ip externe et port) au format [ipv4:port] (par exemple 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 dans le sous-réseau VPN protégé. 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 :

Entrez l'adresse du serveur dans le sous-réseau VPN (format CIDR) ([ENTRÉE] définit par défaut : 10.50.0.1) :

4.1.3.3. Spécification du 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 de Cloudflare)
Exemple de sortie :

Entrez l'adresse IP du serveur DNS (format CIDR) ([ENTRÉE] définit par défaut : 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 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 :

Entrez le nom de l'interface réseau WAN ([ENTRÉE] définit par défaut : eth0) :

4.1.3.5. Spécification du nom du client

Entrez le nom de l'utilisateur VPN. En effet, le serveur VPN Wireguard ne pourra pas démarrer tant qu'au moins un client n'a pas été ajouté. Dans ce cas, j'ai saisi le nom Alex@mobile
Exemple de sortie :

Entrez le nom d'utilisateur VPN : Alex@mobile

Après cela, un code QR avec la configuration du client nouvellement ajouté devrait s'afficher à l'écran, qui doit être scanné avec le client mobile Wireguard sur Android ou iOS pour sa configuration. De plus, sous le code QR, le texte du fichier de configuration sera affiché pour la configuration manuelle des clients. Comment faire cela sera expliqué ci-dessous.

Service VPN gratuit Wireguard sur AWS

4.2. Ajout d'un nouvel utilisateur VPN

Pour ajouter un nouvel utilisateur, il est nécessaire d'exécuter le script dans le terminal add-client.sh

sudo ./add-client.sh

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

Entrez le nom d'utilisateur VPN : 

De plus, le nom d'utilisateur peut également être passé en tant que paramètre du script (dans ce cas Alex@mobile):

sudo ./add-client.sh Alex@mobile

En exécutant le script, un fichier de configuration du client sera créé dans le répertoire nommé client à l'emplacement /etc/wireguard/clients/{ИмяКлиента} un fichier avec la configuration du client sera créé /etc/wireguard/clients/{ИмяКлиента}/{ИмяКлиента}.conf, et un code QR pour la configuration des clients mobiles sera affiché à l'écran ainsi que le contenu du fichier de configuration.

4.2.1. Fichier de configuration de l'utilisateur

Pour afficher le contenu du fichier .conf à l'écran, pour la configuration manuelle du client, vous pouvez utiliser la commande cat

sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf

résultat de l'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 du client :

[Interface]
PrivateKey = Clé privée du client
Address = Adresse IP du client
DNS = DNS utilisé par le client

[Peer]
PublicKey = Clé publique du serveur
PresharedKey = Clé partagée entre le serveur et le client
AllowedIPs = Adresses autorisées pour la connexion (toutes - 0.0.0.0/0, ::/0)
Endpoint = Adresse IP et port pour la connexion

4.2.2. Code QR de la configuration du client

Pour afficher le code QR de la configuration du client précédemment créé sur le terminal, utilisez la commande qrencode -t ansiutf8 (dans cet exemple, nous utilisons un client nommé Alex@mobile) :

sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf | qrencode -t ansiutf8

5. Configuration des clients VPN

5.1. Configuration du client mobile Android

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

Ensuite, vous devez importer la configuration en scannant le code QR de la configuration du client (voir section 4.2.2) et lui donner un nom :

Service VPN gratuit Wireguard sur AWS

Après une importation réussie de la configuration, vous pouvez activer le tunnel VPN. Une icône de clé dans la barre d'état Android indiquera une connexion réussie.

Service VPN gratuit Wireguard sur AWS

5.2. Configuration du client Windows

Tout d'abord, vous devez télécharger et installer le programme TunSafe pour Windows — c'est le client Wireguard pour Windows.

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

Cliquez avec le bouton droit pour créer un fichier texte sur votre bureau.

Service VPN gratuit Wireguard sur AWS

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

Ensuite, revenez à la fenêtre Putty et affichez le contenu du fichier de configuration de l'utilisateur nécessaire, comme décrit à l'étape 4.2.1.
Ensuite, sélectionnez le texte de la configuration dans la fenêtre Putty avec le bouton droit de la souris, et après la sélection, il sera copié automatiquement dans le presse-papiers.

Service VPN gratuit Wireguard sur AWS

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

Après cela, revenez au fichier texte que nous avons créé précédemment sur le bureau et collez-y la configuration depuis le presse-papiers.

Service VPN gratuit Wireguard sur AWS

5.2.4. Sauvegarde du fichier de configuration local

Enregistrez le fichier avec l'extension .conf (dans ce cas sous le nom london.conf)

Service VPN gratuit Wireguard sur AWS

5.2.5. Importation du fichier de configuration local

Ensuite, il est nécessaire d'importer le fichier de configuration dans le programme TunSafe.

Service VPN gratuit Wireguard sur AWS

5.2.6. Établissement de la connexion VPN

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

6. Vérification du succès de la connexion

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

Service VPN gratuit Wireguard sur AWS

L'adresse IP affichée doit correspondre à celle que nous avons obtenue à l'étape 2.2.3.
Si c'est le cas, cela signifie que le tunnel VPN fonctionne correctement.

Depuis le terminal sous Linux, vous pouvez vérifier votre adresse IP en entrant la commande :

curl http://zx2c4.com/ip

Ou vous pouvez simplement visiter un site pour adultes si vous vous trouvez au Kazakhstan.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster