Можно ли подключиться к VPN через обратный туннель SSH?
Скажем, у меня есть две машины, обе работают под Linux;
На машине A работает VPN-сервер и он находится за NAT.
Машина B является VPN-клиентом.
Машина A создает обратный туннель SSH от себя до машины B, открывая порт на машине B, который подключается обратно к VPN, работающей на машине A.
Как я могу подключиться к VPN-серверу машины A с машины B через обратный туннель SSH?
2 ответа
Туннель SSH работает только с TCP, поэтому ваш VPN-сервер должен быть настроен на использование TCP для соединений. Вы подключаете конечную точку туннеля на компьютере B так же, как подключаетесь к компьютеру A. Другими словами, просто замените IP-адрес и порт назначения в конфигурации клиента.
Предположим, у нас есть такая установка:
- Машина B имеет общедоступный домен Machine.b, а порт 22 будет иметь доступ к SSH-серверу машины B.
- Машина А имеет локальный 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] -p 22
- Машина Б устанавливает VPN-соединение с 127.0.0.1:2500.
В результате соединение от машины B к порту 2500 локального хоста (127.0.0.1) будет перенаправлено через SSH-туннель на порт 1194 с адресом 192.168.10.20 на машине A, который является VPN-сервером машины A.
Я всегда использую эту настройку в качестве собственного VPN-сервера на случай, если VPN компании находится на обслуживании.