Обзор инфраструктуры¶
Архитектура¶
┌─────────────────────────────────────┐
│ 212.70.189.60 │
Users ──────────────────>│ Nginx (reverse proxy / jump host) │
└───────────────┬─────────────────────┘
│ internal 10.99.87.x
┌───────────────▼─────────────────────┐
│ 10.99.87.249 │
│ Backend (Java Spring Boot :8080) │
│ VPN Config Service (Python :8000) │
└───┬───────────┬────────────────┬─────┘
│ │ │
┌─────────────▼──┐ ┌─────▼──────┐ ┌────▼────────────────┐
│ 10.99.87.62 │ │ 10.99.87.5 │ │ VPN Servers │
│ MySQL (8.0) │ │ Grafana │ │ ~56 active (XUI) │
│ │ │ │ │ 20 Remnawave nodes │
└────────────────┘ └────────────┘ │ 16 WL proxies │
└─────────────────────┘
graph LR
Users --> Proxy["212.70.189.60<br/>Nginx Proxy"]
Proxy --> Backend["10.99.87.249<br/>Backend + VCS"]
Backend --> DB["10.99.87.62<br/>MySQL"]
Backend --> VPN["VPN Servers<br/>~56 XUI active"]
Backend --> WL["WL Proxies<br/>16 servers"]
VPN --> RMW["Remnawave<br/>25 nodes"]
Компоненты¶
Backend (10.99.87.249)¶
- Java Spring Boot — основной API, управление аккаунтами, подписки, Keycloak-авторизация
- VPN Config Service (Python FastAPI) — синхронизация конфигов на VPN-серверы через SSH, health check, трафик
- Деплой: blue-green (
vpn-back-blue:8080/vpn-back-green:8081) - VPN Config Service: GitLab CI/CD, ручной триггер
deploy_prod
База данных (10.99.87.62)¶
- MySQL 8.0 — основная БД (
vpn), аккаунты, серверы, платежи
Redis (10.99.87.249)¶
- Redis — auth сессии, кэш, очереди задач (на сервере backend)
Мониторинг (10.99.87.5)¶
- Grafana — дашборды, 26 алертов (13 VPN + 4 Infra + 9 Business)
- Prometheus метрики с VPN Config Service и Backend
Панели управления¶
- Admin Panel (10.99.87.64:80) — управление серверами, аккаунтами, пользователями
- Keycloak — SSO-авторизация для Backend и Admin Panel
VPN-серверы¶
- ~56 активных серверов с 3x-ui / XUI (XRAY-core)
- 25 нод Remnawave (миграция с XUI, используют gRPC+mTLS)
- 16 WL-прокси (nftables DNAT, проксируют RU IP через EU VPN для обхода whitelist)
Полный инвентарь: серверный инвентарь (GitLab: shivavpn monorepo, 259 серверов всего, включая выведенные)
Провайдеры¶
| Провайдер | Назначение |
|---|---|
| MonoVM | основной пул VPN-серверов (~60% парка) |
| TheHosting | VPN-серверы в Европе, Азии, СНГ |
| DataPacket | выделенные серверы (UK, DE, CA, PL, FR, BR, JP) |
| VDSina | серверы в России |
| VK Cloud | WL-прокси (nftables DNAT) + инфраструктурные серверы (внутренняя сеть) |
| Yandex Cloud | API proxy (резерв) + инфраструктурные серверы |
Сети¶
| Сеть | Назначение |
|---|---|
10.99.87.x |
внутренняя сеть приложений (Backend, DB, Grafana, Admin) |
212.70.189.60 |
публичный IP прокси/jump host |
212.70.189.61 |
GitLab Runner, dev-среда |
Доступ¶
SSH во внутреннюю сеть — только через jump host:
# Канонический способ (рекомендуется)
./scripts/ssh-internal.sh 10.99.87.249 # Backend + VPN Config Service
./scripts/ssh-internal.sh 10.99.87.62 # MySQL
./scripts/ssh-internal.sh 10.99.87.5 # Grafana
./scripts/ssh-internal.sh 10.99.87.64 # Admin Panel
# Вручную
ssh root@10.99.87.249 -J root@212.70.189.60:2255
VPN-серверы — напрямую по публичному IP:
Домены и РКН
Часть доменов ShivaVPN заблокирована из России. Подробности: Домены и блокировки РФ.
Admin Panel доступна только по внутреннему IP http://10.99.87.64.
См. также: IP-адреса · Конфигурация сервисов · Инвентарь серверов · Доступы и SSH · DevOps скрипты · Домены и РКН