Récemment, au cours de l’une de mes missions, j’ai dû utiliser le réseau d’un client qui disposait d’un filtre un peu excessif au niveau des sites et/ou protocoles que l’on pouvait utiliser une fois connecté sur son réseau interne. C’est ma fois un peu agaçant. Heureusement, avec Windows Azure et OpenVPN il est assez facile et rapide de mettre en place gratuitement un VPN pour dérouter le flux Internet et ainsi accéder au Web (et d’autres protocoles) sans aucune limitation.
NB : Je dis gratuit mais effectivement si vous ne disposez pas d’un compte MSDN qui vous fournit du crédit gratuit sur Windows Azure et bien qu’OpenVPN soit gratuit pour 2 sessions utilisateurs, vous devrez effectivement payer la machine virtuelle hébergée sur Windows Azure.
Dans cet article, je vais utiliser Windows Azure mais bien sûr, vous pourriez héberger votre serveur OpenVPN sur n’importe quel autre fournisseur de services. Une fois configuré, vous pourrez ainsi réacheminer l’ensemble de vos paquets réseaux chiffrés vers le datacenter de Windows Azure et accéder à Internet.
Etape 1 : Création de la machine virtuelle
Tout d’abord connectez-vous sur votre portail Windows Azure et procédez à la création d’une machine virtuelle avec la configuration suivante :
Dans mon cas, j’ai utilisé Ubuntu dans sa version 13.10 mais vous pouvez bien sûr adapter la configuration à vos besoins. Au niveau de la taille, une petite instance de machine virtuelle est largement suffisant car nous aurons simplement du trafic réseau. Il n’y aura pas de réelle charge ou de sollicitation de la RAM et/ou le CPU.
Prenez également le temps de sélectionnez le Datacenter dans lequel vous souhaitez que votre machine virtuelle soit hébergée. L’utilisation d’un VPN ou d’un Proxy a toujours un impact sur les performances réseaux, choisissez donc une région qui soit proche de vous.
Après quelques instants, votre machine virtuelle est créée.
Toujours sur le portail Windows Azure, récupérez les informations suivantes :
- Adresse IP Virtuelle (VIP) Publique : XXX.XXX.XXX.XXX
- Nom DNS : MonVPN.cloudapp.net (en rapport avec le nom de la VM que vous avez précédemment choisi).
Avant de se connecter à la machine virtuelle, nous allons en modifier les points de terminaison. Cliquez sur la machine virtuelle que vous venez de créer et créez les points de terminaison suivants :
- HTTPS – TCP : 443 / 443
- OPENVPNADMIN – TCP : 943 / 943
- OPENVPNSERVER – TCP : 119 / 194
- SSH – TCP : 22 / 22
Il s’agit tout simplement de redirections de ports. Là encore, vous pouvez modifier les ports en fonction de vos besoins. Par exemple, certaines personnes pensent que laisser le port SSH sur le port 22 par défaut est dangereux et il est en général remplacé par le port 2222 ou autre. A vous de voir.
Etape 2 : Configuration de la machine virtuelle
Vous pouvez maintenant démarrez PuTTY pour vous connectez à la machine virtuelle soit via le nom DNS du type MonVPN.cloudapp.net soit en utilisant l’adresse IP publique que vous avez récupéré précédemment.
Petite spécificité Windows Azure, le compte par défaut pour vous connecter est le compte azureuser avec le mot de passe que vous avez renseigné lors du provisionnement de la machine virtuelle.
Saisissez les lignes de commandes suivantes :
wget -c http://swupdate.openvpn.org/as/openvpn-as-2.0.5-Ubuntu13.amd64.deb
(Téléchargement distant du package depuis le site web OpenVPN)
sudo dpkg –i openvpn-as-2.0.5-Ubuntu13.amd64.deb
(Installation du package sur la machine virtuelle)
sudo passwd openvpn
(Définition d’un compte utilisateur nommé openvpn dont vous êtes invité à choisir le mot de passe)
Vous pouvez maintenant fermer PuTTY. OpenVPN est installé nous allons pouvoir passer à la configuration via l’interface web.
Depuis votre navigateur Internet préféré, accédez à l’URL suivante :
- https://MonVPN.cloudapp.net:943/admin (selon le nom que vous avez précédemment choisi pour votre machine virtuelle)
Dirigez-vous dans section Server Network Settings et modifiez la partie « Hostname or IP Addresse » pour la remplacer par le nom DNS de votre machine virtuelle : monvpn.cloudapp.net. Sauvegarder et redémarrer le serveur pour appliquer les changements.
Vérifiez également que le protocole utilisait est bien le protocole TCP et le port 1194 (à adapter si jamais vous avez configuré un autre port dans la première partie de l’article : points de terminaison).
Re-connectez-vous maintenant à l’URL suivante :
Dans la mire d’identification qui apparaît, entrez le compte openvpn et le mot de passe que vous avez précédemment défini.
Choisissez dans le menu déroulant Login.
Téléchargez le client OpenVPN Connect correspondant à votre système d’exploitation.
L’avantage de télécharger le client OpenVPN directement depuis votre interface web OpenVPN et qu’il sera pré-configuré. Vous n’aurez donc aucun autre réglage spécifique à réaliser.
Installez le client sur votre poste et connectez-vous :
Vous remarquez que le nom du server est déjà renseigné et pré-configuré.
Cliquez sur Connect.
Pour vérifier que cela fonctionne, vérifiez votre adresse IP externe sur n’importe quel site web. Par exemple, http://www.whatismyip.com/.
Votre adresse IP correspond désormais à la machine virtuelle dans Windows Azure.