Sous les (pa)VPN, la plage (IP)

C’est l’été, période propice aux tests… Alors voici un petit article technique, ça faisait longtemps hein ?

Depuis quelques années, les technologies VPN ont permis de faciliter l’accès à distance aux réseaux des entreprises. Petit rappel rapide de la technologie : en se connectant à l’aide d’un client VPN, un ordinateur situé à l’extérieur du réseau d’une entreprise établit un tunnel sécurisé vers un serveur VPN et ainsi se connecter au réseau de l’entreprise comme s’il s’agissait d’une connexion locale.

Dans l’absolu, cette technologie est géniale. Pour quelqu’un d’assez mobile comme moi, elle permet de me connecter aux ordinateurs des réseaux de mes clients pour corriger rapidement un dysfonctionnement ou mettre en place un service. Dans la pratique, elle est la plupart du temps aussi efficace qu’annoncée en théorie.

Il y a cependant un point parfois gênant. Quand vous configurez un routeur, il est par défaut configuré sur la plage 192.168.0.1/24 ou 192.168.1.1/24. Et on la laisse par défaut sur cette plage, sans se poser de questions. Et on monte donc son réseau sur cette plage, en se disant que ça va bien youpi. Et à mon goût, c’est une erreur.

En effet, lorsqu’un client VPN se connecte sur votre réseau, il va se voir attribué une adresse IP privée de votre plage distante. Mais que se passe-t-il si ce client est déjà connecté côté LAN sur un réseau utilisant la même plage que la plage distante ?

Voyez-vous où se trouve le problème ?

Cas concret : ma machine est sur un réseau en 192.168.1.1/24. Elle a l’adresse IP 192.168.1.2. Maintenant, je me connecte sur un réseau VPN dont la plage privée est également 192.168.1.1/24. Que se passe-t-il si, lors de la connexion distante, vous devez vous connecter vers un serveur en 192.168.1.100 ? Est-ce que votre client va devoir chercher cette adresse sur son réseau LAN, ou sur le réseau VPN ?

C’est là qu’il faut être futé. Car si on ne fait pas attention, boum, on se retrouve avec une connexion qui se fait, mais des postes distants inaccessibles. La meilleure solution est d’utiliser une plage réseau inutilisée d’habitude. Vous avez là l’embarras du choix, moi par exemple j’utilise une plage en 10.0.254.0/24 (et je vous interdis d’utiliser la même, non mais). Le tout est d’avoir une plage qui risque peu d’être utilisée en dehors de votre entreprise, 192.168.192.0, 10.0.77.0, 172.16.25.0… Vous choisissez. Mais PAS les plages par défaut !!!

Avec Mac OS X Server comme serveur VPN, il y a quelques astuces qui permettent cependant de limiter la casse sans changer tout le réseau. La première est d’ajouter dans les réglages du service VPN (avec Server Admin) la définition de votre réseau local. Ça permet au poste distant de mieux retrouver ses petits.

Ma plage est en 10.0.254.0, je l'ai donc définie comme plage privée dans mon VPN.

Une autre idée : dans les réglages du VPN côté client, vous pouvez forcer à envoyer tout le trafic réseau sur la connexion VPN distante. Attention : cela signifie que vos périphériques locaux ne fonctionneront plus…

En envoyant tout le trafic sur la connexion distante, vous augmentez les chances d'accéder à vos périphériques distants.

Voilà, vous savez tout. Mais vraiment, vraiment, si vous souhaitez limiter la casse, je vous invite à changer votre plage réseau si ce n’est pas déjà fait. Certes, cela demande une certaine planification pour les parcs importants, mais cela vous simplifiera certainement la vie dans le futur…

6 comments

  1. JC dit :

    Ca me rappelle la belle époque ou, sereinement, mon SysAdmin m’avait expliqué que NON il ne changerait pas la plage réseau du VPN et que je n’avais qu’à demander à l’hotel xx de changer son wifi…

  2. Macmedia dit :

    C’est exactement ce qui manquait dans ton livre au chapitre VPN « Mac OS X Snow Leopard Efficace ».
    Tu disais que tu n’avais malheureusement pas pu tout mettre dans ton livre, alors n’hésite pas à nous donner des suppléments comme ça, c’est excellent.

    Merci

  3. El Doctor dit :

    Oui, mais quid des entreprises où le VPN se fait sur le routeur, et pas sur le serveur? IPSecuritas est ton ami… gratuit.

  4. Newton dit :

    Vivement qu’IPv6 soit largement déployé pour que nous puissions une bonne fois pour toute arrêter d’avoir à traiter les problèmes liés à des recouvrements de plages d’adresses privées.
    D’ici là j’espére qu’Apple aura rendu plus simple la gestion des réseaux ipv6, dhcp et dns par exemple.

  5. Notmoebius dit :

    Bonjour,

    Je suis dans mon trip server avec un Mac Mini mais sans OSX Server.
    J’ai bien compris qu’il fallait avoir osx server pour avoir un un server VPN, mais si on a pas ce logiciel, quelles sont les possibilités ?

    Mon projet :
    – un mac mini qui fait office de serveur
    – un iMac qui sert à la famille
    – un iPad
    – un iphone 4
    Je souhaite connecter iPad et iPhone, en VPN vers mon mac mini.
    J’ai trouvé des tutos sur OpenVPN mais les mobiles iOs ne connaissent que IPSec, pptp et l2tp.

    Donc je cherche un VPN server à mettre sur le mac mini.
    Des suggestions ?