From fa362e78d1c11810717475eaaf1b741909a671f0 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Tue, 1 Sep 2026 10:41:36 +0600 Subject: [PATCH] [2026-09-01] eagle: family/how-to/kraken-access.md family/how-to/truenas-infrastructure.md family/how-to/vps-qentra.md family/how-to/wireguard-vpn.md personal/tech/xray-reverse-tunnel-kraken-truenas.md --- family/how-to/kraken-access.md | 6 +- family/how-to/truenas-infrastructure.md | 9 +- family/how-to/vps-qentra.md | 16 ++- family/how-to/wireguard-vpn.md | 7 +- .../xray-reverse-tunnel-kraken-truenas.md | 101 ++++++++++++++++++ 5 files changed, 131 insertions(+), 8 deletions(-) create mode 100644 personal/tech/xray-reverse-tunnel-kraken-truenas.md diff --git a/family/how-to/kraken-access.md b/family/how-to/kraken-access.md index 2c897695..ee0e5f88 100644 --- a/family/how-to/kraken-access.md +++ b/family/how-to/kraken-access.md @@ -1,15 +1,15 @@ # Kraken — Внешний доступ -> Обновлено: 2026-06-24 +> Обновлено: 2026-09-01 ## Как зайти Везде `ssh kraken`. Резолвится через `~/.ssh/config` на Eagle: - **Дома** — напрямую по LAN (`192.168.1.15`) -- **Снаружи** — через WireGuard (`10.99.1.2`, VPN поднимается автоматически `wg-auto.sh`) +- **Снаружи** — ⚠️ через WireGuard (`10.99.1.2`) **БОЛЬШЕ НЕ РАБОТАЕТ**: VPS-узло (10.99.0.1/10.99.1.1) qentra.top **удалили 2026-09-01**. Пока нет альтернативы внешнему доступу к Kraken (см. [[tech/xray-reverse-tunnel-kraken-truenas]] — план). -WireGuard split-tunnel: Eagle (10.99.0.2) ↔ VPS ↔ Kraken (10.99.1.2). Подробнее: [[wireguard-vpn]]. +WireGuard split-tunnel: Eagle (10.99.0.2) ↔ VPS ↔ Kraken (10.99.1.2). Подробнее: [[wireguard-vpn]]. **⚠️ VPS-звено мертво на 2026-09-01.** ## Portainer (локально) diff --git a/family/how-to/truenas-infrastructure.md b/family/how-to/truenas-infrastructure.md index 04739411..7e098a65 100644 --- a/family/how-to/truenas-infrastructure.md +++ b/family/how-to/truenas-infrastructure.md @@ -1,6 +1,13 @@ # TrueNAS — инфраструктура -> Обновлено: 2026-08-31 (cups-splix mDNS-фикс завершён; docker поднят) +> Обновлено: 2026-09-01 (VPS qentra удалён — vless-proxy outbound мёртв; 443=Caddy, не Xray) + +> ## ⚠️ ПРИОРИТЕТ 2026-09-01: VPS qentra.top УДАЛЁН → vless-proxy и сетевые туннели сломаны +> - **VPS `91.207.28.205` больше НЕ существует** (вся его Xray/OpenVPN/WG-инфраструктура утрачена). Подробно: [[family/how-to/vps-qentra]]. +> - **Контейнер `vless-proxy`** (teddysun/xray): inbound SOCKS `0.0.0.0:1080` + HTTP `0.0.0.0:1081`, но **outbound ⇒ мёртвый `v.qentra.top:443`** (VLESS+WS+TLS, path `/qentra`, id `2D9F24C4-21FE-4784-9843-F11C384DA67A`). ⇒ Hermes-Taiga (ходит через `vless-proxy:1080`) **сейчас БЕЗ рабочего прокси**. +> - **⚠️ На `mallexxx.duckdns.org:443` НЕ Xray**, а обычный **Caddy/nginx с валидным Let's Encrypt сертификатом** для `mallexxx.duckdns.org` (проверено `openssl s_client` 2026-09-01). Память «на 443 висел Xray server» — не подтвердилась. +> - **Наружу открыты только 22 (SSH) и 443 (HTTPS/TLS)** с Kraken; `8443/8964/8080/9000` closed. +> - **План замены** (выход клиентов сети TrueNAS через Kraken, Xray reverse — НЕ внедрён): [[personal/tech/xray-reverse-tunnel-kraken-truenas]]. > ## ✅ СТАТУС на 2026-08-25: пул ONLINE, docker поднят, почти все контейнеры Up > **Пул RED_2TB пересоздан (2026-08-21) и работает:** `zpool status` ONLINE, rsync возврата данных завершён, `/mnt/RED_2TB/` смонтирован. diff --git a/family/how-to/vps-qentra.md b/family/how-to/vps-qentra.md index 4bb2e18c..76f460f1 100644 --- a/family/how-to/vps-qentra.md +++ b/family/how-to/vps-qentra.md @@ -1,20 +1,30 @@ --- title: VPS qentra.top created: '2026-05-24' -updated: '2026-05-27' +updated: '2026-09-01' type: tech namespace: personal tags: [infra, vps] confidence: medium +status: retired related: + - "[[tech/xray-reverse-tunnel-kraken-truenas]]" - "[[tech/kraken-network]]" - "[[tech/wireguard-vpn]]" --- # VPS qentra.top -**IP:** 91.207.28.205 -**Stack:** nginx + Python 3.11, Cloudflare proxy +> ## ⛔ УДАЛЁН на 2026-09-01 +> **VPS `91.207.28.205` (qentra.top) больше НЕ существует.** Вся инфраструктура на нём (nginx, Xray/VLESS+REALITY, x-ui panel, OpenVPN, WebSocket v.qentra.top, backup-скрипты, nolvu/panel vhosts) — утрачена вместе с сервером. +> **Следствия:** +> - На TrueNAS контейнер `vless-proxy` (teddysun/xray) outbound указывает на `v.qentra.top:443` → **сейчас мёртв**. Hermes-Taiga (SOCKS5 через `vless-proxy:1080`) **без рабочего прокси**. +> - WireGuard Eagle↔VPS↔Kraken: VPS-звено мёртво. +> - Rasputin-роутер VLESS-туннель (`188.239.191.235` / node3.sysnx.net) — это ДРУГОЙ сервер (не qentra), не трогать. +> - Замена для выхода клиентов сети TrueNAS → Kraken: см. **[[tech/xray-reverse-tunnel-kraken-truenas]]** (план Xray reverse, НЕ внедрён). + +**IP:** 91.207.28.205 *(недоступен с 2026-09-01)* +**Stack:** nginx + Python 3.11, Cloudflare proxy *(исторические данные ниже)* **Panels:** https://panel.qentra.top (x-ui, проксируется nginx на 8443 → 5430), v.qentra.top:8964 ## Subdomain Setup diff --git a/family/how-to/wireguard-vpn.md b/family/how-to/wireguard-vpn.md index 007417a7..a39a6493 100644 --- a/family/how-to/wireguard-vpn.md +++ b/family/how-to/wireguard-vpn.md @@ -1,7 +1,10 @@ # WireGuard VPN — Eagle ↔ Kraken > Создано: 2026-05-14 -> Статус: ✅ работает +> Статус: ⚠️ **СЛОМАНО на 2026-09-01** — VPS-узло (10.99.0.1/10.99.1.1) **удалён** вместе с qentra.top. +> Вся hub-and-spoke топология (wg-quick@wg0/wg1, SNAT, dnsmasq-резолвинг `kraken`, nftables forward) жила на VPS и **утрачена**. `ssh kraken` с Eagle извне через WG больше не работает. +> Альтернатива для внешнего доступа к Kraken на 2026-09-01: reverse-SSH туннель через VPS-заменитель не существует; локально дома — напрямую по LAN 192.168.1.15 (см. [[kraken-access]]). План замены сети: [[tech/xray-reverse-tunnel-kraken-truenas]]. +> ⚠️ **Дома Eagle подключается к Kraken напрямую по LAN** (wg-auto.sh детектит домашний роутер и делает `wg-quick down`) — это направление работает. Проблема только во внешнем (не-дома) подключении. ## Топология @@ -10,6 +13,8 @@ Eagle (10.99.0.2) ←→ wg0 VPS (10.99.0.1) ←→ wg1 VPS (10.99.1.1) ←→ K :51820 :51821 ``` +> ⚠️ Топология выше — ИСТОРИЧЕСКАЯ, VPS-звено мертво. + Два интерфейса на VPS чтобы избежать hairpin forwarding. FORWARD идёт wg0→wg1, SNAT меняет src Eagle на `10.99.1.1`. --- diff --git a/personal/tech/xray-reverse-tunnel-kraken-truenas.md b/personal/tech/xray-reverse-tunnel-kraken-truenas.md new file mode 100644 index 00000000..1c5fbd98 --- /dev/null +++ b/personal/tech/xray-reverse-tunnel-kraken-truenas.md @@ -0,0 +1,101 @@ +--- +title: Xray Reverse Tunnel — Kraken ↔ TrueNAS +created: '2026-09-01' +updated: '2026-09-01' +type: tech +namespace: personal +tags: [xray, reverse, kraken, truenas, tunnel, networking] +confidence: medium +related: + - "[[family/how-to/vps-qentra]]" + - "[[family/how-to/truenas-infrastructure]]" + - "[[family/how-to/kraken-access]]" + - "[[family/how-to/rasputin-router]]" +--- + +# Xray Reverse Tunnel — Kraken ↔ TrueNAS + +> **Статус: ПЛАН (согласовано направление с Alex, НЕ внедрено).** 2026-09-01. +> Архитектурное решение: проксировать исходящий трафик локальных клиентов сети TrueNAS через **TrueNAS → Kraken → интернет**. + +## Контекст / Почему + +- **VPS qentra.top (91.207.28.205) УДАЛЁН** — вся прежняя Xray-инфраструктура на нём (VLESS+REALITY, OpenVPN, WebSocket v.qentra.top) больше не существует. +- Нужен новый путь для выхода локальных клиентов сети TrueNAS в интернет через другую точку выхода (Kraken). +- Белый IP есть только у **TrueNAS** (`mallexxx.duckdns.org` = `90.189.160.148`). +- **Kraken за NAT**, входящие не принимает — только исходящие соединения. + +## Принятая схема + +``` +Локальные клиенты (сеть TrueNAS, 192.168.2.x) + │ шлют трафик на локальный прокси TrueNAS (SOCKS 1080 / HTTP 1081) + ▼ +TrueNAS ←── контроллер / bridge (белый IP, mallexxx.duckdns.org), принимает + │ TrueNAS заворачивает трафик в reverse-канал + ▼ ▲ +Kraken ──┘ держит ИСХОДЯЩИЙ reverse-канал к TrueNAS, отпускает трафик → интернет + ▼ +интернет +``` + +**Тип решения: Xray `reverse`.** Роли по Xray: + +| Узел | Роль | Держит канал? | Выход в интернет? | +|------|------|---------------|-------------------| +| **TrueNAS** | bridge/контроллер (inbound `reverse`) | ❌ слушает | ❌ | +| **Kraken** | outbound reverse-нода + exit | ✅ **исходящий** к TrueNAS | ✅ **да** | +| **Локальные клиенты** | используют TrueNAS как локальный прокси-шлюз | — | через Kraken | + +**Ключевое физическое ограничение:** Kraken за NAT не может принимать входящих. Поэтому канал держит **Kraken исходящим** к TrueNAS. Для передачи клиентского трафика TrueNAS → Kraken используются конструкции `dokodemo-door` + `reverse` + policy-маршрутизация (routing rules). Это чуть сложнее "поставить reverse и всё", конфиг нужен аккуратный. + +## ⚠️ Факты, проверенные 2026-09-01 (важно, ломают прежние допущения) + +1. **На 443 у TrueNAS НЕ Xray.** Проверено `openssl s_client`: на `mallexxx.duckdns.org:443` отвечает **обычный TLS 1.3 с валидным Let's Encrypt сертификатом для `mallexxx.duckdns.org`** (`issuer=Let's Encrypt/CN=YE2`). Это **Caddy/nginx reverse-proxy**, НЕ Xray REALITY (у REALITY сертификат был бы чужой/поддельный). → Твоя память «на 443 висел xray server» не подтверждается. +2. **`vless-proxy` на TrueNAS** (контейнер `teddysun/xray:latest`, Up 7 дней): + - inbound: SOCKS `0.0.0.0:1080`, HTTP `0.0.0.0:1081` (локально в LAN TrueNAS) + - outbound: VLESS+WS+TLS на `v.qentra.top:443`, path `/qentra`, id `2D9F24C4-21FE-4784-9843-F11C384DA67A` — **указывает на УДАЛЁННЫЙ VPS → сейчас мёртвый**. + - ⚠️ Используется Hermes-Taiga как SOCKS5-прокси (`vless-proxy:1080`) → **Hermes-Taiga сейчас без рабочего прокси**. +3. **Kraken→TrueNAS по `mallexxx.duckdns.org`:** открыты **только 22 (SSH) и 443 (HTTPS/TLS)**. `8443/8964/8080/9000` — closed. Порт 443 — TLS (Caddy), не сырой. +4. **Kraken:** Docker установлен (`/usr/bin/docker`), но демон отвечает медленно/рвёт SSH (проверка `docker ps` не завершилась за 40s). Xray на Kraken **отсутствует** (`which xray` пусто) — нужен Docker-контейнер. +5. **Связанность Kraken↔TrueNAS по 22/443 — подтверждена** (оба OPEN с Kraken). + +## План реализации (шаги; НЕ выполнены, ждут OK Alex) + +### Шаг 1 — TrueNAS: Xray reverse-server поверх Caddy +- **Способ (рекомендован): Caddy TLS-pass-through.** Добавить в Caddy TCP-правило: поддомен `xray.mallexxx.duckdns.org:443` → внутренний порт Xray-контейнера (напр. `localhost:8443`). Caddy передаёт сырой TLS-стрим дальше. Xray на TrueNAS принимает VLESS+Reality/TLS. Kraken ходит на `xray.mallexxx.duckdns.org:443`. + - Плюс: переиспользуем уже открытый/проброшенный 443 на роутере, не трогаем роутер, туннель маскируется под HTTPS. + - Альтернатива: пробросить отдельный порт на роутере (напр. 8443) → требует доступа к роутеру. Менее предпочтительно. +- Новый/доразвернутый Xray-контейнер: + - inbound `reverse`/`dokodemo-door` на 8443 (извне по pass-through) + - local inbound SOCKS/HTTP (уже есть 1080/1081) + - routing: трафик клиентов → в reverse-канал к Kraken + +### Шаг 2 — TrueNAS: бэкап перед изменением +- Снять копию текущего конфига `vless-proxy` (config.json), в `/mnt/RED_2TB/docker//backup/` (паттерн как с cups-splix). + +### Шаг 3 — Kraken: Xray outbound reverse в Docker +- Контейнер Xray на Kraken (`docker run --restart unless-stopped`, как остальные). +- outbound vless → `xray.mallexxx.duckdns.org:443` (через Caddy pass-through). +- inbound SOCKS/HTTP на Kraken — точка выхода. +- reverse-конфиг: Kraken регистрирует «сервис» (весь трафик через dokodemo-door) наружу через канал к TrueNAS. + +### Шаг 4 — Проверка связности +- Kraken → `xray.mallexxx.duckdns.org:443` (TCP). +- Локальный клиент → TrueNAS:1080 → curl через прокси → должен выйти с IP Kraken. + +### Шаг 5 — Обновить Obsidian после внедрения +- Дополнить `family/how-to/truenas-infrastructure.md` (Xray reverse-настройка), `family/how-to/kraken-access.md`; обновить `personal/tech/vps-qentra.md` (VPS удалён, ссылки на него). + +## Открытые вопросы (требуют ответа Alex) + +1. **Проброс порта на роутере возможен?** Или туннель обязателен ТОЛЬКО через 443 (Caddy TLS-pass-through)? +2. **Какой трафик TrueNAS пустить через Kraken** — весь исходящий интернет, или конкретные сервисы/подсети? (Влияет на NAT/masquerade на Kraken.) +3. **Docker-демон Kraken работает нестабильно** (рвёт SSH) — чинить перед деплоем? + +## Связанные заметки +- [[family/how-to/vps-qentra]] — VPS на 2026-09-01 УДАЛЁН +- [[family/how-to/truenas-infrastructure]] — TrueNAS Caddy/контейнеры +- [[family/how-to/kraken-access]] — Docker Kraken +- [[family/how-to/rasputin-router]] — прежний VLESS-туннель на VPS (тоже требует пересмотра, VPS нет) +- [[family/how-to/wireguard-vpn]] — WG Eagle↔VPS↔Kraken (VPS-звено теперь мёртво)