It-e.RU
Цифровой двигатель вашего бизнеса.

VPN через ssh туннель

VPN через ssh туннель

Сценариев необходимости такого туннеля достаточно много: начиная с работы в публичных не доверенных сетях, где необходимо беспокоиться о шифровании трафика, и заканчивая доступом в локальную сеть в ДЦ. Наличие полноценного впнсервера не всегда оправдано и необходимо.


На сервере ssh необходимо разрешить port forwarding и tunnelling:

AllowTcpForwarding yes
PermitTunnel yes

Можно это сделать для определенного пользователя или группы:

AllowTcpForwarding yes
PermitTunnel yes
. . . 
Match user max
   AllowTcpForwarding yes
   PermitTunnel yes
. . . 
Match group max
   AllowTcpForwarding yes
   PermitTunnel yes

То есть для всех запрещено, а вот состоящим в группе max и пользователю max - можно :)

Теперь настраиваю локальную машинку:

# ssh -f -w any sshvpn-ip true
# ifconfig tun0 192.168.230.2 192.168.2300.1 netmask 255.255.255.252

Сделал туннель и назначил адреса.

Назначил адреса на сервере:

# ifconfig tun0 192.168.230.1 192.168.230.2 netmask 255.255.255.252

Не забываем включать форвардинг:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Включит нат:

# iptables -t nat -A POSTROUTING -s 192.168.230.0/24 -d 0/0 -o eth0 -j MASQUERADE

Возвращаюсь на локальную машину и настраиваю правила маршрутизации:

# ip route add 10.0.0.0/8 via 10.1.1.1
# ip route change default via 192.168.230.2 dev eth0

Здесь я оставил сеть 10.0.0.0/8, тк она является транспортной для нас и, если маршрут до неё будет неверен, то соединение оборвётся. После этого заменил default gateway и начал получать трафик по ssh-туннелю.


Пожалуйста, уважайте труд автора, при копировании материалов сохраняйте ссылку на источник!

Комментарии (0)







Разрешённые теги: <b><i><br>Добавить новый комментарий: