Cet article n’incite pas au piratage d’œuvres protégés ou à quelque-conque activités illégales sous couvert d’anonymat, il s’agit d’un article décrivant la mise en œuvre d’une connexion VPN sur une machine headless (serveur)


Selon la définition Wikipédia du VPN, le réseau privé virtuel (Virtual Private Network en anglais, abrégé en VPN) est vu comme une extension des réseaux locaux et préserve la sécurité logique que l’on peut avoir à l’intérieur d’un réseau local. Il correspond en fait à une interconnexion de réseaux locaux via une technique de « tunnel ».

En gros si vous utilisez un VPN, votre adresse IP détecté par l’HADOPI (par exemple) ne sera pas celle que votre fournisseur d’accès Français vous attribue mais celle du serveur VPN que vous utilisez. Dons si vous utilisez un VPN étranger vous aurez une adresse IP étrangère donc ne tombant pas sous le coup de la loi HADOPI.

Une autre utilisation du VPN est d’assurer la confidentialité des données qui transitent entre mon PC et les différentes site web que j’utilise, en effet la communication est chiffré entre le serveur VPN et mon PC.

Pour avoir plus de détail sur le VPN je vous conseil l’excellent page du Wiki de Korben : VPN


Si vous cherchez sur le net vous trouverez nombre de tutoriaux pour mettre en œuvre une connexion VPN via le network manager de Gnome, mais peu ou pas si vous souhaitez configurer une connexion VPN en ligne de commande (par exemple sur un serveur de téléchargement : seedbox).

N’étant pas un grand téléchargeur je n’envisage pas pour l’instant de recourir à une connexion VPN permanente mais le sujet m’intéresse, j’ai donc profité d’une offre d’essai pour l’étudier.

Cette offre d’essai est celle de VPN Guard qui propose dans le cadre de la phase de test (Béta) une commande à 0€ d’une durée de validité de 3 mois (renouvelable ?).


Inscription (gratuite) sur VPN Guard

Il suffit de se rendre sur le site de VPN Guard et de cliquer sur une des 3 offres (identiques) présente en bas de page.

Dans la page suivante, cliquer sur ajouter au panier.

Dans la zone de gauche (Panier) cliquer sur commander.

Créer votre compte, inscrire son email et sur la page suivante votre civilité, nom, prénom et mot de passe

l’email saisie sera votre identifiant pour le VPN et le mot de passe du compte sera aussi celui de votre VPN.

A l’issue de votre inscription vous recevrez un email de confirmation (sujet : [VPN Guard] Produit virtuel à tél�) qui contient un lien vers un fichier zip contenant ce qu’il faut pour réaliser votre connexion VPN.

Télécharger le zip et  le transférer sur votre serveur (via scp par exemple : scp vpn-guard.zip [user]@[ip serveur]:.)


Configuration de la connexion VPN

Sur votre serveur, vous connecter en SSH (puisque l’on suppose que votre machine est distante et ne dispose pas d’écran / interface graphique, ce qui est le but de cet article).

Installer le client openvpn :

sudo aptitude install openvpn

Déziper le fichier reçu de VPN Guard que vous avez copié sur le serveur (unzip vpn-guard.zip)


Copier les fichiers ca.crt et ta.key qui doivent avoir été dézipé de l’archive de VPN Guard dans le répertoire /etc/openvpn

Copier le fichier uk.vpn-guard.ovpn aussi présent dans l’archive de VPN Guard mais en le renommant en config.conf

sudo cp uk.vpn-guard.ovpn /etc/openvp/config.conf

Ce fichier contient la configuration de la connexion openvpn à utiliser pour se connecter sur le serveur VPN de VPN Guard, pour info :

client
 dev tun
 proto udp
 remote-random
 remote uk.vpn-guard.com 443
 remote uk.vpn-guard.com 1194
 ##########keys##########
 tls-auth ta.key
 ca ca.crt
 ########################
 resolv-retry infinite
 cipher AES-256-CBC
 nobind
 persist-key
 persist-tun
 auth-user-pass
 comp-lzo
 verb 4


Pour démarrer la connexion VPN il suffit de démarrer le service openvpn

sudo service openvpn start

