VpnHood!

Éviter le blocage de l'adresse IP de votre serveur

Sur certains réseaux, l'adresse IP d'un serveur VPN est bloquée dès les premières heures. Quelques réglages suffisent pour rendre votre serveur bien plus difficile à bloquer. Commencez par ajouter une deuxième adresse IP pour le trafic sortant : vous découvrirez aussi comment le réseau repère votre serveur.

Comment un réseau repère un serveur VPN

Un réseau peut identifier la connexion elle-même : l'allure du trafic ou la réponse du serveur aux sondes. Le Cloak Mode ne laisse presque aucune trace. Votre serveur le prend déjà en charge, et chaque utilisateur peut l'activer dans son application.

Il peut aussi analyser la destination du trafic. Certains pays utilisent des systèmes de réputation : lorsqu'un grand nombre de personnes accèdent à des banques, services publics ou sites locaux depuis la même IP étrangère, celle-ci peut être classée comme VPN ou proxy et ajoutée à une liste de blocage.

Ou bien quelqu'un le signale. Une clé d'accès n'étant pas chiffrée, quiconque la possède peut y lire l'adresse du serveur. Partagez donc vos clés avec un nombre très restreint de personnes.

Utiliser une IP pour se connecter et une autre pour sortir

Attribuez deux adresses IP publiques au serveur, chacune avec un rôle précis :

  • L'IP de connexion est l'adresse à laquelle se connectent les applications de vos utilisateurs. C'est celle qui figure dans leurs clés d'accès.
  • L'IP de sortie est l'adresse utilisée par le serveur pour acheminer le trafic vers les sites web. C'est la seule que les sites voient.
Deux adresses, deux rôles Les appareils de vos utilisateurs se connectent à l'IP de connexion du serveur (l'adresse figurant dans leurs clés d'accès). Le serveur accède ensuite aux sites web depuis son IP de sortie, si bien que ces derniers ne voient jamais l'IP de connexion. Deux adresses, deux rôles Vos utilisateurs VpnHood! CLIENT IP de connexion 203.0.113.10 dans les clés d'accès Votre serveur VpnHood! SERVER IP de sortie 198.51.100.20 ce que voient les sites web Sites web Les sites web ne voient jamais l'IP de connexion

Les sites web ne peuvent signaler que l'adresse qu'ils voient. Si une adresse est bloquée, il s'agit uniquement de l'IP de sortie : vos utilisateurs continuent de se connecter sans problème à l'autre IP. Vous pouvez ainsi remplacer une IP de sortie bloquée sans renvoyer de nouvelle clé, car aucune clé ne la contient.

VpnHood! SERVER n'a pas de paramètre pour l'IP de sortie. Il accède aux sites web comme n'importe quel programme : c'est le système d'exploitation qui choisit l'adresse d'où part ce trafic. Configurez l'IP de sortie dans le système d'exploitation, et l'IP de connexion dans VpnHood.

Ajouter une deuxième adresse IP

Commandez une adresse IPv4 supplémentaire auprès de votre hébergeur et associez-la à la machine en suivant sa documentation. Hors Docker, le serveur s'en charge : il configure automatiquement l'adresse sur laquelle il doit écouter.

Conservez l'adresse principale comme IP de sortie et utilisez la nouvelle comme IP de connexion. Le système d'exploitation envoyant déjà son trafic depuis l'adresse principale, cela limite les réglages. Même si vos utilisateurs ne peuvent plus joindre l'adresse principale, elle reste parfaitement fonctionnelle en sortie.

Définir l'IP de sortie

Cette commande affiche l'adresse d'où part le trafic de la machine : celle située après src.

ip route get 1.1.1.1

Résultat avec 198.51.100.20 comme IP de sortie

1.1.1.1 via 198.51.100.1 dev eth0 src 198.51.100.20 uid 0
    cache

Si la commande affiche la nouvelle adresse plutôt que la principale, la machine est configurée en sens inverse. La solution la plus simple consiste à inverser les rôles : utilisez l'adresse affichée comme IP de sortie et l'autre comme IP de connexion.

Sous Docker, le serveur partage le réseau de l'hôte : ce sont donc les paramètres de l'hôte qui s'appliquent.

Sur un cloud où la machine n'a que des adresses privées (comme AWS, Google Cloud, Azure ou Oracle Cloud), chaque IP publique est associée à une adresse privée. Utilisez les adresses privées sur la machine et là où le serveur écoute, et l'IP publique de connexion là où une adresse est insérée dans les clés.

Assigner l'IP de connexion au serveur

Configurez VpnHood! SERVER pour qu'il écoute uniquement sur l'IP de connexion et n'inscrive que cette adresse dans les clés d'accès. Ainsi, l'IP de sortie ne répondra jamais comme serveur VPN, même si elle fait l'objet d'un scan réseau.

Définissez les deux adresses vous-même : par défaut, le serveur détecte son adresse via son trafic sortant (aussi bien sur un serveur managé qu'autonome) et choisirait donc l'IP de sortie. Consultez Configurer les adresses IP de votre serveur pour en savoir plus.

Les clés distribuées précédemment contiennent l'ancienne adresse. Laissez le serveur écouter dessus pendant quelques jours le temps que les applications récupèrent automatiquement la nouvelle clé, puis supprimez-la : tant que vous ne le faites pas, l'IP de sortie continuera de répondre comme serveur VPN.

Vérifier le résultat

Connectez-vous depuis un appareil et vérifiez votre adresse IP sur n'importe quel site dédié : vous devriez voir l'adresse IP sortante.

Si l'IP de connexion reste accessible par la suite, le réseau repérait simplement votre serveur via la destination de son trafic. Si elle est toujours bloquée en quelques heures, le réseau identifie la connexion elle-même : demandez à vos utilisateurs d'activer le mode Cloak et attribuez un nom de domaine au serveur.

Se connecter via un nom de domaine

Par défaut, le serveur utilise un certificat auto-signé avec un nom généré. En lui associant un nom de domaine vous appartenant et un certificat émis par une autorité comme Let's Encrypt, chaque connexion ressemblera à une simple visite sur un site web ordinaire.

Un nom de domaine est également utile si l'IP de connexion vient à être bloquée. Les clés intègrent alors ce domaine, que les applications interrogent lors de la connexion. Vous pouvez ainsi migrer le serveur vers une nouvelle adresse, faire pointer le domaine dessus, et toutes les clés continueront de fonctionner.

Le guide Se connecter via un nom de domaine détaille la procédure pour les serveurs autonomes et administrés.

Placer le serveur derrière un proxy inverse

Si votre configuration le permet, placez votre serveur derrière un reverse proxy ou un CDN comme Cloudflare. Vos utilisateurs se connecteront ainsi au proxy plutôt qu'à l'IP réelle du serveur. La disponibilité et l'efficacité de cette méthode dépendent du pays et du réseau.

Ne faites pas transiter le trafic local par le serveur

Invitez vos utilisateurs à activer l'option Exclure mon pays dans leur application. Les sites locaux (banques, services publics) seront consultés en direct sans passer par votre serveur, évitant ainsi d'attirer l'attention sur une adresse étrangère.

Étapes suivantes