Pour quoi?
Avec la censure croissante d'Internet par les 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 le droit fondamental à la liberté d'expression consacré par la Déclaration universelle des droits de l'homme est violé.
L'article 19
Chacun a droit Ă la libertĂ© d'opinion et d'expression; ce droit comprend la libertĂ© d'adhĂ©rer librement Ă ses convictions et la libertĂ© de rechercher, de recevoir et de diffuser des informations et des idĂ©es par tous les moyens et indĂ©pendamment des frontiĂšres de l'Ătat
Dans ce guide, en 6 étapes, nous déploierons notre propre service VPN gratuit * basé sur la technologie Wireguard , dans l'infrastructure cloud d' Amazon Web Services (AWS), en utilisant un compte gratuit (pendant 12 mois), sur une instance (machine virtuelle) exécutant Ubuntu Server 18.04 LTS .
J'ai essayé de rendre cette procédure aussi conviviale que possible pour les personnes éloignées de l'informatique. La seule chose requise est la persévérance dans la répétition des étapes décrites ci-dessous.
Remarque
Les étapes
- Enregistrement de compte gratuit AWS
- Créer une instance AWS
- Se connecter Ă une instance AWS
- Configuration de Wireguard
- Configuration des clients VPN
- Vérifier l'installation VPN
Liens utiles
1. Enregistrement de compte AWS
Pour enregistrer un compte AWS gratuit, vous avez besoin d'un vrai numéro de téléphone et d'une carte de crédit Visa ou Mastercard payable. Je recommande d'utiliser gratuitement les cartes virtuelles que le portefeuille Yandex.Money ou Qiwi fournit. 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 AWS Management Console
Vous devez ouvrir un navigateur et aller sur: https://aws.amazon.com/en/
Cliquez sur le bouton "S'inscrire"

1.2. Remplir des données personnelles
Remplissez les données et cliquez sur le bouton "Continuer"

1.3. Remplir les coordonnées
Remplissez les coordonnées.

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

1.5. Vérification du compte
à 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 un appel est reçu d'Amazon sur le téléphone spécifié. Pendant l'appel, vous devez composer le code affiché à l'écran.

1.6. Choix d'un plan tarifaire.
Choisir - Forfait de base (gratuit)

1.7. Connectez-vous Ă la console de gestion

1.8. Choisir un emplacement de centre de données

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, à mon emplacement les résultats suivants:
- Singapour

- Paris

- Francfort

- Stockholm

- Londres

Les meilleurs résultats de vitesse sont affichés par le centre de données de Londres. Par conséquent, je l'ai sélectionné pour une personnalisation supplémentaire.
2. Création d'une instance AWS
2.1 Création d'une machine virtuelle (instance)
2.1.0 Lancement de la procédure pas à pas de création d'instance
2.1.0.1. Accéder à la page de lancement de l'instance

2.1.0.2. Lancement de la procédure pas à pas de création d'instance

2.1.0.3. Choix d'un type de systĂšme d'exploitation d'instance

2.1.1. Sélectionnez le type d'instance
Par défaut, l'instance t2.micro est sélectionnée, nous en avons besoin, cliquez simplement sur le bouton Suivant: Configurer l'instance Detalis

2.1.2. Configurer les paramĂštres d'instance
à l'avenir, nous allons connecter une IP publique permanente à notre instance, donc à ce stade, nous désactivons l'attribution automatique d'IP publique, et cliquez sur Suivant: Ajouter un stockage

2.1.3. Connexion de stockage
Spécifiez la taille du "disque dur". 16 gigaoctets suffisent pour nos besoins, et cliquez sur le bouton Suivant: Ajouter des balises

2.1.4. Personnalisation des balises
Si nous avons créé plusieurs instances, elles pourraient ĂȘtre regroupĂ©es par balises, pour faciliter l'administration. Dans ce cas, cette fonctionnalitĂ© est redondante, cliquez immĂ©diatement sur le bouton Suivant: Configurer Security Gorup

