VPN-туннель V2Ray и SSH: схема, конфиг и port forward

Macbook Pro on Brown Wooden Table

Связка V2Ray (VMess и другие протоколы) + SSH-туннель: рабочий способ вынести локальный SOCKS/HTTP-прокси за шифрованный SSH-канал или собрать доступ к удалённому прокси через port forwarding. Ниже схема, минимальный конфиг, local forward и наброски для Ubuntu, Windows и Android.

Материал технический: для админов и разработчиков, у которых уже есть свой сервер и понимание, зачем им прокси. Не разворачивайте чужие «готовые конфиги» без аудита. UUID, ключи и порты должны быть вашими.

V2Ray: кратко

V2Ray: платформа прокси с несколькими протоколами и гибкой маршрутизацией. Типичные куски:

  • Core: ядро, inbounds/outbounds, routing.
  • Протоколы: VMess, VLESS, Shadowsocks, SOCKS, HTTP и др. (набор зависит от сборки; часто смотрят и Xray-core как совместимую ветку).
  • Routing: правила по домену, IP, процессу; split-tunneling без «весь трафик в одну трубу».

Минимальный пример config (идея)

Локальный SOCKS inbound + outbound VMess на удалённый узел. UUID и адрес: свои:

{
  "inbounds": [{
    "port": 1080,
    "protocol": "socks",
    "settings": {
      "udp": true
    }
  }],
  "outbounds": [{
    "protocol": "vmess",
    "settings": {
      "vnext": [{
        "address": "example.com",
        "port": 443,
        "users": [{
          "id": "your-uuid-here",
          "alterId": 0
        }]
      }]
    }
  }]
}

UUID:

uuidgen

В современных схемах alterId обычно 0 (AEAD). Реальный прод-конфиг чаще включает TLS, WebSocket/gRPC, path и нормальный routing. Это уже отдельная тема под вашу сеть.

SSH: зачем в этой схеме

SSH даёт зашифрованный канал и port forwarding. Типичный сценарий: на сервере слушает V2Ray (SOCKS на 1080, только localhost), а с клиента вы пробрасываете порт к себе:

ssh -L 8080:localhost:1080 user@server_ip

После этого на клиенте 127.0.0.1:8080 это SOCKS/сервис на сервере. Браузер или приложение смотрит в локальный 8080, наружу идёт SSH.

  • Шифрование: трафик SSH-сессии закрыт.
  • Local/Remote/Dynamic forward: -L, -R, -D (динамический SOCKS только на SSH, без V2Ray).
  • Ключи: вход по ключу вместо пароля, по возможности disable password auth.

Ubuntu: сервер

Пакеты (имена зависят от репозитория; часто ставят бинарь с GitHub-релизов V2Ray/Xray):

sudo apt update
sudo apt install -y openssh-server
# v2ray: из официального install-скрипта или пакета вашей сборки
# пример при наличии пакета:
# sudo apt install -y v2ray

Конфиг: в путь вашей установки (часто /etc/v2ray/config.json или unit Xray), затем:

sudo systemctl enable --now v2ray
# или: sudo systemctl enable --now xray
sudo systemctl status v2ray

Для SSH-forward на сервере в /etc/ssh/sshd_config обычно достаточно:

AllowTcpForwarding yes
# GatewayPorts yes: только если осознанно открываете bind на внешние интерфейсы
sudo systemctl reload sshd

Если V2Ray слушает только 127.0.0.1:1080, снаружи порт 1080 можно не открывать: доступ через SSH -L.

Windows: клиент

  • GUI-клиент, например v2rayN: профиль с адресом, портом, UUID, протоколом.
  • SSH local forward: OpenSSH в Windows (ssh -L ...) или PuTTY (Connection → SSH → Tunnels).
  • Если прокси доступен только через туннель: сначала SSH, потом приложение на 127.0.0.1:локальный_порт.

Android: клиент

  • Клиент вроде V2rayNG: импорт ссылки/QR или ручной профиль (UUID, host, port, protocol).
  • SSH-туннель: JuiceSSH, Termux+OpenSSH и аналоги. Local forward на loopback, затем системный или прокси-клиент на этот порт.

На мобильных сетях battery optimization может рвать долгие SSH-сессии: keep-alive (ServerAliveInterval) или отдельный VPN/прокси-клиент без вечного SSH, если схема позволяет.

Практика и безопасность

  • Порты: firewall. Снаружи SSH (лучше не 22 или с allowlist), V2Ray/TLS-порт по вашей схеме; SOCKS на localhost.
  • Ключи SSH:
ssh-keygen -t ed25519 -a 64
# rsa допустим, ed25519 предпочтительнее на современных системах
ssh-copy-id user@server_ip
  • Мониторинг: кто слушает и куда ходит:
ss -tlnp | grep -E '1080|8080|22'
journalctl -u v2ray -f
  • Не светите panel/UUID в публичных репозиториях; ротируйте ключи при утечке.
  • Только свой сервер: чужие «бесплатные ноды» = чужой MITM к вашему трафику.

Когда что выбирать

  • Только SSH -D: быстрый динамический SOCKS без V2Ray, для админки и лёгкого трафика.
  • V2Ray/Xray напрямую: когда нужны VMess/VLESS+TLS, routing, обход простых DPI-сценариев на уровне протокола.
  • V2Ray + SSH -L: когда inbound на сервере закрыт localhost, а наружу открыт только SSH.

Кратко

V2Ray даёт протоколы и routing, SSH: проверенный зашифрованный канал и port forward. Рабочая схема: прокси слушает localhost на VPS, клиент поднимает ssh -L (или нативный клиент V2Ray), приложения ходят в 127.0.0.1. Держите ключи, firewall и свои UUID; не копируйте чужие production-конфиги вслепую.

Источники и ссылки


Комментарии загружаются…