wiki(nl-vds-3xui): ingest session 2026-06-05 — honest final state + lessons
- new sources/nl-vds-3xui-setup-2026-06-05.md (full chronicle; HONEST outcome: у реальных клиентов из РФ работает только plain VLESS 32030; Reality/MTProto/ SOCKS не поднялись) - new concepts/proxy-debugging-test-the-real-client.md (anti-pattern: own curl/ standalone tests passed while user's real clients failed; overclaim + bad MSS-clamp fix that broke things) - rewrote entities/nl-vds-3xui.md — removed false "Reality verified/fixed" & "mtg works" claims; honest status table; MSS-clamp removed - caveat added to reality-pq concept (disabling PQ != working Reality for GUI clients); index.md + log.md updated Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,96 +1,69 @@
|
||||
---
|
||||
title: NL VDS — 3x-UI VLESS/Reality node
|
||||
title: NL VDS — 3x-UI VLESS node
|
||||
type: entity
|
||||
tags: [vds, cloud, netherlands, vpn, vless, reality, xray, 3x-ui, proxy]
|
||||
sources: []
|
||||
tags: [vds, cloud, netherlands, vpn, vless, reality, mtproto, xray, 3x-ui, proxy]
|
||||
sources: [../sources/nl-vds-3xui-setup-2026-06-05.md]
|
||||
updated: 2026-06-05
|
||||
---
|
||||
|
||||
# NL VDS — 3x-UI
|
||||
|
||||
Арендованный облачный VDS в Нидерландах, активирован 2026-06-05. Назначение — личный VLESS/Reality
|
||||
прокси-узел под управлением 3x-UI (x-ui panel). Через него ведётся рабочее соединение.
|
||||
Личный прокси-VDS в Нидерландах, активирован 2026-06-05, под управлением 3x-UI (x-ui) / Xray.
|
||||
Назначение — обход блокировок для себя и раздача доступа друзьям.
|
||||
|
||||
## Hardware / tariff
|
||||
## Hardware
|
||||
|
||||
- **Локация:** Нидерланды
|
||||
- **Public IP:** `213.176.64.253`
|
||||
- **vCPU:** 1
|
||||
- **RAM:** 2 GiB
|
||||
- **Disk:** 30 GiB NVMe
|
||||
- **OS:** Ubuntu 24.04
|
||||
- **PTR:** `square-white.ptr.network`
|
||||
- **Локация:** Нидерланды (провайдер Aeza, судя по `my.aeza.net` в трафике)
|
||||
- **Public IP:** `213.176.64.253` ; **IPv6:** `2a12:5940:2b1d::2`
|
||||
- **vCPU / RAM / Disk:** 1 / 2 GiB / 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 НЕ ротировались (не были экспонированы, на них завязан клиентский профиль).
|
||||
- **SSH:** `root@213.176.64.253` (password auth). Host-key (ed25519): `SHA256:XR2+0PCVUoEMrFHOoIu7IPXb4xP2JnYkqFr1uqs8YrA`.
|
||||
- С Windows non-interactive: `plink -ssh -batch -hostkey "SHA256:XR2+...YrA" -pw <pass> root@... "<cmd>"`. Пайп `y` для приёма host-key через PowerShell **не работает** (plink читает промпт с консоли) — передавать `-hostkey` явно. Для python на сервере — заливать скрипт через `pscp` (инлайн-python в plink-арге PowerShell корёжит кавычками).
|
||||
- **Панель 3x-UI:** `https://213.176.64.253:49251/aTKt95PPgt9y2dUHi8/` (port 49251, sub-port 2096).
|
||||
- **Креды:** `pass show nl-vds-3xui/full-env`. **Все логин-креды ротированы 2026-06-05** (оригиналы светились в плейнтексте): root SSH pass, panel user+pass, panel `secret` (JWT — убил install-time API-токен и сессии). 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) |
|
||||
| Panel | 3x-UI (x-ui), нативный systemd-сервис | 3.2.7 |
|
||||
| Core | Xray (`/usr/local/x-ui/bin/xray-linux-amd64`) | 26.6.1 |
|
||||
| MTProto | mtg (`9seconds/mtg`, systemd `mtg.service`) | 2.2.8 |
|
||||
| DB | SQLite `/etc/x-ui/x-ui.db` (бэкапы `/root/x-ui.db.bak.*`) | — |
|
||||
| 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`.
|
||||
Конфиг ядра генерится в `/usr/local/x-ui/bin/config.json` из БД при `x-ui restart`.
|
||||
|
||||
## Inbounds
|
||||
## Текущее состояние (итог сессии 2026-06-05) — что РЕАЛЬНО работает
|
||||
|
||||
| Tag | Порт | Протокол | Security | Статус |
|
||||
|---|---|---|---|---|
|
||||
| `in-32030-tcp` | 32030 | VLESS / tcp | none | 🟢 работает (рабочее соединение) |
|
||||
| `in-443-tcp` (port→**2053**) | 2053 | **Reality (X25519)**, flow `xtls-rprx-vision`, dest `www.microsoft.com` | 🟢 на 2053; ML-DSA-65 снят; **перенесён с 443** — РКН заблокировал `:443` 2026-06-05 (на 443 умер через ~12 мин, на 2053 ожил — verified) |
|
||||
| `inbound-socks-47020` | 47020 | **SOCKS5** (auth=password, udp) | none (plaintext) | 🟡 added 2026-06-05 для Telegram; на сервере ОК (auth required), но у user режется DPI на его пути → заменён на MTProto |
|
||||
> **Работает только plain VLESS на 32030.** Через него идёт боевой трафик из РФ (v2rayN на ПК; v2rayNG/Hiddify на телефоне/Mac). Это канал, который раздаём друзьям. Всё «маскированное» (Reality, MTProto, SOCKS5) у реальных клиентов из РФ **не поднялось** — детальный разбор почему в [source-странице](../sources/nl-vds-3xui-setup-2026-06-05.md).
|
||||
|
||||
### MTProto proxy (mtg) — port 8443 — added 2026-06-05
|
||||
| Порт | Протокол | Статус у реальных клиентов |
|
||||
|---|---|---|
|
||||
| **32030** | VLESS / tcp, `security=none` | 🟢 **РАБОТАЕТ.** uuid `a6fa7965-…` (sx9l9csam3). Без TLS (DPI-детектируем, но живой). |
|
||||
| 2053 | VLESS + **Reality** X25519, flow vision, dest `www.microsoft.com` (PQ снят) | 🔴 **НЕ работает** у v2rayN/телефона. В изолированных curl/xray-тестах с того же ПК проходил (exit NL, 5 МБ/с), но **боевые клиенты — нет**. Причина не установлена (вероятно — обработка TLS-хендшейка к этому IP в сети пользователя). Был на 443 → перенесён на 2053. Клиенты: `5da48418-…` (pqmkayaxo2), `7941887a-…` (0h5rzrsex3); pbk `zWTp-3dPfB78…`, sid `795fc9`. |
|
||||
| 47020 | SOCKS5 (auth=password) | 🔴 у пользователя режется DPI (на сервере сам по себе ОК, auth работает). user `tg_s5wm7I`. |
|
||||
| 8443 | **MTProto** (mtg, FakeTLS `www.cloudflare.com`) | 🔴 **НЕ работает как Telegram-прокси:** и Telegram Desktop, и телефон висят на «соединение…». Пассивный пинг в Telegram показывает «доступен» — **вводит в заблуждение**. В tcpdump: телефон шлёт 1288-б ClientHello → mtg отвечает **0 байт**. Локальный FakeTLS (`openssl` на сервере) проходит, но реальную MTProto-сессию mtg здесь не держит. |
|
||||
|
||||
**Не xray-инбаунд** — отдельный сервис `mtg` v2.2.8 (`9seconds/mtg`), бинарь `/usr/local/bin/mtg`, конфиг
|
||||
`/etc/mtg.toml`, systemd-юнит `mtg.service` (`DynamicUser`, `Restart=always`, enabled). FakeTLS под
|
||||
`www.cloudflare.com` — для DPI трафик неотличим от настоящего HTTPS на Cloudflare (проверено: `openssl
|
||||
s_client :8443 -servername www.cloudflare.com` → валидный TLS1.3 cert CN=www.cloudflare.com). Поднят
|
||||
взамен SOCKS5, который у user'а резал DPI (на сервере SOCKS рабочий).
|
||||
## Клиент для друзей (рабочий путь)
|
||||
|
||||
- Управление: `systemctl status|restart mtg`; ссылки — `mtg access /etc/mtg.toml`.
|
||||
- Креды (secret hex/b64 + tg-ссылка) — в `pass show nl-vds-3xui/full-env`.
|
||||
Hiddify (Win/Mac/Android) либо v2rayN/v2rayNG — импорт `vless://…@213.176.64.253:32030?type=tcp&security=none` (ссылка/QR). Полная инструкция для друзей — в [source](../sources/nl-vds-3xui-setup-2026-06-05.md).
|
||||
**При включённом VPN в Telegram прокси не нужен:** на телефоне «Отключить прокси», на десктопе «Использовать системные настройки прокси», кастомные прокси удалить.
|
||||
|
||||
- **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`.
|
||||
## Что трогали на сервере 2026-06-05
|
||||
|
||||
## Reality 443 — дефект устранён 2026-06-05 (server-side)
|
||||
- Reality: dest `intel`→`microsoft`; снят ML-DSA-65 (`mldsa65Seed`); порт 443→2053.
|
||||
- Креды ротированы (см. Доступ).
|
||||
- Поднят mtg (MTProto) на 8443; SOCKS5-инбаунд на 47020.
|
||||
- **MSS-clamp 1360** ставился (ошибочная MTU-гипотеза) и **снят** — он ломал соединения (после снятия комп-телега через системный прокси ожила).
|
||||
|
||||
Был: 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**.
|
||||
|
||||
**Update 2026-06-05 (вечер): ML-DSA-65 PQ снят с инбаунда.** Даже после fix dest клиенты (v2rayN 7.19.5,
|
||||
телефонные приложения) **не коннектились** через Reality, хотя plain VLESS 32030 работал. Причина: 3x-UI
|
||||
включил ML-DSA-65 по умолчанию, а GUI-клиенты **не передают `mldsa65Verify` в ядро** (проверено: empty в
|
||||
configTest; replica-тест «noPQ-server + client без verify → 204», «+ с verify → 000»). PQ-Reality слишком
|
||||
свежий для клиентского тула. Фикс: удалён `mldsa65Seed` из инбаунда id=1 (+ display-verify) → обычный
|
||||
Reality X25519. Проверено verify-less клиентом через реальный :443 → **HTTP 204**.
|
||||
|
||||
**Share-link (X25519, без PQ)** — для импорта в v2rayN/телефон:
|
||||
`vless://5da48418-…@213.176.64.253:443?type=tcp&security=reality&pbk=zWTp-3dPfB78…&fp=chrome&sni=www.microsoft.com&sid=795fc9&spx=%2F&flow=xtls-rprx-vision#NL-Reality`
|
||||
(полный — в `pass show nl-vds-3xui/full-env`).
|
||||
|
||||
## Заметки по диагностике (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>`.
|
||||
- **ML-DSA-65 (PQ-Reality) несовместим с GUI-клиентами** — v2rayN/мобильные не шлют `mldsa65Verify` → PQ надо отключать. Полный разбор: [`reality-pq-mldsa65-dest-incompatibility`](../concepts/reality-pq-mldsa65-dest-incompatibility.md).
|
||||
- **Свои короткие curl/standalone-xray тесты «работали», а боевые клиенты — нет.** Не доверять собственным изолированным тестам как доказательству — проверять на реальном клиенте/устройстве: [`proxy-debugging-test-the-real-client`](../concepts/proxy-debugging-test-the-real-client.md).
|
||||
- **MSS-clamp на прокси-сервере может рвать соединения** — не лепить «на всякий случай».
|
||||
- Reality/MTProto в РФ — нетривиальны; единственное, что тут гарантированно поднялось у реальных клиентов — plain VLESS.
|
||||
|
||||
Reference in New Issue
Block a user