Comment déployer un serveur VPN personnel dans Yandex Cloud : guide étape par étape sans souci avec le régulateur

En bref

Guide détaillé pour débutants : en 1 à 2 heures, déployez votre serveur VPN personnel dans Yandex Cloud, configurez WireGuard et IKEv2, assurez la sécurité, vérifiez le fonctionnement et évitez les problèmes avec le régulateur. Astuces, check-lists et solutions aux erreurs incluses.

Comment déployer un serveur VPN personnel dans Yandex Cloud : guide étape par étape sans souci avec le régulateur

Introduction

Vous tenez entre les mains un guide pratique et détaillé pour déployer vous-même un serveur VPN personnel dans Yandex Cloud, en mettant l’accent sur la légalité et l’absence de problèmes avec le régulateur. À la fin de ce tutoriel, vous disposerez de votre propre VPN personnel sous Ubuntu dans le cloud, configuré avec les protocoles WireGuard et IKEv2, avec des règles de sécurité bien définies, une IP publique statique, des configurations pour Windows, macOS, Linux, iOS et Android, ainsi qu’une procédure claire de test et des check-lists. Nous aborderons les subtilités souvent oubliées par les débutants : configuration correcte du réseau/routage/NAT, groupes de sécurité sécurisés, limitation des accès, tenue minimale des journaux, et exclusion de la sur-logging, afin de préserver votre vie privée tout en évitant d’attirer l’attention inutile du fournisseur ou du régulateur.

Ce guide est conçu pour les débutants capables de manipuler de base un navigateur et prêts à suivre scrupuleusement les commandes dans le terminal. Des sections avancées offriront des options plus poussées pour ceux qui souhaitent approfondir. Nous respecterons la règle : une étape – un résultat clair. Chaque phase comprend un objectif, un tutoriel pas à pas, des points importants, des avertissements, des conseils et un « quoi vérifier » pour éviter les erreurs.

Que faut-il savoir avant de commencer ? Aucune expérience en administration système n’est requise, mais il est important de savoir copier-coller des commandes et lire attentivement les instructions. Les termes clés seront expliqués en détail. Combien de temps cela prendra-t-il ? En moyenne 60 à 120 minutes : 20-30 minutes pour préparer le projet dans Yandex Cloud, 20-40 minutes pour déployer la machine virtuelle et configurer la sécurité, 20-40 minutes pour installer et tester les protocoles VPN, le reste pour générer les configurations clients et réaliser les premiers tests.

⚠️ Attention : L’objectif du guide est d’accéder à un VPN personnel ou d’entreprise pour protéger les connexions sur réseaux publics et travailler à distance en toute sécurité. Ne diffusez pas ce VPN publiquement, ne vendez pas l’accès et ne l’utilisez pas pour contourner les blocages sur des sites interdits. C’est la clé pour « pas de souci avec le régulateur ».

Préparatifs

Outils et accès nécessaires

  • Compte Yandex avec facturation Yandex Cloud activée.
  • Carte bancaire pour payer les ressources cloud ou crédit prépayé sur le compte.
  • Ordinateur avec navigateur Chrome, Firefox ou Safari.
  • Terminal avec client SSH : sur Windows — OpenSSH intégré ou PuTTY, sur macOS/Linux — Terminal.
  • Éditeur de texte pour sauvegarder clés et configs : Notepad++, VS Code, Sublime.
  • Smartphone ou second appareil pour tester la connexion.

Configurations système requises

  • VM minimale : 1 vCPU, 1–2 Go RAM, 10–20 Go SSD. Suffisant pour 5 à 20 connexions simultanées.
  • OS : Ubuntu 22.04 LTS (recommandé) ou Ubuntu 24.04 LTS.
  • IP publique statique (pour éviter de changer l’adresse du serveur et mettre à jour la config tous les jours).

Logiciels à installer d’avance

  • Pour Windows : si voulu, installez PuTTY, mais il est plus simple d’utiliser SSH intégré à PowerShell (Windows 10+) : la commande ssh est disponible par défaut.
  • Clients VPN : WireGuard (Windows/macOS/iOS/Android), strongSwan ou client IKEv2 intégré à iOS/macOS/Windows, et OpenVPN si besoin.

