logo rss

Comment mettre en place un VPN avec SSH

Intro

J'ai eu besoin d'avoir accès à un réseau complet dont le seul point d'entrée était un serveur ssh. J'ai donc utilisé les outils ssh pour établir un tunnel VPN.

Network diagram

architecture d'un tunnel vpn ssh entre une machine debian et une machine archlinux sur deux réseaux distants

Destination : Debian

  • eth0 : 192.168.1.10/24
  • tun0 : 10.110.0.100/32

Commandes

  • On installe les paquets nécessaires pour la création de notre interface tun0
root@host:~# apt-get install uml-utilities
  • On vérifie que le service est activé
root@host:~# systemctl status uml-utilities.service
  • On active l'ip forward (routage)
root@host:~# echo 1 | tee /proc/sys/net/ipv4/ip_forward
  • Paramétrage de l'addresse ip de l'interface tun0
root@host:~# ip addr add 10.110.0.100/32 peer 10.110.0.200 dev tun0
  • Activation de l'interface tun0
root@host:~# ip link set tun0 up
  • Paramétrage du netfilter masquerading pour pouvoir joindre le réseau 192.168.1.0/24
root@host:~# iptables -t nat -A POSTROUTING -d 192.168.1.0/24 -o eth0 -j MASQUERADE

/etc/ssh/sshd_config

PermitRootLogin yes
PermitTunnel yes
root@host:~# systemctl restart sshd

Source : Archlinux

  • eth0 : 192.168.2.10/24
  • tun0 : 10.110.0.200/32

Commandes

  • -w local_tun[:remote_tun] : On précise la relation entre nos interfaces tun source et destination
  • -N : N'exécute aucune commande distante
  • -f : Demande à ssh de basculer en arrière-plan juste avant d'exécuter la commande
root@host:~# ssh -Nf -w 0:0 -p 22 root@1.1.1.1
  • Paramétrage de l'addresse ip de l'interface tun0
root@host:~# ip addr add 10.110.0.200/32 peer 10.110.0.100 dev tun0
  • Activation de l'interface tun0
root@host:~# ip link set tun0 up
  • Paramétrage de la route vers le réseau 192.168.1.0/24
root@host:~# ip route add 192.168.1.0/24 via 10.110.0.100

Sources

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

adresse mail de contact