Aller au contenu

Solutions · VPN

Un VPS pour héberger votre VPN WireGuard

WireGuard, c’est un module du noyau et quelques kilooctets de configuration ; une machine à un cœur sature sa liaison montante avant de manquer de CPU. Ce qu’un VPN personnel consomme réellement, c’est du transfert, chaque octet entrant puis ressortant, et c’est pourquoi U1-1 à $6.90 sans compteur de trafic est le choix retenu, et pourquoi une offre avec compteur est une facture en attente. wg-easy ajoute une interface web et des QR codes ; C1-2-55 à $19.90 est livré avec wg-easy en fonctionnement.

Ce qu’il lui faut

Logiciels issus de la documentation, tailles indiquées avec leur source

Les logiciels et la configuration de sécurité proviennent de la documentation du projet lui-même. Lorsque le projet ne publie aucun chiffre matériel, les tailles indiquent de qui elles viennent.

D’après le fichier compose et la documentation de wg-easy

  • Docker, puis ghcr.io/wg-easy/wg-easy:15 avec NET_ADMIN, SYS_MODULE et net.ipv4.ip_forward=1 ; le noyau fournit WireGuard.
  • Ports : 51820/udp pour le VPN (le seul qui doit être public) et 51821/tcp pour l’interface web, qui ne devrait pas l’être.
  • Le premier démarrage peut se faire sans intervention avec INIT_ENABLED, INIT_USERNAME, INIT_PASSWORD, INIT_HOST, INIT_PORT, INIT_DNS ; ensuite, c’est dans l’interface que l’on crée les clients.
  • Le trafic double : un gigaoctet téléchargé via le VPN, c’est un gigaoctet entrant et un gigaoctet sortant du serveur.

Tailles (bande passante, pas cœurs)

Dimensionnement par usage
Charge de travailvCPURAM
Une personne, téléphones et ordinateurs portablesLe CPU n’a aucune importance ; prenez une offre Unmetered ou comptez les téraoctets.11 GB
Un foyer ou une petite équipePareil. Des dizaines de pairs ne coûtent rien ; c’est le streaming qui coûte.12 GB
Site à site ou un bureauToujours la bande passante. Choisissez la ville pour la latence vers le bureau.22 GB

Les offres adaptées

4 machines, prix en temps réel

Les moins chères et Unmetered d’abord. Prix du jour, par mois, issus du catalogue.

  • U1-1$6.90/mois

    1 vCPU · 1 GB · 15 GB de disque · Unmetered

    Unmetered, Istanbul, le choix. 1 vCPU, 1 GB et aucun compteur de trafic : un VPN qui ne peut pas vous surprendre. Collez vous-même le fichier compose (trois commandes).

  • C1-1-25$9.90/mois

    1 vCPU · 1 GB · 25 GB de disque · 1 TB

    1 TB par mois, dans 36 villes. La même machine, où que vous vouliez la sortie ; 1 TB de transfert suffit largement pour la navigation et reste juste pour la vidéo. Collez vous-même le compose.

  • C1-2-55$19.90/mois

    1 vCPU · 2 GB · 55 GB de disque · 2 TB

    Livré avec wg-easy en fonctionnement. 1 vCPU / 2 GB / 2 TB chez un fournisseur qui exécute notre preset : mot de passe administrateur dans un fichier lisible par root uniquement, interface sur loopback, QR codes prêts.

  • U1-2$8.90/mois

    1 vCPU · 2 GB · 25 GB de disque · Unmetered

    Unmetered, 2 GB, Istanbul. Le choix avec deux fois plus de mémoire, pour un VPN qui fait aussi tourner un filtre DNS ou un second service.

« Déployer avec installation » ouvre le configurateur avec notre script de démarrage WireGuard (wg-easy) déjà placé dans le champ de démarrage, en intégralité, avant l’achat. Il s’exécute une seule fois, en root, pendant l’installation du serveur, et uniquement chez les fournisseurs dont la plateforme exécute les scripts de démarrage ; sur les autres lignes, l’installation consiste en les mêmes commandes, que vous collez vous-même.

L’installation

Quatre étapes, d’après la documentation de wg-easy