Sauvegardes et accès

  • Créez un dossier dédié au projet : clés WireGuard, configs IKEv2, captures d’écran des paramètres cloud.
  • Sauvegardez login/mot de passe Yandex et activez l’authentification à deux facteurs.
  • Effectuez une copie locale des clés générées et configs sur une clé USB protégée par mot de passe.

✅ Vérification : Vous avez accès à Yandex Cloud, un client SSH prêt, et au moins un client VPN installé (ex : WireGuard) sur l’appareil de test.

Concepts de base

Termes clés expliqués simplement

  • VPN — tunnel chiffré entre votre appareil et le serveur qui protège votre trafic.
  • WireGuard — protocole VPN moderne, rapide, basé sur UDP et la cryptographie Curve25519. Facile à configurer, résistant aux pannes, souvent indétectable pour les DPI.
  • IKEv2/IPsec — protocole stable et largement supporté avec accélérations matérielles et clients natifs sur iOS, macOS et Windows.
  • Groupe de sécurité (Security Group) — ensemble de règles définissant quels trafics entrent et sortent de votre VM.
  • VPC/Sous-réseau — réseau privé virtuel dans le cloud et plage d’adresses où votre VM résidera.
  • IP statique — adresse publique fixe du serveur pour faciliter les connexions.
  • NAT (MASQUERADE) — translation d’adresses permettant aux clients d’accéder à Internet via le serveur.

Ce qu’il faut comprendre avant de commencer

  • Une utilisation personnelle et un accès fermé minimisent les risques réglementaires.
  • Ne transformez pas votre VPN en service public. Ne publiez pas les configs en ligne. Limitez le nombre d’appareils. Supprimez les clés inutiles.
  • Configurez toujours le pare-feu : ouvrez uniquement les ports et protocoles nécessaires.
  • Surveillez dépenses et charge de la VM. Stoppez, sauvegardez ou supprimez les ressources inutiles.

⚠️ Attention : La légalité dépend de l’usage : accès sécurisé à vos ressources et Internet sous réseaux publics. Fournir un service tiers sans respecter les règles peut entraîner des réclamations.

Étape 1 : Inscription et facturation dans Yandex Cloud

Objectif

Créer un compte cloud avec profil de paiement pour déployer les ressources et réserver une IP statique.

Instructions pas à pas

  1. Ouvrez le tableau de bord Yandex Cloud et connectez-vous avec votre compte Yandex.
  2. Accédez à « Facturation ». Cliquez sur « Créer un compte de paiement ». Remplissez pays et devise.
  3. Ajoutez un moyen de paiement : carte bancaire ou prépaiement. Validez la déduction d’un montant test, si demandé.
  4. Créez un dossier (folder) pour le projet : nommez-le « vpn-project » par exemple.
  5. Vérifiez les quotas : ressources disponibles pour une VM, une IP publique et un VPC.

Points importants

  • Nom du dossier : choisissez un nom explicite, c’est l’emplacement des VM, réseaux, IP.
  • Permissions : si vous avez une équipe, attribuez uniquement les rôles strictement nécessaires.

Conseil : Activez les alertes de dépenses. Fixez un budget/limite pour éviter d’oublier une VM allumée.

Résultat attendu

Profil de paiement activé, dossier projet créé, prêt à déployer réseau et VM.

Problèmes possibles et solutions

  • Carte non liée → vérifiez 3-D Secure, solde, carte alternative ; recommencez.
  • Quotas limités → demandez augmentation ou réduisez temporairement les ressources VM (instance minimale).

✅ Vérification : Dans « Facturation », compte de paiement actif visible; dans « Dossiers », « vpn-project » créé.

Étape 2 : Création du réseau, sous-réseaux et IP statique

Objectif

Préparer le réseau privé virtuel, un sous-réseau, et assigner une IP publique statique pour que l’adresse serveur reste fixe.

