SMB over QUIC
SMB over QUIC

Привет, Хабр!

Года три назад, если бы мне сказали, что мы будем раздавать корпоративные шары наружу без VPN, я бы покрутил пальцем у виска. Доступ к файлам из интернета — это либо IPSec/SSL-VPN, либо костыли вроде WebDAV и SFTP. Прямой SMB? Только для самых отчаянных. Но на дворе 2025 год, и правила игры изменились.

SMB over QUIC перестал быть экзотикой из Azure-изданий Windows Server и превратился в штатную фичу Windows Server 2025. А главное, с выходом Samba 4.23 эта технология стала по-настоящему кросс-платформенной. Теперь можно дать безопасный, стабильный и контролируемый доступ к файлам на Windows и Linux серверах через обычный порт 443/UDP.

В этой статье мы разберём, как это работает, настроим всё по шагам на обеих платформах и составим чек-лист для миграции с VPN. Без маркетинговой шелухи — только практика, команды и подводные камни.

Пролог: Боль удалённого филиала и магия RDP-копипаста

Думаю, у многих админов есть такой «интересный» филиал. У меня он был. Маленький офис, где интернет-провайдер наглухо блокировал всё, кроме 80/443 портов. О VPN речи не шло — «дорого, сложно, а у нас тут три бухгалтера».

Годами их работа с файлами напоминала изощрённую пытку:

  1. Зайти по RDP на терминальный сервер в центральном офисе.

  2. Найти нужный документ на общей шаре.

  3. Скопировать его.

  4. Свернуть RDP, вставить на свой рабочий стол.

  5. ...и молиться, чтобы сессия не отвалилась на середине 200-мегабайтного отчёта.

Когда файлы не пролезали через буфер обмена, в ход шла корпоративная почта с гигантскими вложениями, забивающая почтовые ящики. Любая попытка заикнуться про «пробросить 445-й порт» наталкивалась на стену непонимания со стороны безопасности и провайдера.

Решение пришло с апгрейдом файлового сервера до Windows Server 2025. Мы выпустили для него сертификат, открыли наружу 443/UDP и одной командой включили SMB over QUIC. В тот же вечер пользователи филиала просто открыли в Проводнике \\files.company.com\common и... всё заработало. Без VPN, без обрывов, с нормальной скоростью. Для них это выглядело как магия. Для нас — как логичный шаг инженерной эволюции.


Почему QUIC — это тот самый «SMB VPN», которого мы ждали?

Если коротко, QUIC — это современный транспортный протокол поверх UDP, который изначально разрабатывался для ускорения веба (HTTP/3), но оказался идеальным кандидатом и для других задач.

Чем он лучше классического TCP для доступа к файлам через интернет?

  • Шифрование по умолчанию: QUIC неотделим от TLS 1.3. Весь трафик шифруется с момента установки соединения. Не нужно отдельно настраивать IPsec или SMB Encryption.

  • Работает через порт 443/UDP: Этот порт почти никогда не блокируется провайдерами и корпоративными файрволами, в отличие от 445/TCP.

  • Устойчивость к смене сети: Пользователь с ноутбуком может переключиться с Wi-Fi на LTE, его IP-адрес сменится, но QUIC-соединение не разорвётся. TCP бы в такой ситуации «подвис».

  • Решение проблемы «Head-of-line blocking»: Потеря одного пакета в TCP-потоке тормозит все остальные. В QUIC потоки мультиплексируются, и потеря данных в одном не блокирует передачу других. Это делает связь по нестабильному интернету гораздо отзывчивее.

Microsoft не зря называет эту технологию «SMB VPN». Она даёт защищённый туннель для файлового доступа, но без необходимости настраивать и поддерживать полноценный VPN-клиент.


Windows Server 2025
Windows Server 2025

Практика №1: Настраиваем Windows Server 2025

Итак, к делу. Настройка на стороне Windows Server 2025 до смешного проста, но требует внимания к деталям.

Шаг 0: Подготовка

  1. Сервер: У вас должен быть Windows Server 2025 любой редакции (Standard или Datacenter).

  2. Сертификат: Нужен SSL-сертификат (подойдёт и от публичного CA, и от вашего внутреннего), у которого в Subject Alternative Name (SAN) прописано FQDN вашего файлового сервера (например, files.company.com). Ни в коем случае не используйте IP-адреса в сертификате! Это приведёт к откату на NTLM-аутентификацию. В поле EKU (Enhanced Key Usage) должно быть Server Authentication.

  3. Файрвол: Откройте порт UDP 443 на вход для внешних интерфейсов сервера. При этом TCP 445 снаружи должен быть закрыт.

