Tunneling

Tunneling pour étendre son réseau

Etendre son réseau ?

Par étendre son réseau, nous entendons plus particulièrement étendre son réseau local d'entreprise par exemple. On appele cela un VPN (Virtual Private Network). L'idée est de relier différents LAN à travers Internet, ceci dans le but d'étendre les fonctionnalités d'un LAN à différents sites.

Plusieurs choix s'offrent à nous. Par exemple nous pourrions utiliser des liaisons louées, cependant ces dernières restent assez onéreuses. Sinon nous pouvons tunneliser le trafic IP de notre LAN, ceci au dessus d'une suite de protocoles apportant une couche de sécurité


Exemples de solutions existantes

Il existe de nombreuses solutions permettant de créer facilement et rapidement des VPN. Nous allons voir les impacts sur le modèle OSI pour quelques solutions existantes.


Une solution simple et intuitive, mais pas sécurisée IP/IP:



D'autres solutions sur protocole de transport GRE , IPSec avec Nat Traversal:



Une solution basé sur un protocole applicatif (très scalable) OpenVPN:



La simplicité de mise en oeuvre de GRE

Nous allons voir qu'il est très simple de créer un tunnel GRE pour faire circuler les paquets IP de notre LAN au dessus. A noter que GRE permet aussi de faire circuler du multicast, ce qui devient vite intéressant lorsque des routeurs OSPF, par exemple, doivent pouvoir communiquer au travers d'un VPN.

Pour créer une interface tunnel sur Linux, l'outil le plus utilisé est iptunnel. On l'utilise comme suit:

iptunnel add tunX mode gre remote X.X.X.X local Y.Y.Y.Y ttl 1

Nous avons juste à effectuer la commande miroir sur le routeur "remote" puis modifier les tables de routages en conséquence. TunX représente l'interface tunnel que nous allons créer. Il convient de l'adresser IP avec l'outil ifconfig.