Instructions pas à pas

  1. Allez dans « VPC » et cliquez sur « Créer un réseau ». Nommez-le « vpn-vpc ».
  2. Créez un sous-réseau dans « vpn-vpc » : nom « vpn-subnet-a », zone la plus proche (exemple ru-central1-a), CIDR 10.0.0.0/24.
  3. Ouvrez « IP publiques ». Cliquez sur « Réserver une adresse ». Nommez « vpn-public-ip ». Type : statique.
  4. Créez un groupe de sécurité « vpn-sg ». Ajoutez des règles pour le trafic entrant : SSH 22 (limitez à votre IP), WireGuard UDP 51820, IKEv2 UDP 500 et 4500, ICMP pour diagnostic, OpenVPN TCP 443/1194 si nécessaire. En sortie : « autoriser tout ».

Points importants

  • Limitez SSH : dans la règle, indiquez la source « votre IP externe/32 ». Trouvez votre IP via une recherche « mon IP ».
  • Ouvrez uniquement les ports nécessaires. Pour commencer, 51820/UDP et 22/TCP suffisent.

Conseil : Privilégiez WireGuard en premier (51820/UDP). Plus rapide et simple que IKEv2. Ouvrez les ports IKEv2 plus tard si besoin.

Résultat attendu

VPC, sous-réseau, IP statique et groupe de sécurité prêts avec règles correctes. Prêt pour créer la VM.

Problèmes possibles et solutions

  • IP statique non réservée → vérifiez quotas et zone; essayez une autre zone dans ru-central1.
  • Règles non sauvegardées → évitez doublons et vérifiez protocoles/ports.

✅ Vérification : Liste IP affiche « vpn-public-ip » en statut « réservé »; dans Groupes de sécurité, « vpn-sg » avec règles requises.

Étape 3 : Création de la machine virtuelle et sécurité de base

Objectif

Déployer une VM Ubuntu LTS avec IP statique, attacher le groupe de sécurité, préparer le système et réaliser un durcissement initial.

Instructions pas à pas

  1. Dans « Compute Cloud », cliquez sur « Créer une VM ». Nom : « vpn-vm ».
  2. Choisissez la zone correspondant au sous-réseau : ru-central1-a.
  3. Image : Ubuntu 22.04 LTS. Type : standard. Config : 1 vCPU, 2 Go RAM, 10–20 Go SSD.
  4. Interface réseau : VPC « vpn-vpc », sous-réseau « vpn-subnet-a », IP publique — choisissez « Utiliser existant » et sélectionnez « vpn-public-ip ». Ajoutez « vpn-sg » dans les groupes de sécurité.
  5. Accès : ajoutez votre clé SSH (si vous n’en avez pas, générez une avec ssh-keygen sur macOS/Linux ou PuTTYgen sur Windows). Utilisateur par défaut : ubuntu.
  6. Créez la VM et attendez le statut « RUNNING ».
  7. Connectez-vous en SSH : sur macOS/Linux, tapez ssh ubuntu@VOTRE_IP_EXTERNE. Sur Windows, PowerShell : ssh ubuntu@VOTRE_IP_EXTERNE.
  8. Mettez le système à jour : sudo apt update && sudo apt -y upgrade.
  9. Installez outils de base : sudo apt -y install ufw ca-certificates curl vim.
  10. Limitez l’accès SSH dans UFW : sudo ufw default deny incoming, sudo ufw default allow outgoing, sudo ufw allow 22/tcp, sudo ufw allow 51820/udp (pour WireGuard), sudo ufw enable.
  11. Activez la terminaison automatique des sessions root et désactivez la connexion par mot de passe SSH : vérifiez /etc/ssh/sshd_config, assurez-vous que PasswordAuthentication no et PermitRootLogin prohibit-password. Puis sudo systemctl restart ssh.

Points importants

  • Gardez vos clés SSH privées. Ne les envoyez pas via messagerie.
  • UFW bloque tout entrant sauf les ports autorisés, renforçant la sécurité au-delà des groupes de sécurité cloud.

