[2026-09-02] eagle: family/how-to/truenas-infrastructure.md family/how-to/truenas-infrastructure.md.bak-per-user-20260902-1229 personal/tech/xray-reverse-tunnel-kraken-truenas.md personal/tech/xray-reverse-tunnel-kraken-truenas.md.bak-per-user-20260902-1229

This commit is contained in:
Alexey Martemyanov
2026-09-02 12:35:46 +06:00
parent 6aa2e81fd9
commit 5d8ba5d61b
4 changed files with 953 additions and 3 deletions
@@ -380,6 +380,48 @@ TrueNAS:
Rollback network fix: вернуть compose-бэкап на Kraken и выполнить `docker compose up -d`. Это вернёт нерабочий Docker bridge mode, поэтому делать только для диагностики/отката.
## ✅ Per-user egress на `vpn.mallexxx.duckdns.org` (2026-09-02)
В существующий VLESS-WS inbound `in-10095-tcp` добавлен второй клиент. Маршрутизация теперь различает клиентов по `email`:
| Client email | Client ID | Egress |
|---|---|---|
| `user1` | `ce320965-6956-4759-84bb-7cb71cfc6252` | `direct` → TrueNAS `90.189.160.148` |
| `kraken-user` | `93a5dc4b-1b8d-4af5-9363-eb0091734293` | `via-kraken` → portal SOCKS `xray-reverse-portal:12345` → Kraken `92.62.70.41` |
В persistent 3x-ui Xray template (`settings.key = xrayTemplateConfig`) добавлен SOCKS outbound:
```json
{
"protocol": "socks",
"tag": "via-kraken",
"settings": {
"address": "xray-reverse-portal",
"port": 12345
}
}
```
После глобальных `geoip:private -> blocked` и `bittorrent -> blocked` добавлено правило:
```json
{
"type": "field",
"user": ["kraken-user"],
"outboundTag": "via-kraken",
"ruleTag": "kraken-user-via-reverse"
}
```
Проверка одним и тем же локальным Docker-клиентом `xray-test-client`, менялся только client ID:
- `user1` → HTTPS `api.ipify.org``90.189.160.148` (TrueNAS direct).
- `kraken-user` → HTTP и HTTPS `api.ipify.org``92.62.70.41` (Kraken reverse).
Локальный `/Users/admin/xray-test/config.json` оставлен на `kraken-user`. Бэкап direct-клиента: `/Users/admin/xray-test/config.json.bak-user1-direct-20260902-1227`.
Бэкапы TrueNAS до и после изменения: `/mnt/RED_2TB/docker/backups/xray-per-user-20260902-1200/` (`x-ui.db`, `x-ui.post-change.db`, runtime configs, reverse portal config/compose). Temporary full-admin API token **не создавался**; `api_tokens` осталась пустой.
## Связанные заметки
- [[family/how-to/vps-qentra]] — VPS на 2026-09-01 УДАЛЁН
- [[family/how-to/truenas-infrastructure]] — TrueNAS Caddy/контейнеры