Skip to main content

Настройка VPN через туннель к VPS

Окружение для настройки.

  • Имеется VPS с выделенным IP где-то в Европе. Там стоит Linux, в моем случае это Ubuntu. Нужно иметь на сервер права администратора. Сервер должен принимать соединения по ssh.
  • Машина с Windows 10 или 11.
  • VPS должен быть виден через ваше интернет-соединение. В моем случае у меня было два интернет-подключения: через мобильное соединение VPS виден не был, через проводное соединение видимость была.
  • Не должно быть работающих VPN-соединений.

Установка туннеля.

Нужно открыть windows Power Shell от лица администратора. 

В windows PowerShell нужно подключиться к вашему VPS:

ssh -D 0.0.0.0:1080 -N root@[IP_your_vps]

Windows может попросить подтвердить использование туннеля.

Если у вас нет ключа доступа к VPS, то потребуется ввести пароль для root.

Сессия откроется, это окно PowerShell нужно оставить открытым, оно "зависнет", то есть через туннель пойдет обмен.

Откройте другое окно Power Shell с обычными правами. Проверка соединения:

curl.exe --proxy socks5h://127.0.0.1:1080 https://api.ipify.org

Команда должна показать IP вашего VPS.

В настройках Windows есть раздел "proxy" его можно использовать  для включения обмена, но с оговорками. Нужно иметь в виду, что туннель открывается только для протокола socks, для протоколов http и https он не работает. В поле "Proxy IP address"  нужно прописать 

socks=127.0.0.1:1080

в поле для значения порта ничего быть не должно.

После того, как вы запишите эти настройки, они корректно пропишутся в реестр windows, но при редактировании оттуда будут взяты неверные значения. при повторной записи работа прокси сломается, ниже пример того, как интерпретирует эти настройки интерфейс windows:

proxy-2.jpg

для корректной настройки лучше пользоваться PowerShell, чтобы посмотреть настройки используйте команду

 Get-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings'

для установки протокола socks:

Set-ItemProperty 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings' ProxyServer 'socks=127.0.0.1:1080'

Нужно иметь в виду, что с таким proxy в вашем случае будут работать только те приложения, которые используют протокол socks. 

Не все приложения Windows используют системный SOCKS-прокси.

Например:

  • браузеры обычно умеют
  • некоторые программы используют WinINET/WinHTTP
  • некоторые (включая часть Electron/Node-приложений) игнорируют системный SOCKS и требуют отдельной настройки