Un réseau privé virtuel (VPN) relie des ordinateurs externes au réseau local et crypte également les données. Internet sert alors de moyen de transport. Lorsque l’on est intégré dans le VPN, on agit comme dans le réseau local. Cette technique convient donc pour accéder à son propre réseau local ou à des jeux multi-joueurs qui ne permettent l’utilisation qu’à l’intérieur d’un réseau local.
L’article décrit brièvement comment procéder à l’installation d’un VPN côté serveur et côté client sous Windows XP. D’autres procédures peuvent s’appliquer aux autres systèmes d’exploitation.
Table des matières
La technique
Comme nous l’avons déjà expliqué dans l’avant-propos, un ordinateur qui se connecte au LAN (Local Area Network) via VPN est traité comme un autre ordinateur dans le LAN local. Dans la mesure où des partages sont disponibles pour l’utilisateur, il est possible de les utiliser, tout comme les imprimantes partagées, etc. Après la connexion, chaque utilisateur VPN reçoit une adresse IP de l’espace d’adresses du réseau local. Ainsi, il est désormais possible de jouer à des jeux multijoueurs qui n’étaient en fait jouables que dans le réseau local.
Le protocole VPN PPTP (Point to Point Tunneling Protocol) nécessaire à la connexion VPN est directement installé avec Windows XP. Nous n’aborderons pas ici les solutions via „L2TP over IPSec“.
Côté client, la configuration de la connexion s’effectue en principe comme toute autre connexion à distance.
Côté serveur (là où l’on souhaite se connecter), un serveur VPN doit toutefois être en cours d’exécution. Windows 2000, ainsi que Windows XP Home et la version Professional, proposent déjà un serveur VPN intégré. Mais celui-ci ne permet qu’une seule connexion à la fois. Si l’on a besoin de plus, il faut se procurer un„vrai“ serveur (Windows 2003) ou un routeur avec un serveur VPN intégré. Draytek, par exemple, commercialise de tels appareils.
Dans notre cas, la livraison est suffisante.
Sécurité
Le VPN sous Windows XP utilise par défaut le protocole PPTP. Dans sa dernière version, celui-ci offre un cryptage de 128 bits et est suffisamment sûr avec des mots de passe suffisamment longs. Le protocole IPsec, plus moderne, offre certes une meilleure sécurité, mais n’est pas supporté par tous les systèmes d’exploitation.
Ceux qui souhaitent s’intéresser au VPN sous Windows devraient jeter un coup d’œil au „Livre d’information de Microsoft VPN avec Windows 2003 – une vue d’ensemble“, disponible gratuitement. Ce livre blanc offre une vue d’ensemble des technologies VPN prises en charge par Windows Server 2003 et Windows XP. Il décrit les caractéristiques des deux systèmes d’exploitation qui vous facilitent l’administration des connexions VPN dans les réseaux d’entreprise et fournit des informations de base sur les deux normes industrielles Point-to-Point Tunneling Protocol (PPTP) et Layer-Two Tunneling Protocol avec Internet Protocol-Security (L2TP/IPSec).
Installation côté serveur
Commençons par le côté serveur, c’est-à-dire l’ordinateur sur lequel s’effectue la connexion.
Il faut tout d’abord configurer une nouvelle connexion entrante. Pour ce faire, il faut aller dans le „Panneau de configuration“, puis dans „Connexions réseau“ et sélectionner„Créer une nouvelle connexion„.
Confirmer l’assistant suivant en cliquant sur suivant, puis sélectionner„Créer une connexion étendue„.
Par la suite, on choisit„Autoriser la connexion entrante„.
Il faut ignorer la sélection d’appareils qui suit maintenant, car la connexion en ligne s’effectue, dans le cas d’une connexion en ligne existante, par l’intermédiaire de l’adresse IP ou d’un nom de domaine qui est redirigé vers son propre ordinateur par des services comme http://www.dyn.com/.
Konrad Priemer a décrit en détail comment automatiser et mettre en place une telle redirection dans son article „Dynamisches DNS-Update für die lokale Homepage“.
Le dialogue suivant veut savoir si l’on souhaite autoriser les connexions VPN, ce que l’on active via le bouton radio.
Pour que l’utilisateur établissant la connexion VPN depuis l’extérieur soit autorisé à accéder au réseau local, il doit être connu en tant qu’utilisateur sur le système local. Dans notre exemple, l’utilisateur manque encore.
On crée donc un nouvel utilisateur en cliquant sur le bouton „Ajouter“.
L’invité extérieur devra par la suite se connecter avec ces données. Pour des raisons de sécurité, il ne faut pas choisir un mot de passe trop léger.
Nous avons maintenant créé et activé l’utilisateur VPN (comme nom de compte).
L’étape suivante consiste à définir les paramètres du réseau. Il faut activer le protocole TCP/IP ainsi que le client pour les réseaux Microsoft et (si on le souhaite) le partage de fichiers et d’imprimantes pour les réseaux Microsoft.
L’entrée Protocole Internet (TCP/IP) nécessite le cas échéant encore une adaptation sous „Propriétés“.
L’accès au réseau (en haut) est généralement activé par défaut.
Que l’on fasse attribuer automatiquement l’adresse TCP/IP de l’ordinateur invité via DHCP ou qu’on la définisse soi-même manuellement, cela dépend des spécifications du réseau local. Il est surtout important que les deux ordinateurs se trouvent plus tard dans le même sous-réseau (donc 192.168.x.Y, c’est-à-dire que l’adresse IP des deux ordinateurs doit être identique à l’exception du Y).
Si, après le test ultérieur, les deux ordinateurs ne se voient pas, c’est peut-être là que se trouve la source de l’erreur. Dans ce cas, allez dans l’invite de commande (Démarrer -> Exécuter -> CMD) et vérifiez l’adresse IP de l’ordinateur avec IPCONFIG. Si celle-ci est par exemple 192.168.1.x, vous pouvez également sélectionner manuellement une plage d’adresses de 192.168.1.x à 192.168.1.255.
Ainsi, la configuration est déjà terminée du côté du serveur.
Une nouvelle icône sous les connexions réseau indique que les connexions entrantes sont activées. Si un ordinateur établit maintenant la connexion, le nom du compte s’affiche ici même.
Configuration du client
Côté client, la configuration de la connexion VPN au serveur VPN est relativement simple.
Même pour Windows 95 et Windows 98, il est possible d’établir une connexion avec le serveur VPN. Pour cela, il suffit de disposer de la mise à jour 1.4 pour le réseau d’accès à distance (Microsoft Windows 98 Dial-Up Networking 1.4) et de configurer l’accès via le réseau d’accès à distance.
Pour Windows 2000 et XP, la prise de contact avec le serveur VPN est configurée comme suit :
Sous „Connexions réseau“ dans le „Panneau de configuration“, on clique sur„Créer une nouvelle connexion“ et on choisit dans l’assistant suivant„Établir une connexion avec le réseau sur le poste de travail„.
Dans la boîte de dialogue suivante, on choisit Connexion VPN.
On donne maintenant un nom à la connexion.
En dernier lieu, l’assistant souhaite encore connaître l’accessibilité du serveur VPN. On indique ici soit le nom de redirection du service DYNDNS (voir configuration), soit l’adresse IP actuelle de la personne en face avec le serveur VPN. Comme celle-ci change en règle générale à chaque connexion, il faut alors la saisir à nouveau à chaque connexion (voir plus loin „Prise de contact“).
L’assistant peut maintenant mettre la connexion à disposition de tous les utilisateurs ou seulement de l’utilisateur actuel et, en dernier lieu, faire créer un raccourci sur le bureau.
Prise de contact
Trouver l’IP du serveur
Dans la mesure où le serveur VPN utilise une connexion DialUp habituelle comme DSL ou ISDN, le serveur doit d’abord établir une connexion à Internet. Ensuite, l’adresse IP actuelle du serveur doit être communiquée à l'“invité“ par téléphone ou par mail, ICQ, etc. afin que l’invité puisse également s’adresser à lui. L’adresse IP actuelle peut être obtenue par la commande ipconfig à partir de l’invite de commande (Démarrer -> Exécuter : cmd -> ipconfig). Le cas échéant, plusieurs IP sont affichées ici. Une IP commençant par 192.x et est toujours celle de l’ordinateur local et non celle du fournisseur d’accès à Internet. Vous devez donc communiquer l’IP du fournisseur d’accès à Internet à l’invité.
Une solution plus élégante consiste à utiliser un service DYNDNS. Grâce à des outils comme DirectUpdate, ces services sont toujours informés automatiquement de l’IP actuelle de l’ordinateur. L’ordinateur lui-même est toujours accessible via le service DYNDNS sous un même nom comme ici dans l’exemple testrechner.homedns.org.
Konrad Priemer a décrit en détail comment automatiser et mettre en place une telle redirection dans son article „Dynamisches DNS-Update für die lokale Homepage“. La voie via un service DYNDNS aurait l’avantage de permettre à l’invité de toujours laisser le même nom dans la connexion VPN comme indication de destination et de ne pas devoir toujours déterminer l’IP en premier lieu.
Côté client
Comme illustré ci-dessus, le client a d’abord besoin de l’IP de l’ordinateur cible. Si celle-ci est disponible ou si la solution passe par un nom DYNDNS, le processus peut commencer.
On établit d’abord une connexion à Internet.
En double-cliquant sur la connexion VPN créée ci-dessus, celle-ci demande le nom d’utilisateur et le mot de passe. Les données requises ici sont celles qui ont été configurées sur le serveur.
Si l’on doit encore saisir l’adresse IP du serveur, on clique sur Propriétés.
Sous Général, on trouve à nouveau le champ avec les données de l’ordinateur hôte. Si l’on a reçu la nouvelle IP du serveur, on la saisit ici. Le protocole devrait être „PPTP-VPN“ sous Réseau.
Si la connexion s’établit correctement, une nouvelle icône apparaît sous Connexions réseau du côté du serveur, indiquant l’utilisateur sélectionné.
Le menu contextuel des icônes permet de couper la connexion côté serveur ou de demander des informations sur l’état.
Connexion OK, et maintenant ?
Si la connexion VPN a été établie avec succès, l'“invité“ reçoit une adresse IP de l’espace d’adresses du serveur. Dans les faits, les deux ordinateurs se trouvent donc dans le même réseau local. Dans la mesure où les partages de fichiers sont visibles pour l’utilisateur connecté, il peut également y accéder via l’environnement réseau.
Si le client ou le serveur lance un jeu jouable sur le réseau local via TCP/IP, les deux ordinateurs devraient également se trouver ici.
Accès à l’ordinateur distant
Le mieux est que les deux ordinateurs fassent partie du même groupe de travail. La plupart du temps, l’ordinateur distant n’apparaît pas directement dans l’environnement réseau, car les données de diffusion nécessaires ne sont pas transmises via VPN. Il est toutefois possible de s’adresser à l’ordinateur distant avec des indications de chemin UNC dans la ligne d’adresse du poste de travail/explorateur via \IPAdresse ou \IPAdressePartage, donc par ex. \192.168.1.11Documents. Il est également possible d’utiliser le nom de l’ordinateur au lieu de l’IP.
Il est également possible de connecter des lecteurs réseau. Ceux-ci sont à nouveau indiqués par des chemins UNC.
Contrôle à distance
Le contrôle à distance du serveur est un tout autre domaine d’activité. Après avoir établi une connexion VPN avec le serveur, il est possible de contrôler le serveur à distance via le programme„Connexion bureau à distance„. L’article Contrôle à distance de Windows XP de PCDMicha décrit en détail comment cela fonctionne et ce à quoi il faut faire attention dans ce cas.
Problèmes liés au pare-feu ou au routeur
Un pare-feu (logiciel) ou un routeur constitue souvent un problème en cas d’échec de la connexion VPN. Pour que la connexion fonctionne sans problème, le pare-feu (logiciel) ou le routeur doit être en mesure d’autoriser les connexions VPN vers les clients et le serveur. Les clients ne posent pas de problème. Des autorisations spéciales ne sont généralement pas nécessaires ici. Microsoft décrit dans l’article 314076 de la KB quels ports doivent être ouverts :
Pour PPTP, le port 1723 TCP suffit du côté du serveur, c’est-à-dire que ce port doit être transmis au serveur VPN.
Cependant, la connexion ne fonctionne pas avec tous les routeurs. Pour que le serveur VPN situé derrière le routeur soit accessible, le routeur doit transférer les connexions PPTP entrantes dans le réseau local (port forwarding) ou le pare-feu doit les laisser passer. PPTP n’utilise toutefois pas TCP/UDP mais GRE (Generic Routing Encapsulation) comme protocole de transport (numéro de protocole 47). Tous les routeurs ne peuvent pas le transmettre à un serveur VPN. Pour de nombreux fabricants, la capacité VPN signifie uniquement que le routeur peut se connecter à un serveur VPN, mais qu’il ne peut pas fonctionner devant un serveur VPN.
Le problème se situe donc au niveau du routeur/pare-feu situé avant le serveur VPN. Soit le protocole GRE doit également être transmis pour l’ordinateur serveur, soit l’ordinateur doit être complètement libéré du pare-feu (ou de celui du routeur) (cela s’appelle généralement une DMZ, même si cela représente plutôt un hôte exposé). La deuxième solution rend toutefois l’ordinateur vulnérable à toutes les attaques extérieures et ne devrait donc constituer qu’une solution de secours.
Un serveur VPN fonctionne sans problème, par exemple sur les routeurs Vigor de Draytek ou la Fritz-Fon-Box DSL. Certains types de routeurs proposent même un serveur VPN intégré, que l’on peut toutefois désactiver au profit du serveur VPN Windows.
Pour les autres fabricants, la seule solution est de faire des essais : Il est éventuellement possible de transmettre le protocole GRE au serveur VPN en indiquant son numéro de protocole IP 47. Pour le pare-feu Kerio par exemple, GRE peut être ajouté via „Advanced“ -> Protocole „Other“ et „Numéro de protocole 47“.
En prenant l’exemple de la Fritz-Fon-Box DSL, voici les bons partages (marqués en jaune) :
Pare-feu Windows du Service Pack 2
Le pare-feu inclus dans le Service Pack s’installe automatiquement lors de la création d’un serveur VPN et n’a généralement pas besoin d’être configuré davantage. Les paramètres sont accessibles via le Pare-feu Windows – > Avancé -> Paramètres [de la connexion réseau utilisée] (par ex. la connexion LAN standard). Windows ouvre ici les ports corrects pour PPTP et L2TP. Celui qui n’utilise que PPTP peut désactiver les deux autres services de serveur.
Il faut encore noter que dans l’onglet ICMP, il faut activer „Autoriser les demandes d’écho entrantes“. Cela facilite la recherche d’erreurs ou le diagnostic, car sinon l’ordinateur serveur ne répond pas aux requêtes ping.
Ne pas utiliser les mêmes réseaux IP
Comme décrit ci-dessus, le client reçoit une autre IP du serveur et est ainsi intégré dans le réseau distant. Un problème survient lorsque le client se trouve déjà localement dans le même espace d’adresses IP que le réseau distant. Si le client se trouve dans le réseau 192.168.1.x et se connecte via VPN à un réseau qui utilise également cet espace d’adresses, la connexion VPN ne fonctionne pas, car les paquets ne sont envoyés que localement. Il faut donc veiller à ce que les ordinateurs utilisent localement d’autres espaces d’adresses IP. Ceux qui exploitent un serveur DHCP via un logiciel ou un routeur devraient donc de préférence modifier l’espace d’adresses.
Un autre problème survient lorsque le partage de connexion Internet est utilisé. Dans ce cas, XP attribue automatiquement des adresses du réseau 192.168.0.x. Si les deux sites utilisent cet espace d’adresses, celui-ci doit être modifié sur l’un des sites. Si les deux sites utilisent le partage de connexion Internet, nous ne connaissons malheureusement pas de solution pour Windows 2000 et suivants.
La connexion Internet ne fonctionne plus en cas d’utilisation d’un VPN
Lorsqu’un PC client est connecté à un serveur VPN via VPN, la connexion Internet semble ne plus fonctionner.
La raison en est que le serveur VPN s’installe comme nouvelle passerelle et que le trafic IP est désormais envoyé dans le tunnel VPN.
On peut toutefois facilement désactiver ce comportement.
Dans la zone „Connexions réseau“, on sélectionne les propriétés de la connexion VPN, on passe ici à l’onglet „Réseau“ et on choisit les propriétés du protocole Internet. De nouveau sous „Avancé“, on trouve une case à cocher sur Général, qui s’appelle„Utiliser la passerelle par défaut pour le réseau distant„. Si l’on désactive cette option, l’accès à Internet fonctionne comme d’habitude.
Connexions multiples, Windows Server
Celui qui a besoin de plus d’une connexion VPN est tributaire d’une aide extérieure. Un véritable serveur Windows 2003 (également SBS) ou une installation Linux peuvent être utilisés dans ce cas.
Sous l’article 323441, Microsoft décrit à titre d’exemple comment configurer un serveur VPN sous Windows 2003 Server.
D’après les expériences de la communauté, de très bons résultats ont été obtenus avec FLi4L. Le routeur Linux gratuit est livré sur une disquette prête à l’emploi et n’a besoin que d’un vieil ordinateur 486 pour effectuer toutes les tâches de routage et donc également celles d’un serveur VPN.
D’autres problèmes ?
Microsoft lui-même donne des indications sur la recherche d’erreurs dans l’article KB 314076, lorsque des messages d’erreur apparaissent lors de l’établissement de la connexion. D’autres points de contact sont le forum WinTotal dans la rubrique Réseau ou NetzwerkTotal.
Une alternative au VPN de Microsoft est le VPN gratuit OpenVPN, avec lequel, selon certains utilisateurs, il y aurait beaucoup moins de problèmes dans le domaine des jeux.