2.1.5. Ouverture du port
Ă ce stade, nous configurons le pare-feu en ouvrant les ports requis. L'ensemble des ports ouverts est appelĂ© le groupe de sĂ©curitĂ©. Nous devons crĂ©er un nouveau groupe de sĂ©curitĂ©, lui donner un nom, une description, ajouter un port UDP (rĂšgle UDP personnalisĂ©e), dans le champ Rort Range, vous devez attribuer un numĂ©ro de port Ă partir de la plage de ports dynamiques 49152â65535. Dans ce cas, j'ai choisi le numĂ©ro de port 54321.

AprÚs avoir rempli les données nécessaires, cliquez sur le bouton Review and Launch
2.1.6. Présentation de tous les paramÚtres d'instance
Sur cette page, il y a un aperçu de tous les paramÚtres de notre instance, vérifiez si tous les paramÚtres sont en ordre et cliquez sur le bouton Lancer

2.1.7. Créer des mots de passe
Vient ensuite une boßte de dialogue proposant de créer ou d'ajouter une clé SSH existante, avec laquelle nous nous connecterons plus tard à distance à notre instance. Nous sélectionnons l'option "Créer une nouvelle paire de clés" pour créer une nouvelle clé. Définissez son nom et cliquez sur le bouton Télécharger la paire de clés pour télécharger les clés créées. Enregistrez-les en lieu sûr sur le disque de l'ordinateur local. Une fois téléchargé - cliquez sur le bouton Lancer les instances

2.1.7.1. Enregistrement des mots de passe
Voici l'étape d'enregistrement des clés créées de l'étape précédente. AprÚs avoir cliqué 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é le nom wireguard-awskey.pem

2.1.8. Présentation des résultats de la création d'instances
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 instances

2.2. Création d'une adresse IP externe
2.2.1. Commencez à créer une adresse IP externe
Ensuite, nous devons créer une adresse IP externe permanente par 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 Elastic IPs dans la catégorie NETWORK & SECTURITY et cliquez sur le bouton Allouer une nouvelle adresse

2.2.2. Configurer la création IP externe
Dans l'étape suivante, nous avons besoin que l'option du pool Amazon soit activée (activée par défaut), et cliquez sur le bouton Allouer

2.2.3. Vue d'ensemble 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 s'en souvenir et il vaut encore mieux de l'écrire. il vous sera utile encore et encore lors du processus de configuration et d'utilisation du serveur VPN. Dans ce guide, j'utilise l'adresse IP 4.3.2.1 comme exemple. Comment écrire l'adresse, cliquez sur le bouton Fermer

2.2.4. Liste des adresses IP externes
Ensuite, nous ouvrons une liste de nos adresses IP publiques permanentes (IP élastiques).

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

2.2.6. Configurer l'attribution IP externe
à l'étape suivante, sélectionnez notre instance dans la liste déroulante, puis cliquez sur le bouton Associer

2.2.7. Présentation des résultats de l'attribution IP externe
AprÚs cela, nous pouvons voir notre instance et son adresse IP privée liées à notre adresse IP publique permanente.

Nous pouvons maintenant nous connecter à notre instance nouvellement créée de l'extérieur, depuis notre ordinateur via SSH.
3. Connectez-vous Ă une instance AWS
SSH est un protocole sécurisé pour contrÎler à distance les périphériques informatiques.
3.1. Connexion SSH depuis un ordinateur Windows
Pour vous connecter à un ordinateur Windows, vous devez d'abord télécharger et installer le programme Putty .
3.1.1. Importer une 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 Conversions-> Importer la clé dans le menu supérieur

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

3.1.1.3. Définition des options d'importation clés
à cette étape, nous devons spécifier un commentaire pour cette clé (description) et définir un mot de passe et sa confirmation pour la sécurité. Il vous sera demandé à chaque connexion. Ainsi, nous protégeons la clé avec un mot de passe contre une utilisation inappropriée. Vous ne pouvez pas définir un mot de passe, mais il est moins sûr si la clé tombe entre de mauvaises mains. AprÚs avoir cliqué sur le bouton Enregistrer la clé privée