Шаг 1: Привязка сертификата и включение QUIC

Заходим на файловый сервер и запускаем PowerShell с правами администратора.

PowerShell

# 1. Находим наш сертификат в хранилище LocalMachine\My
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -match "files.company.com"}

# 2. Привязываем (маппим) этот сертификат к SMB-серверу для использования с QUIC
New-SmbServerCertificateMapping -Name files.company.com -Thumbprint $cert.Thumbprint -StoreName My

# 3. Включаем SMB over QUIC на сервере
Set-SmbServerConfiguration -EnableSMBQUIC $true

Всё! Сервер готов принимать подключения.

Шаг 2: Подключение клиента

На клиентской машине (Windows 11 или Server 2025) можно подключиться как обычно, и система сама попытается использовать QUIC, если TCP/445 недоступен. Но для надёжности можно указать транспорт явно:

PowerShell

# Подключаем сетевой диск, принудительно используя QUIC
New-SmbMapping -LocalPath Z: -RemotePath \\files.company.com\common -TransportType QUIC

Или старым добрым net use:

DOS

net use Z: \\files.company.com\common /TRANSPORT:QUIC

Шаг 3: «Стоп-кран» и аудит

Если что-то пошло не так, вы всегда можете отключить QUIC на стороне клиента для диагностики:

PowerShell

# Полностью отключаем QUIC на клиенте
Set-SmbClientConfiguration -EnableSMBQUIC $false

Эта же настройка доступна через GPO. Для мониторинга подключений заглядывайте в журнал событий: Applications and Services Logs > Microsoft > Windows > SMBClient > Connectivity. Успешное QUIC-соединение отмечается событием с ID 30832.


Безопасность на максимум: Client Access Control (CAC)

Просто включить шифрованный доступ — это хорошо. Но ещё лучше — контролировать, кто именно может подключаться. Здесь на сцену выходит Client Access Control — возможность разрешать или блокировать доступ на основе клиентских сертификатов.

Это идеальный сценарий для корпоративных ноутбуков: вы выдаёте им сертификаты через автоэнроллмент и разрешаете доступ только им. Случайное устройство из интернета, даже зная логин и пароль, подключиться не сможет.

Настраивается это так:

PowerShell

# На сервере: требуем, чтобы клиенты представляли свой сертификат
Set-SmbServerCertificateMapping -Name files.company.com -RequireClientAuthentication $true

# Включаем аудит, чтобы видеть в логах решения о доступе
Set-SmbServerConfiguration -AuditClientCertificateAccess $true

# Теперь создаём правило. Например, разрешим доступ клиенту с конкретным сертификатом
# (хеш можно взять из свойств сертификата клиента)
Grant-SmbClientAccessToServer -Name files.company.com -IdentifierType SHA256 -Identifier "хеш_сертификата_клиента"

# Посмотреть все правила
Get-SmbClientAccessToServer -Name files.company.com

События аудита будут падать в SMBServer\Audit (ID 3007-3009). Есть и команды для блокировки (Block-SmbClientAccessToServer). Это мощнейший инструмент, превращающий ваш файловый сервер в настоящую крепость.


Samba 4.23
Samba 4.23

Практика №2: Приручаем Samba 4.23 на Linux

Исторически Samba и Windows шли рука об руку, и поддержка SMB over QUIC — не исключение. С версии 4.23 это стало возможным.

Шаг 0: Подготовка

  1. Версия: Убедитесь, что у вас Samba 4.23 или новее.

  2. Зависимости: В официальной документации отмечается, что для серверной части требуется поддержка QUIC на уровне ядра Linux. Клиентская часть может работать через userspace-библиотеки. Следите за документацией вашего дистрибутива.

  3. Сертификаты и файрвол: Требования те же, что и для Windows: валидный сертификат (key+cert+ca) и открытый порт 443/UDP.

Шаг 1: Настройка smb.conf

Откройте /etc/samba/smb.conf и добавьте в секцию [global] пару новых параметров:

Ini, TOML

# /etc/samba/smb.conf (фрагмент)

[global]
   # Добавляем QUIC к списку разрешённых транспортов. TCP оставляем для локальной сети.
   server smb transports = tcp, quic
   
   # Если эта машина будет и клиентом, указываем и для неё
   client smb transports = tcp, quic

   # Настройки для TLS, необходимые для QUIC
   tls enabled = yes
   tls keyfile  = /etc/samba/ssl/server.key
   tls certfile = /etc/samba/ssl/server.crt
   tls cafile   = /etc/samba/ssl/ca.crt

   # ... остальные ваши глобальные настройки