Le service demande le login et le mot de passe d’accès au serveur VPN, il s’agit de l’adresse email et du lmot de passe choisi/renseigné lors de la création de votre compte sur le site VPN Guard

* Starting virtual private network daemon(s)...                                                             *   Autostarting VPN 'config'                                                                              Enter Auth Username:[login VPN Guard]
 Enter Auth Password:
 [ OK ]

Pour arrêter la connexion VPN, tout aussi simple on arrête le service openvpn :

sudo service openvpn stop
 * Stopping virtual private network daemon(s)...                                                             *   Stopping VPN 'config'                                                                           [ OK ]

Test de la connexion VPN

Lorsque votre connexion VPN est active une nouvelle interface réseau est créée que l’on peut voir avec la commande :

ifconfig

Voici la mienne :

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
 inet adr:10.6.0.10  P-t-P:10.6.0.9  Masque:255.255.255.255
 UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
 Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 lg file transmission:100
 Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)

Ensuite vous pouvez connaitre votre adresse IP publique qui doit être étrangère avec la ligne de commande suivante :

curl -s 208.78.69.70 | grep -Eo '[0-9\.]+'

Dans mon cas cela à donné :
83.170.72.124

A comparer avec votre IP publique sans la connexion VPN.

Pour localiser cette adresse IP on peut sur un PC Desktop utiliser le service IP Locator

Ce qui donne bien dans mon cas une adresse anglaise :

Test suivant tester la résolution DNS à travers le VPN (je fais ce test car avec un autre service VPN cela ne marchait pas) :

ping google.fr
 PING google.fr (209.85.229.99) 56(84) bytes of data.
 64 bytes from ww-in-f99.1e100.net (209.85.229.99): icmp_seq=1 ttl=56 time=46.6 ms


Enfin dernier test le test de débits, en ligne de commandé on eut utiliser la commande suivante :

curl -o /dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip

Pour commencer on test sans le VPN pour avoir la référence :

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 Dload  Upload   Total   Spent    Left  Speed
 5  500M    5 28.9M    0     0   528k      0  0:16:08  0:00:56  0:15:12  594k

Puis avec le VPN, test du 16 Février 2011 à 22h

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 Dload  Upload   Total   Spent    Left  Speed
 1  500M    1 6317k    0     0  87758      0  1:39:34  0:01:13  1:38:21 59065

Edit : Suite à une remarque de quelqu’un de chez VPN guard j’ai refait un test et là surprise, résultat du 20 Février 2011 à 11h20

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 Dload  Upload   Total   Spent    Left  Speed
 11  500M   11 57.2M    0     0   507k      0  0:16:48  0:01:55  0:14:53  540k

Soit tout de même un débit 6 fois moindre !!!

Le débit est identique voir même supérieur (selon les tests), lors des dernier tests j’ai même vérifié 2 fois si mon connexion passait bien via le VPN tant j’étais surpris des débits.

Bref un très bonne offre de VPN…


Ce service une fois sorti de la phase Béta devrait être proposé au prix de 3€ par mois.


Un autre VPN peu chère existe, il s’agit de VPNFacile, il est proposé à 5€/mois et propose un essai gratuit de 24h.

Je l’ai testé durant 24h mais je n’ai pas pu réussir à faire fonctionner la résolution DNS durant ce temps (limité)


Sources :

VPN-Guard : L’anonymat en béta test (gratuit) – Le Colibri Libre


Page du Wiki de korben sur le VPN en général

La bible openvpn client et serveur : OpenVPN HOWTO

VPN – Ubuntu Wiki

OpenVPN : Mise en place d’OpenVPN sur différentes plateformes – Bloc Notes Informatique

Serveur VPN: #1 Installation et configuration de base

OpenVPN Client

Configuration d’un serveur OpenVPN : IP statiques et redirection de ports – 15 Minutes of Fame


A creuser des scripts de d’arrêt du réseau en cas de déconnexion du VPN ou de reconnexion automatique :

Papillon-butineur: Déconnexion du VPN: un script pour stopper les échanges

Papillon-butineur: Reconnection automatique du VPN en cas de coupure sous Ubuntu

La source de la ligne de commande pour connaître son adresse IP publique : http://www.commandlinefu.com/commands/view/1733/get-own-public-ip-address

Les commentaires sont fermés.