⚠️ Attention : N’ouvrez jamais SSH par mot de passe ni ne définissez 0.0.0.0/0 pour SSH dans le groupe de sécurité sans raison sérieuse. C’est une cause fréquente de piratage.

Conseil : Réglez tout de suite le fuseau horaire : sudo timedatectl set-timezone Europe/Paris (ou votre région), pour que les logs portent une bonne heure.

Résultat attendu

Machine Ubuntu LTS avec IP publique statique, groupes de sécurité associés, système à jour, UFW configuré, SSH sécurisé.

Problèmes possibles et solutions

  • Connexion SSH impossible → vérifiez que votre IP est autorisée dans le groupe de sécurité, que la clé est correcte, et que l’utilisateur « ubuntu » existe.
  • UFW bloque l’accès → depuis la console web Yandex Cloud, autorisez temporairement les ports nécessaires et corrigez la règle.

✅ Vérification : ssh ubuntu@VOTRE_IP_EXTERNE fonctionne, sudo ufw status montre « 22/tcp » et « 51820/udp ALLOW ».

Étape 4 : Installation et configuration de WireGuard

Objectif

Déployer un VPN rapide, stable et simple à gérer via WireGuard, avec routage sécurisé et NAT.

Instructions pas à pas

  1. Installez WireGuard : sudo apt -y install wireguard.
  2. Générez les clés serveur : wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key >/dev/null. Vérifiez : sudo cat /etc/wireguard/server_public.key.
  3. Choisissez une adresse privée pour le tunnel serveur, par ex. 10.66.66.1/24. Cette plage ne doit pas entrer en conflit avec vos réseaux locaux.
  4. Créez le fichier /etc/wireguard/wg0.conf : ajoutez un bloc [Interface] avec Adresse = 10.66.66.1/24; ListenPort = 51820; PrivateKey = (contenu server_private.key); SaveConfig = true; PostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; PostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE.
  5. Activez le forwarding IP : echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-sysctl.conf puis sudo sysctl --system.
  6. Ouvrez le port dans UFW si nécessaire : sudo ufw allow 51820/udp. Assurez-vous que la Security Group autorise UDP 51820 de « tout » ou d’une plage stricte selon vos besoins.
  7. Créez un premier client : générez une paire de clés sur serveur ou client. Sur serveur : wg genkey | tee client1_private.key | wg pubkey | tee client1_public.key. Gardez ces clés en lieu sûr.
  8. Ajoutez le peer dans /etc/wireguard/wg0.conf : bloc [Peer] avec PublicKey = (client1_public.key), AllowedIPs = 10.66.66.2/32.
  9. Créer le fichier client client1.conf : [Interface] Address = 10.66.66.2/32; DNS = 1.1.1.1, 8.8.8.8; PrivateKey = (client1_private.key). [Peer] PublicKey = (server_public.key); Endpoint = VOTRE_IP_EXTERNE:51820; AllowedIPs = 0.0.0.0/0, ::/0; PersistentKeepalive = 25.
  10. Démarrez WireGuard : sudo systemctl enable wg-quick@wg0 puis sudo systemctl start wg-quick@wg0. Vérifiez : sudo systemctl status wg-quick@wg0 et sudo wg show.

Points importants

  • AllowedIPs en client « 0.0.0.0/0, ::/0 » signifie que tout votre trafic passera par le VPN. Pour un accès restreint à votre réseau privé, précisez uniquement les sous-réseaux souhaités.
  • DNS : indiquez un DNS public fiable ou privé sous peine de problèmes de résolution.
  • eth0 dans PostUp/PostDown est votre interface réseau par défaut. Vérifiez avec ip a. Si le nom est différent (ex : ens32), adaptez la configuration.

Conseil : Pour diffuser facilement les configs vers mobiles, installez qrencode : sudo apt -y install qrencode. Générez un QR code pour client1.conf : qrencode -t ansiutf8 < client1.conf et scannez-le dans l’app WireGuard mobile.

Résultat attendu