Avec le preset, les trois premières étapes sont faites à la livraison du serveur et le mot de passe administrateur vous attend dans /root/WIREGUARD-NEXT-STEPS.txt.

  1. Docker. curl -fsSL https://get.docker.com | sh
  2. Le fichier compose. mkdir -p /etc/docker/containers/wg-easy, téléchargez-y le docker-compose.yml du projet, et liez le port de l’interface au loopback : "127.0.0.1:51821:51821/tcp". Le preset définit aussi les variables INIT_* pour qu’aucun assistant de configuration ne soit exposé.
  3. Démarrez-le et ouvrez le port. docker compose up -d, puis ufw allow 51820/udp. Rien d’autre n’a besoin d’être public.
  4. Créez un client. Depuis votre ordinateur portable ssh -N -L 51821:127.0.0.1:51821 root@your-server, ouvrez http://127.0.0.1:51821/, ajoutez un client, scannez le QR code avec l’application WireGuard. Connecté.

En toute franchise

Ce que nous achèterions vraiment

Un VPN, c’est une facture de bande passante avec un petit serveur attaché. Choisissez celui sans compteur.

Pour un VPN personnel

U1-1 · $6.90/mois

1 vCPU, 1 GB, aucun compteur de trafic, $6.90 par mois, à Istanbul : tous vos téléphones et ordinateurs portables, vidéo comprise, et la facture ne bouge jamais. C’est la machine la moins chère que nous vendons et c’est la bonne pour cet usage. Si la sortie doit être dans un autre pays, C1-1-25 à $9.90 est disponible dans 36 villes avec 1 TB par mois, ce qui suffit pour la navigation, pas pour le streaming. Aucune des deux n’exécute notre preset ; l’installation tient en trois commandes.

Questions

Les questions posées avant l’achat.

De quel VPS ai-je besoin pour WireGuard ?
La plus petite. WireGuard réside dans le noyau et transfère des centaines de mégabits sur un seul cœur ; la consommation de mémoire est négligeable. La ressource qui compte est le transfert, car chaque octet que vous faites passer par le VPN entre dans le serveur et en ressort. La vraie question de dimensionnement n’est donc pas les cœurs ni la RAM, mais de savoir si l’offre est Unmetered ou combien de téraoctets elle inclut.
Pourquoi cette page recommande-t-elle une offre Unmetered plutôt qu’une offre avec compteur apparemment moins chère ?
Parce qu’un VPN est la charge de travail où le calcul du transfert fait mal. Une soirée de vidéo HD représente 3 à 5 GB ; à travers un VPN, cela fait 6 à 10 GB de transfert serveur. Une offre à 1 TB suffit pour la navigation et reste juste pour un foyer qui fait du streaming. La machine Unmetered coûte $6.90 et la question ne se pose jamais.
Que fait le préréglage de démarrage ?
Il installe Docker avec le script officiel de Docker, écrit le fichier compose de wg-easy avec l’interface web liée uniquement à 127.0.0.1, définit les variables de configuration automatique du projet avec un mot de passe administrateur aléatoire de 24 caractères et l’adresse de ce serveur comme point de terminaison, le démarre, et n’ouvre que le port 51820/udp sur le pare-feu. Le mot de passe est écrit dans /root/WIREGUARD-NEXT-STEPS.txt, lisible par root seul. Aucun assistant de configuration n’est jamais accessible depuis Internet.
L’interface web est-elle exposée ?
Pas avec le preset : elle écoute sur le loopback et vous y accédez via un tunnel SSH. Le compose officiel de wg-easy publie le port 51821 sur toutes les interfaces et suppose que vous placiez HTTPS et un mot de passe devant ; la lier au loopback est le moyen le plus simple d’arriver au même résultat. Le port VPN 51820/udp est public par nécessité (c’est celui auquel les clients se connectent), et WireGuard reste muet pour quiconque n’a pas de clé valide.
Dans quelle ville le serveur doit-il se trouver ?
Près de vous pour la vitesse, ou dans le pays depuis lequel vous voulez apparaître sur Internet. C’est la latence que vous ressentez : choisissez la ville avec le ping le plus bas depuis l’endroit où vous êtes, et si l’objectif est une sortie dans un pays précis, c’est ce qui décide. C1-1-25 offre le même profil dans 36 villes.
Puis-je y faire tourner autre chose ?
Un filtre DNS (Pi-hole, AdGuard Home) à côté de wg-easy est l’association classique et tient dans 1 à 2 GB. Tout ce qui est plus lourd mérite sa propre machine ; l’intérêt de la machine VPN, c’est qu’elle soit petite, sans surprise et toujours disponible.