Home

Tags

Использование SSH как VPN

2014-10-26 ssh vpn

Проверено на ubuntu 14.04

Цель: Сделать туннель в удаленную сеть через

1) Желательно сделать авторизацию по ключам от локального root в root на сервере. Root нужен для того что-б OpenSSH мог создать tun интерфейс (хотя есть возможность использовать авторизацию по паролю).

2) На сервере нужно в /etc/ssh/sshd_config добавить строку

PermitTunnel point-to-point
и перезагрузить OpenSSH сервер
service ssh restart

3) Поднимаем туннель, выполняем на сервере от root:
ifconfig tun0 10.0.0.1/30 pointopoint 10.0.0.2
sysctl -w net.ipv4.ip_forward="1"
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Выполняем на клиенте:
ssh -p 22 root@8.8.8.8 -w 0:0 -N
ifconfig tun0 10.0.0.2/30 pointopoint 10.0.0.1
route add -net 192.168.4.0 netmask 255.255.255.0 dev tun0

10.0.0.1/10.0.0.2 - устанавливаем адреса сервера и клиента для tun интерфейса
8.8.8.8 - адрес сервера
-w 0:0 - создает tun0 и tun0 на сервере
192.168.4.0 - пробрасываем 192.168.4.0/24 подсеть в tun0

Готово, теперь удаленная подсеть 192.168.4.0/24 должна быть доступна на клиенте.

Туннелирование через ssh (проброс порта)