But : établir une connexion VPN en utilisant SSH en Ethernet entre 2 machines : serveur1 et client1

Pré-requis : un serveur OpenSSH installé sur une machine nommée serveur1 et bien configuré pour autoriser une autre machine nommée client1 à se connecter en tant qu’utilisateur USER_XXX

How-To :

– sur serveur1, en tant que root, mettre dans le fichier /etc/network/interfaces

auto tap9
iface tap9 inet static
pre-up tunctl -u USER_XXX -t $IFACE
post-down tunctl -d $IFACE
address 10.1.9.1
netmask 255.255.255.0

– sur client1, en tant que root, mettre dans le fichier /etc/network/interfaces

auto tap9
iface tap9 inet static
pre-up tunctl -u USER_XXX -t $IFACE
post-down tunctl -d $IFACE
address 10.1.9.2 netmask 255.255.255.0

– sur serveur1, en tant que root

. rajouter dans le fichier /etc/ssh/sshd_config

PermitTunnel ethernet
UsePrivilegeSeparation no

. redémarrer le serveur openssh

– sur client1, en tant qu’utilisateur USER_XXX

. rajouter dans le fichier /etc/ssh/ssh_config

Tunnel ethernet

. se connecter sur le serveur1 via openssh par la commande : ssh -w 9:9 serveur1

 => un tunnel VPN a bien été créé en utilisant les interfaces ethernet tap9 à la fois côté client et serveur (cf. la déclaration de ces interfaces dans les fichiers /etc/network/interfaces correspondants), avec côté serveur1 l’adresse IP 10.1.9.1 et côté client1 l’adresse IP 10.1.9.2

– les commandes ping 10.1.9.2 effectuée côté serveur1 et ping 10.1.9.1 effectuée côté client1 permettent de vérifier le fonctionnement de bout en bout du tunnel.