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

Destination : Debian

Commandes

root@host:~# apt-get install uml-utilities
root@host:~# systemctl status uml-utilities.service
root@host:~# echo 1 | tee /proc/sys/net/ipv4/ip_forward
root@host:~# ip addr add 10.110.0.100/32 peer 10.110.0.200 dev tun0
root@host:~# ip link set tun0 up
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

Commandes

root@host:~# ssh -Nf -w 0:0 -p 22 root@1.1.1.1
root@host:~# ip addr add 10.110.0.200/32 peer 10.110.0.100 dev tun0
root@host:~# ip link set tun0 up
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 :