WireGuard est opérationnel, le serveur écoute sur le port 51820/UDP, le premier client a sa config et peut se connecter. Le NAT est en place, le trafic sort vers Internet via la VM.

Problèmes possibles et solutions

  • Client ne se connecte pas → vérifiez Security Group et UFW que 51820/UDP est ouvert, que le Endpoint pointe vers votre IP statique et bon port.
  • Connexion établie mais pas d’Internet → vérifiez net.ipv4.ip_forward=1, la règle MASQUERADE, et le bon interface dans PostUp/PostDown.
  • Connexion instable → ajoutez PersistentKeepalive = 25 dans la config client.

✅ Vérification : sudo wg show affiche un pair avec « latest handshake ». Le client ping 1.1.1.1 et navigue sur le web.

Étape 5 : Configuration IKEv2 (strongSwan) en alternative

Objectif

Déployer IKEv2/IPsec pour les clients natifs iOS/macOS/Windows sans app tierce, avec certificat auto-signé ou ACME.

Instructions pas à pas

  1. Ouvrez les ports dans UFW et Security Group : sudo ufw allow 500,4500/udp.
  2. Installez les paquets nécessaires : sudo apt -y install strongswan strongswan-pki.
  3. Générez CA et certificat serveur. Créez répertoires : mkdir -p ~/pki/{cacerts,certs,private}. Créez CA : ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/ca-key.pem; ipsec pki --self --ca --lifetime 3650 --in ~/pki/private/ca-key.pem --type rsa --dn "CN=VPN Root CA" --outform pem > ~/pki/cacerts/ca-cert.pem. Créez clé serveur : ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/server-key.pem. Émettez le certificat serveur : ipsec pki --pub --in ~/pki/private/server-key.pem --type rsa | ipsec pki --issue --lifetime 1825 --cacert ~/pki/cacerts/ca-cert.pem --cakey ~/pki/private/ca-key.pem --dn "CN=VOTRE_IP_PUBLIQUE" --san VOTRE_IP_PUBLIQUE --flag serverAuth --flag ikeIntermediate --outform pem > ~/pki/certs/server-cert.pem.
  4. Copiez les certificats : sudo cp ~/pki/cacerts/ca-cert.pem /etc/ipsec.d/cacerts/; sudo cp ~/pki/certs/server-cert.pem /etc/ipsec.d/certs/; sudo cp ~/pki/private/server-key.pem /etc/ipsec.d/private/.
  5. Configurez strongSwan dans /etc/ipsec.conf avec un profil : config setup; conn ikev2-vpn auto=add; compress=no; type=tunnel; keyexchange=ikev2; fragmentation=yes; forceencaps=yes; ike=aes256-sha2_256-modp2048!; esp=aes256-sha2_256!; dpdaction=clear; dpddelay=300s; rekey=no; left=%any; leftid=VOTRE_IP_PUBLIQUE; leftcert=server-cert.pem; leftsendcert=always; leftsubnet=0.0.0.0/0; right=%any; rightid=%any; rightauth=eap-mschapv2; eap_identity=%any; rightsourceip=10.77.0.0/24; rightsendcert=never.
  6. Définissez les secrets dans /etc/ipsec.secrets : ligne : RSA server-key.pem puis comptes EAP : user1 : EAP "MOT_DE_PASSE_COMPLEXE".
  7. Activez forwarding (si non fait) et configurez MASQUERADE pour eth0 (comme à l’étape WireGuard).
  8. Redémarrez strongSwan : sudo systemctl restart strongswan-starter. Vérifiez : sudo systemctl status strongswan-starter.
  9. Copiez le certificat racine CA (ca-cert.pem) sur les clients, installez-le comme fiable. Sur iOS/macOS via Profils/Trousseaux, sur Windows via Gestionnaire de certificats – autorités racines de confiance.
  10. Créez une connexion VPN IKEv2 sur le client : serveur = votre IP publique, identifiant distant = même IP, auth = nom/mot de passe EAP, utilisateur = user1, mot de passe = celui défini.

