Files
admin/.wiki/entities/nl-vds-3xui.md
vitya fc245c23c7 fix(nl-vds-3xui): apply Reality dest fix + rotate creds (server-side done)
Per user "и то и другое":
- Reality 443 dest www.intel.com -> www.microsoft.com (x-ui.db + restart),
  verified end-to-end tunnel through real :443 (SNI microsoft) -> HTTP 204.
  ML-DSA-65 kept. Plain VLESS 32030 unaffected (xray restarted, listening).
- Rotated leaked creds: root SSH password, panel username+password (bcrypt),
  panel JWT secret (kills install API token + sessions). New creds in
  pass nl-vds-3xui/full-env; old SSH pass now rejected; db backed up on server.
- Remaining client-side: user sets v2rayN profile pqmkayaxo2 SNI -> microsoft.

Task fix-nl-vds-reality-pq-dest -> 🟡 (awaiting client-side + confirm).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 11:45:44 +03:00

78 lines
5.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: NL VDS — 3x-UI VLESS/Reality node
type: entity
tags: [vds, cloud, netherlands, vpn, vless, reality, xray, 3x-ui, proxy]
sources: []
updated: 2026-06-05
---
# NL VDS — 3x-UI
Арендованный облачный VDS в Нидерландах, активирован 2026-06-05. Назначение — личный VLESS/Reality
прокси-узел под управлением 3x-UI (x-ui panel). Через него ведётся рабочее соединение.
## Hardware / tariff
- **Локация:** Нидерланды
- **Public IP:** `213.176.64.253`
- **vCPU:** 1
- **RAM:** 2 GiB
- **Disk:** 30 GiB NVMe
- **OS:** Ubuntu 24.04
- **PTR:** `square-white.ptr.network`
## Доступ
- **SSH:** `root@213.176.64.253` (password auth включён). Host-key (ed25519): `SHA256:XR2+0PCVUoEMrFHOoIu7IPXb4xP2JnYkqFr1uqs8YrA`.
- С Windows non-interactive: `plink -ssh -batch -hostkey "SHA256:XR2+0PCVUoEMrFHOoIu7IPXb4xP2JnYkqFr1uqs8YrA" -pw <pass> root@213.176.64.253 "<cmd>"`. PowerShell-пайп `y` в `plink` для приёма host-key **не работает** (plink читает промпт с консоли, не stdin) — передавать `-hostkey` явно.
- **Панель 3x-UI:** `https://213.176.64.253:49251/aTKt95PPgt9y2dUHi8` (port 49251, webBasePath `aTKt95PPgt9y2dUHi8`, sub-port 2096).
- **Креды:** `pass show nl-vds-3xui/full-env` (root SSH pass, panel user/pass, panel JWT secret, все UUID/ключи/seed Reality-инбаунда). **Все логин-креды ротированы 2026-06-05** (оригиналы засветились в плейнтексте при заведении): root SSH pass, panel username+password, panel `secret` (JWT-ключ — убил install-time API token и сессии). Reality privateKey/UUID/seed НЕ ротировались (не были экспонированы, на них завязан клиентский профиль).
## Software stack
| Слой | Компонент | Версия |
|---|---|---|
| OS | Ubuntu | 24.04 |
| Panel | 3x-UI (x-ui) | 3.2.7 |
| Core | Xray | 26.6.1 |
| DB | SQLite | `/etc/x-ui/x-ui.db` |
| Firewall | ufw | inactive (iptables policy ACCEPT) |
`x-ui` — нативный systemd-сервис (не docker). Сгенерированный конфиг ядра: `/usr/local/x-ui/bin/config.json`,
бинарь xray: `/usr/local/x-ui/bin/xray-linux-amd64`.
## Inbounds
| Tag | Порт | Протокол | Security | Статус |
|---|---|---|---|---|
| `in-32030-tcp` | 32030 | VLESS / tcp | none | 🟢 работает (рабочее соединение) |
| `in-443-tcp` | 443 | VLESS / tcp | **Reality + ML-DSA-65 (PQ)**, flow `xtls-rprx-vision` | 🟢 fixed 2026-06-05 (dest→microsoft, server-side verified 204); v2rayN SNI update pending |
- **32030 (plain VLESS):** uuid `a6fa7965-…` (email `sx9l9csam3`). Без TLS — поэтому работает даже когда Reality лежит.
- **443 (Reality, PQ):** два клиента — `5da48418-…`/`pqmkayaxo2` (flow vision, его использует v2rayN) и `7941887a-…`/`0h5rzrsex3`.
publicKey `zWTp-3dPfB78…`, shortId (клиент) `795fc9`, mldsa65Seed `E9zFSoOd…`. dest/SNI `www.intel.com`.
## Reality 443 — дефект устранён 2026-06-05 (server-side)
Был: Reality-инбаунд на 443 (ML-DSA-65 PQ) с dest/SNI `www.intel.com` не коннектился — Akamai-фронтящий
intel не поддерживает PQ-обмен ключами (`X25519MLKEM768`), слал HelloRetryRequest → borrowed-TLS рукопожатие
REALITY не достраивалось (`REALITY: handshake did not complete`). Полный разбор + изоляционная матрица:
[`reality-pq-mldsa65-dest-incompatibility`](../concepts/reality-pq-mldsa65-dest-incompatibility.md).
**Применённый fix (2026-06-05):** dest/`target` инбаунда `www.intel.com:443``www.microsoft.com:443`,
`serverNames``["www.microsoft.com"]` (правка `stream_settings` в `x-ui.db` id=1 + `x-ui restart`).
ML-DSA-65 сохранён. Проверено сквозным тоннелем (temp-клиент → реальный `127.0.0.1:443`, SNI microsoft,
client uuid `5da48418` + vision + mldsa65Verify) → **HTTP 204**.
**⏳ Остаётся (client-side, делает user в v2rayN):** в профиле `pqmkayaxo2` сменить **SNI** `www.intel.com`
`www.microsoft.com`, переподключиться. (Правил не я: v2rayN держит активное соединение, внешняя правка
`guiNDB.db` ненадёжна.)
## Заметки по диагностике (read-only методология)
- Дамп инбаундов: `python3` + `sqlite3 file:/etc/x-ui/x-ui.db?mode=ro` (read-only, sqlite3-CLI на сервере нет).
- Изолированный тест клиента/сервера: поднять временный `xray run -c <tmp>` на отдельном localhost-порту
(socks 10888/10999) + `curl -x socks5h://…` — воспроизводит хендшейк, не трогая активный инбаунд.
- Часы сервера синхронны (Reality time-skew исключён). publicKey выводится из privateKey через
`xray x25519 -i <priv>`; verify — из seed через `xray mldsa65 -i <seed>`.