3.1.1.4. Enregistrement d'une clé importée
La boßte de dialogue d'enregistrement de fichier s'ouvre et nous enregistrons notre clé privée sous forme de fichier avec l'extension .ppk
, utilisable dans Putty .
Spécifiez le nom de la clé (dans notre cas wireguard-awskey.ppk
) et cliquez sur le bouton Enregistrer .

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 la catégorie Session (elle est ouverte par défaut) et entrez l'adresse IP publique de notre serveur dans le champ Host Name , que nous avons reçu à l'étape 2.2.3. Dans le champ Session enregistrée , entrez un nom arbitraire pour notre connexion (dans mon cas wireguard-aws-london ), puis cliquez sur le bouton Enregistrer pour enregistrer les modifications que nous avons apportées.

3.1.2.2. ParamĂštre d'ouverture de session utilisateur
Plus loin dans la catégorie Connexion , sélectionnez la sous-catégorie Données et dans le champ Nom d'utilisateur de connexion automatique, entrez le nom d'utilisateur ubuntu - il s'agit de l'utilisateur d'instance AWS standard avec Ubuntu.

3.1.2.3. Choix d'une clé privée pour la connexion SSH
Ensuite, nous allons dans la sous-catégorie Connexion / SSH / Auth et à cÎté du fichier de clé privée pour le champ d' authentification , cliquez sur le bouton Parcourir ... pour sélectionner un fichier avec un certificat de clé.

3.1.2.4. Ouverture d'une clé importée
Nous 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 .

3.1.2.5. Enregistrement des paramÚtres et démarrage de la connexion
De retour à la page Catégorie de session , cliquez à nouveau sur le bouton Enregistrer 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 nous appuyons sur le bouton Ouvrir pour ouvrir la connexion SSH distante que nous avons créée et configurée.

3.1.2.7. Configuration de la confiance entre les hĂŽtes
à l'étape suivante, la premiÚre fois que vous essayez de vous connecter, nous recevons un avertissement, nous n'avons pas configuré la confiance entre les deux ordinateurs et nous demandons s'il faut faire confiance à l'ordinateur distant. Nous cliquons sur Oui , l'ajoutant ainsi à la liste des hÎtes de confiance.

3.1.2.8. Entrez le mot de passe pour accéder à la clé
AprĂšs cela, la fenĂȘtre du terminal s'ouvre, oĂč le mot de passe pour la clĂ© est demandĂ©, si vous l'avez installĂ© plus tĂŽt Ă l'Ă©tape 3.1.1.3. Lors de la saisie du mot de passe, aucune action Ă l'Ă©cran ne se produit. Si vous faites une erreur, vous pouvez utiliser la touche Retour arriĂšre .

3.1.2.9. Message de bienvenue sur une connexion réussie
AprĂšs avoir correctement saisi le mot de passe, un texte de bienvenue s'affiche dans le terminal qui nous informe que le systĂšme distant est prĂȘt Ă exĂ©cuter nos commandes.

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. Installer Wireguard
Dans le terminal, entrez les commandes suivantes (vous pouvez copier dans le presse-papiers et coller dans le terminal en cliquant avec le bouton droit):
4.1.1. Clonage du référentiel
Nous clonons un référentiel avec des scripts d'installation Wireguard
git clone https://github.com/pprometey/wireguard_aws.git wireguard_aws
4.1.2. Accéder au répertoire de script
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 le script d'installation de Wireguard en tant qu'administrateur (utilisateur root)
sudo ./initial.sh
Pendant l'installation, vous serez invité à fournir certaines données nécessaires pour configurer Wireguard
4.1.3.1. Entrez le point de connexion
Saisissez l'adresse IP externe et ouvrez le port 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 4.3.2.1:54321
ensemble, 4.3.2.1:54321
deux points, par exemple 4.3.2.1:54321
, et aprÚs cela, appuyez sur Entrée
Exemple de sortie:
Enter the endpoint (external ip and port) in format [ipv4:port] (eg 4.3.2.1:54321): 4.3.2.1:54321
4.1.3.2. Entrez une adresse IP interne
Entrez l'adresse IP du serveur Wireguard dans un sous-réseau VPN sécurisé, si vous ne savez pas ce que c'est, appuyez simplement sur 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
Saisissez l'adresse IP du serveur DNS, ou appuyez simplement sur Entrée pour définir la valeur par défaut sur 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, entrez le nom de l'interface réseau externe qui écoutera sur l'interface réseau interne du 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. Nom du client
Saisissez le nom de l'utilisateur VPN. Le fait est que le serveur Wireguard VPN 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 devrait ĂȘtre affichĂ© Ă l'Ă©cran avec la configuration du client nouvellement ajoutĂ©, qui doit ĂȘtre lu Ă l'aide du client mobile Wireguard sur Android ou iOS pour le configurer. De plus, le texte du fichier de configuration sera affichĂ© sous le code QR en cas de configuration manuelle des clients. La procĂ©dure Ă suivre sera dĂ©crite ci-dessous.