Points importants

  • Les certificats sont indispensables pour IKEv2. Let’s Encrypt est recommandé avec un domaine et accès 443/TCP. L’option auto-signée est plus simple mais nécessite d’installer la CA sur chaque client.
  • La plage rightsourceip ne doit pas chevaucher celle du réseau WireGuard.

Conseil : Pour connecter souvent de nouveaux appareils iOS, créez un utilisateur EAP « commun » avec un mot de passe très long, limitez le nombre de clients au firewall, puis ajoutez des comptes individuels si besoin.

Résultat attendu

IKEv2 fonctionne, les clients iOS/macOS/Windows se connectent sans app tierce, le trafic est routé via le serveur.

Problèmes possibles et solutions

  • Client ne se connecte pas → vérifiez ports UDP 500/4500, validité du certificat (CN/SAN correspond à l’IP), credentials EAP.
  • Connexion établie sans Internet → vérifiez NAT et forwarding, attention aux politiques de routage Windows/macOS en split-tunnel.

✅ Vérification : Logs strongSwan (sudo journalctl -u strongswan-starter) montrent des SA établies, l’appareil reçoit une IP 10.77.0.0/24 et peut naviguer.

Étape 6 : Configurations client et connexion sur appareils

Objectif

Créer et installer les configs client pour les grandes plateformes et vérifier la connexion avec routage correct.

Instructions pas à pas

  1. Windows + WireGuard : Installez l’app WireGuard. Cliquez « Add Tunnel » — « Add empty tunnel » ou « Import from file ». Collez client1.conf ou importez le fichier. Sauvegardez. Activez le tunnel.
  2. macOS + WireGuard : Installez WireGuard via l’App Store. « Import Tunnel from File » ou scannez le QR affiché dans le terminal du serveur. Activez le tunnel.
  3. Linux + WireGuard : Installez wireguard-tools. Copiez client1.conf dans /etc/wireguard/ (ou ~/.config). Lancez : sudo wg-quick up client1. Pour auto-démarrage : sudo systemctl enable wg-quick@client1.
  4. iOS + WireGuard : Installez l’app WireGuard. Cliquez « Ajouter un tunnel » — « Scanner le QR » et pointez la caméra sur le QR client1.conf. Activez le tunnel.
  5. Android + WireGuard : Installez WireGuard. Cliquez « + » — « Importer depuis fichier/archives » ou « Scanner QR ». Activez le tunnel.
  6. iOS/macOS/Windows + IKEv2 : Importez le certificat racine CA (auto-signé). Créez un profil IKEv2, saisissez serveur = IP publique, auth = utilisateur/mot de passe EAP. Sauvegardez et connectez-vous.
  7. Vérifiez le routage : ouvrez un site « mon IP » et comparez l’adresse — elle doit être votre IP statique cloud si vous routez tout le trafic.

Points importants

  • Mode split-tunnel : pour ne pas router tout le trafic via VPN, limitez AllowedIPs WireGuard et routes IKEv2 aux sous-réseaux souhaités.
  • Fuites DNS évitées en spécifiant des DNS explicites dans la config et en testant avec des services dédiés. En cas de besoin, utilisez DNS over HTTPS/QUIC côté client.

Conseil : Créez une clé/profil différent par appareil. Pratique pour révoquer un accès perdu sans affecter les autres.

Résultat attendu

Au moins deux appareils se connectent, affichent la même IP externe (votre IP statique), naviguent et accèdent aux ressources.

Problèmes et solutions

  • L’app WireGuard ne lance pas le tunnel → vérifiez clés bien collées, pas d’espaces ou caractères indésirables.
  • iOS refuse le certificat auto-signé → assurez-vous que le certificat est bien marqué comme fiable dans les profils.

✅ Vérification : Tunnel actif sur client, sudo wg show sur serveur voit le peer, navigation OK, ping 1.1.1.1 fonctionne.

Vérification du résultat