[common]
   path = /srv/samba/common
   read only = no
   # ...

После сохранения конфига перезапустите сервисы Samba (smbd и nmbd). Сервер готов! Клиенты Windows смогут подключаться к нему по FQDN точно так же, как к Windows Server.


Чек-лист миграции с VPN и частые грабли

Переход на SMB over QUIC не означает, что VPN нужно немедленно выкинуть. Это просто другой инструмент для конкретной задачи.

Когда стоит переходить:

  • Удалённые сотрудники и филиалы: основной сценарий, для которого это и создавалось.

  • Доступ с мобильных устройств: устойчивость к смене сети — киллер-фича.

  • Упрощение инфраструктуры: если VPN нужен был только для доступа к файлам, от него можно отказаться.

Когда не стоит отключать TCP/445:

  • Внутри локальной сети: TCP-транспорт по-прежнему быстрее и проще для внутреннего трафика. QUIC здесь не даёт преимуществ.

  • Устаревшие клиенты: старые версии Windows или сторонние клиенты могут не поддерживать QUIC.

  • Сценарии с DFS-N: Будьте осторожны! Внешние клиенты могут не видеть внутренние имена DFS-таргетов. Microsoft работает над этим, но пока это известное ограничение.

Частые грабли (и как на них не наступать):

  1. «Не работает по имени!» — 99% проблем здесь. Проверьте:

    • DNS-имя сервера корректно разрешается во внешний IP.

    • Это же FQDN прописано в SAN сертификата.

    • Вы не пытаетесь подключиться по IP-адресу.

  2. «Работает медленнее, чем VPN» — Проверьте MTU и политики шейпинга UDP-трафика на всём пути. Некоторые провайдеры режут UDP.

  3. Проблемы с Kerberos — Для «чистой» Kerberos-аутентификации извне Microsoft рекомендует разворачивать KDC Proxy. Без него аутентификация скорее всего пойдёт через NTLMv2 (внутри защищённого TLS-туннеля, что безопасно, но всё же).

  4. Samba не стартует с QUIC — Проверьте версию, наличие нужных библиотек и модулей ядра, а также права доступа к файлам сертификатов.


Эпилог: Будущее уже здесь

SMB over QUIC — решает давнюю проблему безопасного и удобного файлового доступа из любой точки мира, не требуя сложных VPN-конструкций.

В 2025 году эта технология наконец-то стала зрелой и доступной как в мире Windows, так и в Linux. Это тот редкий случай, когд�� новая фича не усложняет жизнь, а, наоборот, позволяет убрать десяток костылей и сделать инфраструктуру проще и надёжнее.

Главное — подходить к внедрению с умом: тестировать, настраивать безопасность и иметь план отката.

Комментарии (6)


  1. SlavikF
    26.09.2025 17:03

    На каких дистрибутивах Линукса запустится такой сервер?

    И на каких версия Windows будет работать клиент?


  1. exchange12rocks
    26.09.2025 17:03

    Мы выпустили для него сертификат, открыли наружу 443/UDP и одной командой включили SMB over QUIC. В тот же вечер пользователи филиала просто открыли в Проводнике \\files.company.com\common и... всё заработало. Без VPN, без обрывов, с нормальной скоростью.

    А могли давным давно просто сделать WebDAV и всего-то


  1. AdminFuture Автор
    26.09.2025 17:03

    Сервер запустится на дистрибутивах Linux со свежим ядром и Samba 4.23 или новее. В первую очередь это Arch, openSUSE и последние версии Fedora.

    Клиент будет работать на Windows 11 и Windows Server 2025. Поддержки в Windows 10 нет.


  1. haga777
    26.09.2025 17:03

    Извините, а можно уточнить ?

    Если у меня выделенный адрес на микротик, далее мне какие шаги предпринять ? Приобрести портов, но не пойму как это взаимодействовать с именем, вместо адреса


  1. vikarti
    26.09.2025 17:03

    И сразу вопросы:

    • а с безопасностью что? иногда ж smb в VPN суют из-за того что дырки находятся переодически

    • как это в России работает, с учетом что QUIC в России часто работает....своебразно


  1. Vilos
    26.09.2025 17:03

    Спасибо не надо!

    Самба - боль, как в части безопасности, с регулярными уязвимостями.

    Чем вас sftp не устроило?