Допустим, у меня есть две машины, обе работают под управлением Linux;
На машине A запущен VPN-сервер, и она находится за NAT.
Машина B — VPN-клиент.
Машина A создает обратный туннель SSH от себя к машине B, открывая порт на машине B, который подключается к VPN, работающей на машине A.
Как подключиться к VPN-серверу машины A с машины B через обратный туннель SSH?
решение1
SSH-туннель работает только с TCP, поэтому ваш VPN-сервер должен быть настроен на использование TCP для подключений. Вы подключаете конечную точку туннеля на машине B так же, как вы подключаетесь к машине A. Другими словами, просто замените IP-адрес и порт назначения в конфигурации клиента.
решение2
Предположим, у нас есть такая установка:
- Машина B имеет общедоступный домен machine.b, а порт 22 будет иметь доступ к SSH-серверу машины B.
- Машина A имеет локальный IP-адрес 192.168.10.2, а ее VPN-сервер использует порт 1194.
Шаги по настройке VPN-подключения через обратное SSH-подключение:
- Машина A устанавливает SSH-соединение с машиной B с помощью этой команды: ssh -i "/path/to/key/file" -R 2500:192.168.10.2:1194[email protected]-п 22
- Машина B устанавливает VPN-подключение к 127.0.0.1:2500
В результате подключение от машины B к порту 2500 локального хоста (127.0.0.1) будет перенаправлено через туннель SSH на порт 1194 192.168.10.20 на машине A, который является VPN-сервером машины A.
Я всегда использую эту настройку в качестве своего VPN-сервера DIY на случай, если VPN компании находится на техническом обслуживании.