Check-list

  • VM active, IP statique assignée.
  • Groupe de sécurité et UFW configurés, ports inutiles fermés.
  • WireGuard opérationnel, au moins un client configuré.
  • IKEv2 fonctionnel (si activé), clients connectés.
  • NAT et forwarding activés, Internet accessible via le VPN.
  • Configs et clés sauvegardées en lieu sûr avec backup.

Comment tester

  1. Connectez-vous en 4G et Wi-Fi domestique. Confirmez que les deux fonctionnent.
  2. Testez la vitesse via un outil populaire. Comparez avant/après. Une baisse de 10–30 % liée au chiffrement est normale.
  3. Testez l’accès à une ressource professionnelle ou réseau interne si vous avez configuré le split-tunnel.

Indicateurs de succès

  • Connexion stable, ne coupe pas en changeant de réseau.
  • IP externe du client correspond à l’IP statique du serveur.
  • Pas de fuite DNS, sites chargent rapidement.

✅ Vérification : Tests croisés sur 3 réseaux — mobile, Wi-Fi domicile, Wi-Fi public. Tunnel connecté partout, vitesse et latence acceptables.

Erreurs fréquentes et solutions

  • Problème : Client WireGuard ne se connecte pas. Cause : Port 51820/UDP fermé en Security Group ou UFW. Solution : Ouvrez le port dans les deux, redémarrez wg-quick.
  • Problème : Connexion établie mais pas d’Internet. Cause : NAT ou ip_forward non activés. Solution : Vérifiez sysctl, ajoutez MASQUERADE sur interface correcte (eth0/ens).
  • Problème : IKEv2 refuse la connexion. Cause : CN/SAN certificat ne correspond pas ou erreur EAP. Solution : Recréez certificat avec CN et SAN identiques à l’IP ou domaine, vérifiez login/mot de passe.
  • Problème : SSH inaccessible après activation de UFW. Cause : Pas de règle sur port 22. Solution : Ajoutez la règle via console web, redémarrez UFW.
  • Problème : Changement d’interface réseau casse le NAT. Cause : Interface incorrecte dans PostUp. Solution : Vérifiez nom d’interface avec ip a, corrigez wg0.conf.
  • Problème : Connexion lente. Cause : VM sous-dimensionnée ou bande passante faible. Solution : Augmentez vCPU/RAM, simplifiez chiffrages IKEv2 (en gardant la sécurité), choisissez une zone proche.
  • Problème : Risques réglementaires. Cause : Partage public de l’accès. Solution : Gardez le VPN strictement personnel : pas de configs en public, nombre limité de peers, clés uniques par appareil, ports inutiles fermés.

Fonctionnalités supplémentaires

Configurations avancées

  • Fail2ban pour sécuriser SSH : sudo apt -y install fail2ban, activez jail basique pour sshd.
  • Automatisation des configs : scripts générant clés, QR codes et ajoutant les peers.
  • Split-tunnel : spécifiez précisément les réseaux (ex : 192.168.0.0/16) dans AllowedIPs plutôt que 0.0.0.0/0.
  • Politiques de routage par domaine avec blocage DNS et DoH/DoQ côté client.

Optimisation

  • Activez systemd-timesyncd et veillez à la synchronisation de l’heure, essentielle pour les SA IKEv2.
  • Utilisez des VM petites pour économiser, et montez en charge si besoin.
  • Conservez les logs au minimum, sans données sensibles, juste ce qui est utile au diagnostic.

Que faire d’autre

  • Déployez un second serveur dans une autre zone pour redondance : sauvegardez configs, configurez DNS failover.
  • Ajoutez un tunnel IPv6 si le provider et clients le supportent, et routez ::/0 si nécessaire.

Conseil : Si vous avez plusieurs appareils, créez un modèle de config WireGuard et ne changez que clé et adresse client. Ça limite les erreurs de saisie.

