169 lines
13 KiB
Markdown
169 lines
13 KiB
Markdown
---
|
||
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` отдаётся корректно.
|
||
|
||
--- |