Загрузить файлы в «/»

main
pipistrello 2026-06-05 16:00:49 +03:00
parent fe0ec9dd03
commit fb58acea5e
1 changed files with 169 additions and 0 deletions

View File

@ -0,0 +1,169 @@
---
title: Удалённый доступ ноутбука к SMB-шарам и Work Folders на serverfile (ОСК)
server: serverfile (192.168.0.11)
client: 05-osk
date: 2026-06-05
---
# Удалённый доступ ноутбука к файлам ОСК: SMB-шары + Work Folders
Итоговая схема того, как пользователь-ноутбук (вне офиса, без VPN) получает доступ к своим
сетевым папкам и рабочему столу на `serverfile`. Проверено в продакшене 2026-06-05 на клиенте
`OSK-000` (IP `10.0.0.219`, пользователь `CORP\Maslo`, изолирован от DC).
Связанные документы: [`runbooks/work-folders-direct-publish-kerberos-osk.md`](../runbooks/work-folders-direct-publish-kerberos-osk.md),
[`runbooks/kdc-proxy-smb-over-quic-setup.md`](../runbooks/kdc-proxy-smb-over-quic-setup.md),
профили [serverfile](../servers/windows/05-osk-serverfile.md), [serverwsus](../servers/windows/05-osk-serverwsus.md).
---
## 1. Что сделано (кратко)
1. **SMB over QUIC** на `serverfile` (WS2025) — удалённый доступ к SMB-шарам по UDP/443 без VPN.
2. **KDC proxy** вынесен на `serverwsus` (WS2019, `kdcproxy.osk.team`) — удалённый клиент без видимости
контроллера домена получает Kerberos-билеты по HTTPS (MS-KKDCP). Раньше стоял на serverfile, перенесён,
чтобы освободить TCP/443 под Work Folders.
3. **Work Folders** на `serverfile` (общий ресурс `work_folders`) — синхронизация **только рабочего стола**
с локальным кэшем (офлайн-доступ). Опубликован **напрямую** с serverfile, аутентификация — нативный
Kerberos через тот же KDC proxy.
4. **Перенаправление папок (Folder Redirection):** все папки (Документы, Загрузки, Изображения и т.д.)
остаются на SMB-шаре; рабочий стол перенаправлен в Work Folders.
5. Сертификат Work Folders заменён на **Let's Encrypt** (публично доверенный).
> **Почему НЕ ADFS/WAP и НЕ nginx-proxy-manager:** Work Folders с Windows-Integrated (NTLM/Negotiate)
> аутентификацией **не проксируется** через nginx/openresty (директива `ntlm` есть только в nginx Plus).
> ADFS+WAP сочли избыточным под одно приложение. Поэтому — прямая публикация + Kerberos через KDC proxy.
---
## 2. Серверы и роли
| Хост | IP | Роль |
|------|----|------|
| `serverfile` (WS2025) | 192.168.0.11 | SMB-шары, SMB over QUIC, Work Folders (`work_folders`) |
| `serverwsus` (WS2019) | 192.168.0.7 | KDC proxy (`kpssvc`, `kdcproxy.osk.team`), WSUS |
| `SERVERPDC` (DC) | 192.168.0.2 | Контроллер домена / KDC `CORP.local` |
| `serverweb` (Fedora) | 192.168.0.8 | **Traefik v3** — единая точка входа :80/:443 (заменил NPM 2026-06-05). SNI-passthrough для Windows-сервисов + терминация для дашбордов. |
| `servermail` (WS2019) | 192.168.0.6 | Exchange 2019 — публикуется снаружи через Traefik (SNI `mail`/`autodiscover`) |
---
## 3. DNS-записи (split-brain: внутри ≠ снаружи)
| Имя | Внутри (LAN) | Снаружи (edge) | Для чего |
|-----|--------------|----------------|----------|
| **`files.osk.team`** | 192.168.0.11 | публичный IP | Имя файл-сервера. (а) SMB-шары — перенаправленные папки лежат на `\\files.osk.team\U_Server_Data\…`; (б) **SMB over QUIC** (UDP/443) для удалённого доступа к этим шарам. |
| **`workfolders.osk.team`** | 192.168.0.11 | публичный IP | Эндпоинт **Work Folders** (HTTPS, TCP/443) на serverfile. На него указывает GPO Work Folders (`SyncUrl`). |
| **`kdcproxy.osk.team`** | 192.168.0.7 | публичный IP | **KDC proxy** (Kerberos over HTTPS). Удалённый клиент без DC получает Kerberos-билеты. Внешний порт — **443** (через Traefik; GPO: `<https kdcproxy.osk.team />`). |
> Снаружи все HTTPS-имена (`workfolders`, `mail`/`autodiscover`, `kdcproxy`) резолвятся в публичный IP `185.108.4.158`
> и попадают на **edge → serverweb (Traefik :443)**, который по **SNI** разводит трафик на нужный бэкенд **без терминации
> TLS** — нативная аутентификация (Kerberos/NTLM) сохраняется. Внутри офиса имена резолвятся прямо в бэкенды.
---
## 4. Сертификаты
| Сервис | Имя в сертификате | Тип / издатель | Отпечаток | Действует до |
|--------|-------------------|----------------|-----------|--------------|
| Work Folders (TCP/443) | CN=files.osk.team, SAN: files.osk.team, **workfolders.osk.team** | **Let's Encrypt** (публичный) | `9B279156…A7625` | **2026-09-03** ⚠️ |
| SMB over QUIC (UDP/443) | CN=files.osk.team | self-signed | `6B731A…0876FA` | 2036-06-03 |
| KDC proxy (TCP/443) | CN=kdcproxy.osk.team | self-signed | `02B9ADB3…F2E9A` | 2036-06-04 |
Self-signed сертификаты (QUIC `6B731A`, kdcproxy `02B9ADB3`) разворачиваются на клиентах в
**Trusted Root через GPO**. LE-сертификат Work Folders публично доверенный — в Root его класть не нужно.
> ⚠️ **Важно:** LE-сертификат Work Folders истекает **2026-09-03**. На serverfile нет встроенного автопродления —
> нужно настроить ACME-клиент (win-acme/Posh-ACME) или обновлять вручную ~каждые 90 дней. При истечении
> Work Folders перестанет работать (ошибка проверки сертификата на клиентах).
---
## 5. Схема подключения
```
В ОФИСЕ (виден контроллер домена):
ноутбук ── Kerberos напрямую от SERVERPDC (192.168.0.2)
├─ SMB-шары: TCP/445 (или QUIC) → serverfile 192.168.0.11
└─ Work Folders: TCP/443 → serverfile 192.168.0.11 (напрямую, split-brain DNS)
ВНЕ ОФИСА (DC не виден, без VPN): ← рабочий сценарий, проверено 2026-06-05
ноутбук ── EDGE (1 публ. IP 185.108.4.158) ─┬─ UDP/443 → serverfile 192.168.0.11 ← SMB over QUIC (мимо Traefik)
└─ TCP/443 → serverweb 192.168.0.8 (Traefik, SNI-passthrough):
workfolders.osk.team → serverfile 192.168.0.11 (Work Folders)
kdcproxy.osk.team → serverwsus 192.168.0.7 (Kerberos, MS-KKDCP)
mail/autodiscover → servermail 192.168.0.6 (Exchange)
```
**Проброс портов на edge (один публичный IP `185.108.4.158`):**
| Внешний | → Внутренний | Сервис |
|---------|--------------|--------|
| TCP/80 | 192.168.0.8 (Traefik) | ACME (LE) + http→https редиректы |
| TCP/443 | 192.168.0.8 (Traefik) | Work Folders / Exchange / KDC proxy — разведение по **SNI** |
| UDP/443 | 192.168.0.11 | SMB over QUIC (напрямую, мимо Traefik) |
> TCP/445 наружу **закрыт** — удалённо SMB идёт только по QUIC. Traefik делает **TLS-passthrough** (L4): TLS
> терминируется на самих бэкендах, поэтому нативная Kerberos/NTLM-аутентификация не ломается (HTTP-терминация
> через NPM её ломала — см. [`incidents/2026-06-05-05-osk-serverweb-traefik-sni-publishing.md`](../incidents/2026-06-05-05-osk-serverweb-traefik-sni-publishing.md)).
> KDC proxy раньше выносился на внешний порт 8443; после Traefik вернулся на **443** (SNI), GPO клиента —
> `<https kdcproxy.osk.team />`, проброс 8443 убран (проверено на Win11 10.0.0.219, 2026-06-05).
---
## 6. Аутентификация
Везде — **Kerberos** (NTLM не нужен). Ключевой момент: удалённый клиент не видит DC, поэтому Kerberos-билеты
он получает через **KDC proxy** (`kdcproxy.osk.team:8443`). Дальше:
- **SMB-шары** — билет для файл-сервера, сессия SMB 3.1.1 поверх QUIC.
- **Work Folders** — билет для SPN **`HTTP/workfolders.osk.team`** (зарегистрирован на учётной записи
компьютера `SERVERFILE$`; веб-воркер Work Folders работает в kernel-mode → расшифровывает билет машинной
учёткой).
---
## 7. GPO (настроены и применены к группе `CORP\Мобильный сотрудник`)
1. **Work Folders** (*Specify Work Folders settings*): `SyncUrl = https://workfolders.osk.team`,
принудительная автонастройка (Force automatic setup).
2. **Folder Redirection:**
- Документы, Загрузки, Изображения, Музыка, Видео, Избранное и т.д. →
`\\files.osk.team\U_Server_Data\DIR_ПОЛЬЗОВАТЕЛИ\%username%\<Папка>` (на SMB-шаре).
- **Рабочий стол → `%USERPROFILE%\Work Folders\Desktop`** (т.е. в Work Folders).
3. **KDC proxy (клиент):** `KdcProxyServer_Enabled=1`,
`…\Kerberos\KdcProxy\ProxyServers\CORP.LOCAL = <https kdcproxy.osk.team:8443 />`,
`…\Kerberos\Parameters\NoRevocationCheck=1` (для self-signed).
4. **Сертификаты в Trusted Root (Computer):** kdcproxy `02B9ADB3`, QUIC files `6B731A`.
5. **Исключение из перемещаемого профиля** (*Exclude directories in roaming profile*): `Work Folders`
(обязательно — корень WF лежит в `%USERPROFILE%`, иначе двойная обработка/конфликт с roaming profile).
6. **Local Intranet zone** для `https://workfolders.osk.team` — бесшовный SSO без запроса пароля.
---
## 8. Раскладка папок пользователя (важно понимать разницу)
| Папка | Где хранится | Офлайн-доступ | Транспорт удалённо |
|-------|--------------|---------------|--------------------|
| Документы, Загрузки, Изображения и пр. | SMB-шара `\\files.osk.team\U_Server_Data\DIR_ПОЛЬЗОВАТЕЛИ\<user>\` | ❌ нет (без сети недоступны) | SMB over QUIC |
| **Рабочий стол** | Локально `%USERPROFILE%\Work Folders\Desktop` ↔ синхр. в `S:\work_folders\<user>\` на serverfile | ✅ **да** (локальный кэш) | Work Folders (HTTPS) |
Общий ресурс Work Folders: `work_folders``S:\work_folders`, тип User Data, формат папки `[user]`
(напр. `S:\work_folders\Maslo`), лимит файла 10 ГБ, `InheritParentFolderPermission=True`
(админы домена видят содержимое папок пользователей — учитывать как вопрос приватности).
---
## 9. Текущий статус — проверено 2026-06-05
Клиент `OSK-000` @ **10.0.0.219** (нет маршрута в 192.168.0.0/22, нет DC на 88, без VPN), пользователь `CORP\Maslo`:
- ✅ **SMB over QUIC работает:** на serverfile — две живые сессии SMB **3.1.1** от `10.0.0.219` (`CORP\Maslo`).
TCP/445 через edge закрыт ⇒ это QUIC.
- ✅ **KDC proxy работает:** входы `4624` на serverfile от `10.0.0.219` — пакет **Kerberos**. Без DC в зоне
видимости Kerberos возможен только через прокси.
- ✅ **Work Folders синхронизируется:** `S:\work_folders\Maslo\` содержит элементы рабочего стола
(ярлыки, скриншот, pdf, txt) — рабочий стол уезжает на сервер.
- ✅ `kpssvc` на serverwsus — Running, слушает TCP/443; сертификат `kdcproxy.osk.team` отдаётся корректно.
---