FAQ

  • Peut-on utiliser une VM pour WireGuard et IKEv2 en même temps ? Oui, à condition que les ports et les sous-réseaux soient bien distincts.
  • Un domaine est-il nécessaire pour IKEv2 ? Non, une IP et une CA auto-signée suffisent. Un domaine facilite Let’s Encrypt et réduit les alertes côté client.
  • Combien d’appareils une VM minimale peut-elle supporter ? En général 5 à 20 sans souci, selon protocole, charge et chiffrement.
  • Comment révoquer l’accès d’un téléphone perdu ? Supprimez le peer dans wg0.conf et redémarrez wg-quick. Pour IKEv2, modifiez ou supprimez le mot de passe du compte.
  • Comment réduire la consommation de trafic ? Utilisez le split-tunnel, excluez les services de streaming, ou ne routez pas tout en VPN si pas nécessaire.
  • Comment éviter la détection DPI ? WireGuard via UDP est souvent discret. Vous pouvez aussi déployer OpenVPN/IKEv2 sur 443/TCP/TLS avec un certificat valide. Mais souvenez-vous : l’objectif est une utilisation légale, pas de contourner les blocages.
  • Doit-on tenir des logs ? Gardez des journaux techniques minimaux pour la sécurité et le diagnostic, sans données sensibles inutiles.
  • Que faire en cas de changement d’IP publique ? Si elle est statique, pas de changement. Sinon, mettez à jour Endpoint dans les clients ou configurez un nom DNS à utiliser dans la config.
  • Peut-on partager l’accès avec des amis ? Techniquement oui avec des clés différentes. Mais pour « pas de souci avec le régulateur », gardez l’accès strictement personnel et non public.

Conseil : Faites une « inventaire » trimestriel des accès : supprimez les clés et profils inutilisés, renouvelez les mots de passe EAP, vérifiez les ports ouverts.

Conclusion

Vous avez déployé un serveur VPN personnel dans Yandex Cloud, en privilégiant la légalité et la sécurité : créé VPC et sous-réseaux, assigné IP statique, déployé VM Ubuntu, configuré groupes de sécurité et UFW, activé WireGuard et IKEv2 si besoin, préparé les configurations clients pour toutes les plateformes majeures, vérifié le routage et l’absence de fuites. Vous savez comment évoluer, économiser, et maintenir des journaux minimaux mais suffisants. La règle d’or « pas de problème avec le régulateur » : gardez le VPN strictement personnel, ne le fournissez pas publiquement, n’accédez pas à des ressources interdites, respectez les règles des fournisseurs.

Conseil : La configuration DIY offre contrôle et flexibilité, mais demande du temps pour installation, suivi, mises à jour et backup. Pour une solution immédiate, sans console ni tracas, considérez vpn.how : un serveur VPN personnel avec IP dédiée (pas de partage), support de WireGuard, OpenVPN, IKEv2, L2TP, SSTP, avec serveurs à Moscou, Saint-Pétersbourg, Amsterdam, Francfort, Londres, New York, San José, Chicago, Singapour, Sydney, Madrid, Helsinki, Stockholm, Varsovie, Copenhague et Stavanger ; paiement par cartes russes (incluant Tinkoff et Ozon), SBP et cryptomonnaies USDT/BTC ; tarifs dès 490 ₽ par jour et 2490 ₽ par mois avec remises longue durée ; démarrage serveur en 5 minutes après paiement, sans logs. En alternative experte au DIY, c’est idéal si votre priorité est le temps et un résultat fiable.

Et après ? Maîtrisez Terraform pour l’infrastructure as code, déployez un serveur de secours dans une zone différente, installez une surveillance de disponibilité et alertes de consommation, découvrez les approches Zero Trust avec clés à courte durée de vie. Vous avez bien fait les choses : votre serveur VPN personnel fonctionne vite, sécurisé et totalement légal.

Roman Melnikov

Roman Melnikov

Technical Writer and System Administrator

Technical writer and DevOps engineer with 9 years of experience. Created over 50 detailed guides on system configuration and administration. His instructions helped thousands of professionals successfully solve technical tasks. Popular author on Habr and YouTube.
Bauman Moscow State Technical University. Information Systems and Technologies
Technical Documentation DevOps System Administration Linux Docker and Kubernetes CI/CD Infrastructure Automation Cloud Technologies System Monitoring Bash and Python Scripting

Partager cet article :