4.2. Ajout d'un nouvel utilisateur VPN
Pour ajouter un nouvel utilisateur, vous devez exécuter le script add-client.sh
dans le terminal
sudo ./add-client.sh
Le script demande le nom d'utilisateur:
Exemple de sortie:
Enter VPN user name:
De plus, le nom peut ĂȘtre transmis aux utilisateurs en tant que 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 sur le chemin /etc/wireguard/clients/{}
, un fichier sera créé avec la configuration client /etc/wireguard/clients/{}
CustomerNameâș.conf, et sera affichĂ© sur l'Ă©cran du terminal 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 la configuration manuelle du client, à l'aide de la cat
sudo cat /etc/wireguard/clients/Alex@mobile/Alex@mobile.conf
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 de configuration du client QR
Vous pouvez afficher le code QR du code de configuration du client créé précédemment sur l'écran du terminal à l'aide de la qrencode -t ansiutf8
(dans cet exemple, le client nommé Alex @ mobile est utilisé):
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 Wireguard officiel pour Android peut ĂȘtre installĂ© Ă partir de la boutique GooglePlay officielle
AprĂšs cela, vous devez importer la configuration en lisant le code QR avec la configuration client (voir paragraphe 4.2.2) et en lui donnant un nom:

AprÚs avoir correctement importé la configuration, vous pouvez activer le tunnel VPN. à propos de la connexion réussie dira la cachette de la clé dans le panneau systÚme Android

5.2. Configuration du client Windows
Au départ, vous devez télécharger et installer TunSafe pour Windows - il s'agit d'un 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 le bureau.

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

5.2.3. Copier la configuration dans le fichier de configuration local
Ce champ revient au fichier texte que nous avons créé précédemment sur le bureau et collez-y le texte de configuration depuis le presse-papiers.

5.2.4. Enregistrement d'un fichier de configuration local
Nous enregistrons le fichier avec l'extension .conf (dans ce cas, avec le nom london.conf
)

5.2.5. Importer un fichier de configuration local
Ensuite, vous devez importer le fichier de configuration dans le programme TunSafe.

5.2.6. Ătablir une connexion VPN
Sélectionnez ce fichier de configuration et connectez-vous en cliquant sur le bouton Connecter .

6. Vérification du succÚs de la connexion
Pour vérifier le succÚs de la connexion via le tunnel VPN, vous devez ouvrir un navigateur et aller sur le site https://2ip.ua/ru/

L'adresse IP affichée doit correspondre à celle que nous avons reçue à l'étape 2.2.3.
Si c'est le cas, le tunnel VPN fonctionne correctement.
Depuis un terminal sous Linux, vous pouvez vérifier votre adresse IP en entrant la commande:
curl http://zx2c4.com/ip
Ou vous pouvez simplement aller au hub porno si vous ĂȘtes au Kazakhstan.