84 lines
6.8 KiB
Markdown
84 lines
6.8 KiB
Markdown
---
|
||
date: 2026-04-24
|
||
type: project
|
||
tags: [dttb, vpn, clients, happ, amneziavpn, reality]
|
||
---
|
||
|
||
# VPN-клиенты — Реестр выданных доступов
|
||
|
||
Учёт людей, которым выдан клиентский VPN (Happ / AmneziaVPN). Отдельно от [[netbird-inventory]] (инфра) и [[vps-swtest]] (WG-хаб объектов Знаменского).
|
||
|
||
## Серверы-выходы
|
||
|
||
| Сервер | IP / FQDN | Тип | Клиент | Инструкция |
|
||
|--------|-----------|-----|--------|------------|
|
||
| Finland 5870 | `78.17.4.225:9443` | VLESS Reality + XTLS Vision | Happ | [[../../snippets/happ-vpn-client-instruction]] |
|
||
| Finland 5870 (AmneziaWG) | `78.17.4.225` | AmneziaWG (если поднят) | AmneziaVPN | [[../../snippets/amnezia-vpn-client-instruction]] |
|
||
| Finland HOSTKEY | `202.71.12.186:9443` | VLESS Reality + XTLS Vision | Happ | (доступ к серверу — уточнить, владельца записать в credentials) |
|
||
|
||
Подробности по Finland после инцидента: [[../../decisions/2026-04-24-finland-vps-malware-cleanup]]. SSH только по ключу.
|
||
|
||
## Клиенты
|
||
|
||
> Заполнять при каждой выдаче. Один клиент = одна строка; если человек пользуется на нескольких устройствах по одному UUID — перечислить через запятую. Если устройствам нужны разные UUID — отдельные строки с одним именем.
|
||
|
||
| # | Имя | Контакт | Устройства | Клиент-приложение | Сервер | UUID / ключ | Выдан | Истекает | Отозван | Заметки |
|
||
|---|-----|---------|------------|-------------------|--------|-------------|-------|----------|---------|---------|
|
||
| 1 | Ярослав | _уточнить_ | _уточнить_ | AmneziaVPN | Finland (AmneziaWG, предполож.) | `vpn://AAAIYXjanV…VC9O` — полный ключ в [[../../snippets/clients/yaroslav-amnezia-setup]] | 2026-04-24 | — | — | персональная инструкция [[../../snippets/clients/yaroslav-amnezia-setup]] |
|
||
| 1 | Ярослав | _уточнить_ | _уточнить_ | Happ | Finland HOSTKEY | UUID `c22b6e34-ceca-4977-97a0-2b1e6b4035a7` — полная ссылка в [[../../snippets/clients/yaroslav-happ-setup]] | 2026-04-29 | — | — | альтернативный канал к AmneziaVPN |
|
||
|
||
Шаблон строки — в [[../../templates/vpn-client]].
|
||
|
||
## Процедуры
|
||
|
||
### Выдать клиенту
|
||
|
||
1. Сгенерировать/взять UUID клиента (для Reality можно использовать общий, если устройство доверенное; для разделения — свой UUID на каждого).
|
||
2. Сформировать ссылку:
|
||
- **Happ (VLESS Reality)** — `vless://…`, можно + QR-картинка (см. assets в `snippets/assets/`)
|
||
- **AmneziaVPN** — `vpn://…`, **QR не использовать** (конфиг слишком длинный → нечитаемый QR). Только ссылка через буфер обмена или `.vpn` файл.
|
||
3. Сделать персональный файл-инструкцию в `snippets/clients/<имя>-<тип>-setup.md` с готовым текстом-для-мессенджера (см. пример [[../../snippets/clients/yaroslav-amnezia-setup]]).
|
||
4. Отправить готовый текст. Универсальные шаблоны: [[../../snippets/happ-vpn-client-instruction]] / [[../../snippets/amnezia-vpn-client-instruction]].
|
||
5. Записать строку в таблицу выше: имя, контакт, устройства, дата, UUID.
|
||
6. При необходимости приложить [[../../snippets/apple-id-us-on-russia]] — если у клиента российский App Store без Happ/AmneziaVPN.
|
||
|
||
### Отозвать клиента
|
||
|
||
**Reality (XRay/Sing-box):**
|
||
- SSH на сервер → конфиг `/usr/local/etc/xray/config.json` или amnezia-xray контейнера
|
||
- Убрать UUID из `inbounds[].settings.clients[]`
|
||
- `systemctl reload xray` или `docker restart amnezia-xray`
|
||
- Отметить в таблице «Отозван: YYYY-MM-DD»
|
||
|
||
**AmneziaWG / WireGuard:**
|
||
- Убрать `[Peer]` блок из `wg0.conf`
|
||
- `wg syncconf wg0 <(wg-quick strip wg0)` — атомарно, без обрыва остальных
|
||
- Записать отзыв в таблицу
|
||
|
||
### Ротация ключей
|
||
|
||
- Раз в ~6 мес или при подозрении на утечку — новый UUID всем активным клиентам
|
||
- Массовую рассылку отправлять одним сообщением со ссылкой на новую версию инструкции
|
||
- Старый UUID удалить с сервера после подтверждения перехода (неделя окна)
|
||
|
||
### При потере QR клиентом
|
||
|
||
- QR-картинка — в `snippets/assets/vpn-<сервер>-YYYYMMDD.png`. Переотправить.
|
||
- Если QR сгенерирован только в голове — пересобрать из `vless://` строки через `qrencode -o file.png 'vless://…'`.
|
||
|
||
## Roadmap / Что ещё
|
||
|
||
- [ ] Завести второй резервный сервер-выход (не Finland) — сейчас единая точка отказа
|
||
- [ ] Скрипт `vpn-clients-health.sh` — дёргает активные UUID на сервере и сверяет с таблицей (находит осиротевшие/забытые)
|
||
- [ ] Telegram-уведомление когда новый клиент заходит впервые (вместо ручного подтверждения)
|
||
- [ ] Рассмотреть biling, если часть клиентов станет коммерческой — пока все бесплатно для родни/знакомых
|
||
- [ ] Ограничение по устройствам на UUID (в XRay это настраивается через `level`) — для чужих людей имеет смысл
|
||
|
||
## Ссылки
|
||
|
||
- [[../../snippets/happ-vpn-client-instruction]] — готовый текст для отправки (Happ, Finland Reality)
|
||
- [[../../snippets/amnezia-vpn-client-instruction]] — готовый текст для отправки (AmneziaVPN)
|
||
- [[../../snippets/apple-id-us-on-russia]] — если у клиента RU App Store без VPN-приложений
|
||
- [[../../decisions/2026-04-24-finland-vps-malware-cleanup]] — инцидент, режим доступа к серверу
|
||
- [[netbird-inventory]] — инвентарь Netbird-пиров (не путать)
|