🎮 Steam и Zapret 2: какие домены и порты нужны и как настроить профиль
О чём заметка
Что делает клиент Steam (Стим) в сети при запуске и при просмотре магазина: к каким серверам и на какие порты он подключается, в каких сетях они живут и чем это важно для профиля Zapret 2. Разбор основан на записи трафика, а в конце собран готовый список доменов и портов для своего профиля. Как создать профиль в интерфейсе, по шагам расписано в add-profile, подбор стратегии для самих игр — в find-game-strategy.
TL;DR
- Клиент Steam входит в сеть через собственные серверы Valve
*.steamserver.net, и не только по порту 443, но и по TCP 27020, 27021 и 27024. Профиль с портами80,443эти соединения не увидит.- Магазин, сообщество, картинки и видео приходят с чужих сетей доставки: Akamai (
steampowered.com,steamcommunity.com,steamusercontent.com) и Fastly (*.fastly.steamstatic.com). Через них прошёл почти весь трафик Steam в записи.- Для профиля берите hostlist, а не список IP: адреса CDN меняются, а часть контента в записи пришла по IPv6.
- Минимальный профиль: TCP-порты
80,443-65535и hostlist изsteampowered.com,steamcommunity.com,steamstatic.com,steamusercontent.com,steamcontent.com,steamserver.net.- Трафик самих игр (UDP 27000–27250 и P2P) этим профилем не покрывается, для него нужен отдельный профиль по find-game-strategy.
Откуда данные и чего в них нет
Разбор сделан по записи трафика компьютера с Windows 27 сентября 2026 года. Запись длится 47 секунд: за это время клиент Steam подключился к сети, открылся магазин, страница игры с трейлером и раздел сообщества. Запись разобрана по заголовкам пакетов и по открытой части TLS-рукопожатия, где клиент называет имя сервера (об этом ниже). Содержимое соединений зашифровано и не расшифровывалось.
Это карта подключений, а не проверка обхода
Во время записи Zapret не вмешивался в соединения Steam (в записи нет поддельных пакетов, которые он отправляет), и провайдер ничего не заблокировал: все соединения к Steam установились, трейлеры и картинки скачались целиком. Поэтому запись показывает, куда Steam ходит, но не говорит, какие из этих соединений режет ТСПУ (технические средства противодействия угрозам — оборудование DPI у провайдера) и какая стратегия их пробивает. В записи также нет скачивания игры, запуска игры с сетевой игрой, голосового чата, мастерской и оплаты: для этих частей Steam сверяйтесь с официальным списком Valve, разобранным ниже.
Многие соединения к Fastly в записи закончились пакетом RST (сброс соединения). Для встроенного браузера на Chromium это обычный способ закрыть лишние соединения, и признаком блокировки он здесь не был: до сброса в каждом таком соединении завершилось TLS-рукопожатие и сервер успел ответить. Если вы разбираете свою запись, RST в конце соединения сам по себе не признак блокировки; подозрительно, когда сброс приходит сразу после первого пакета клиента и ответа от сервера нет.
Как Steam входит в сеть: серверы подключения Valve
Первое, что делает клиент после запуска, — проверяет, есть ли интернет. Он отправляет обычный HTTP-запрос без шифрования GET /204 на steamconnecttest.com и ждёт пустой ответ с кодом 204. В записи этот домен разрешился в адрес внутри сети Ростелекома: так выглядит кэширующий узел Akamai, установленный у провайдера. Сразу за ним клиент проверяет IPv6 через ipv6check-http.steamserver.net и ipv6check-udp.steamserver.net.
Дальше начинается главное. Чтобы войти в аккаунт, получать сообщения, список друзей и уведомления, клиент держит постоянное соединение с одним из серверов подключения Valve. В сети Steam их называют CM-серверами (от connection manager, «менеджер соединений»). В записи клиент почти одновременно открыл восемь соединений к таким серверам во Франкфурте (fra1, fra2) и Стокгольме (sto1, sto2):
| Сервер | Порт TCP |
|---|---|
cmp1-fra1.steamserver.net | 27020 |
cmp1-fra2.steamserver.net | 27024 |
cmp2-fra2.steamserver.net | 27020, 27024, 443 |
cmp1-sto1.steamserver.net | 27021 |
cmp1-sto2.steamserver.net | 27020 |
cmp2-sto2.steamserver.net | 443 |
Все восемь соединений оставались открытыми до конца записи, но основная переписка шла по одному, к cmp2-sto2 на порт 443: по нему прошло около 50 КБ, по каждому из остальных — около 7 КБ, то есть рукопожатие и редкий служебный обмен. Похоже, клиент держит запасные соединения к нескольким серверам, а работает через одно. Это вывод по одной записи: как клиент выбирает сервер, Valve не документирует.
Все эти серверы живут в собственной сети Valve, автономной системе AS32590 (адреса 155.133.x.x и 162.254.198.x). Соединения к ним зашифрованы TLS, и в первом пакете клиент открыто называет имя сервера. Это поле называется SNI (Server Name Indication): по нему ТСПУ узнаёт, к какому сайту идёт соединение, и по нему же hostlist Zapret решает, применять ли к соединению профиль.
Проще говоря: вход в Steam — это обычное TLS-соединение с понятным именем *.steamserver.net, только часто на нестандартном порту. Если профиль слушает лишь порты 80 и 443, соединения на 27020, 27021 и 27024 пройдут мимо него, даже когда домен есть в списке. Valve в справке указывает для входа и загрузок диапазон TCP и UDP 27015–27050, и все порты из записи в него попадают.
Магазин и сообщество: встроенный браузер и чужие CDN
Магазин, страницы игр, профиль и сообщество внутри клиента показывает не сам клиент, а встроенный браузер steamwebhelper.exe, собранный на Chromium. Поэтому эта часть Steam ведёт себя в сети как обычный сайт: десятки параллельных соединений к нескольким доменам, картинки и видео со своих серверов доставки.
Эти серверы принадлежат не Valve. Крупные сервисы арендуют место в сетях доставки контента (CDN, Content Delivery Network), которые держат копии файлов по всему миру; подробнее о них и о том, как узнать владельца адреса, — в find-domain-owner. В записи Steam использовал две такие сети:
| Домен | Что грузит | Сеть |
|---|---|---|
store.steampowered.com | страницы магазина | Akamai |
api.steampowered.com | программный интерфейс клиента | Akamai |
steamcommunity.com | сообщество, профили | Akamai |
images.steamusercontent.com | скриншоты и картинки пользователей | Akamai (IPv6) |
video.akamai.steamstatic.com | трейлеры | Akamai (IPv6) |
store.fastly.steamstatic.com, community.fastly.steamstatic.com | оформление магазина и сообщества | Fastly |
shared.fastly.steamstatic.com, shared.steamstatic.com, cdn.fastly.steamstatic.com | общие скрипты, стили, обложки игр | Fastly |
avatars.fastly.steamstatic.com | аватары | Fastly |
video.fastly.steamstatic.com | трейлеры | Fastly |
По объёму соотношение получилось резким: через Fastly прошло около 37 МБ, через Akamai около 20 МБ, а через серверы Valve — около 0,1 МБ.

Проще говоря: собственные серверы Valve отвечают за вход и связь с аккаунтом, а всё тяжёлое, что вы видите в магазине, приходит с Akamai и Fastly. Если в Steam удаётся войти, но магазин пустой, без картинок или трейлеров, проблема почти наверняка в доменах CDN, а не в steamserver.net.
Почему в hostlist лучше писать родительский домен
Встроенный браузер экономит соединения. Если несколько доменов обслуживает один и тот же сервер с одним сертификатом, Chromium может отправлять запросы к ним всем по одному уже открытому соединению HTTP/2. В записи одно соединение к Fastly, открытое под именем shared.fastly.steamstatic.com, передало 23,8 МБ, больше половины всего трафика Fastly. Скорее всего, по нему шли и файлы с других поддоменов steamstatic.com: SNI называет только тот домен, ради которого соединение открыли первым, и остальные имена в открытом виде уже не появляются.
Для Zapret это значит, что решение о профиле принимается один раз, по первому имени. Список из точных поддоменов вроде store.fastly.steamstatic.com легко пропустит соседний поддомен, который браузер откроет первым в следующий раз. Поэтому для Steam родительский домен (steamstatic.com) надёжнее точных поддоменов. Общий совет add-profile начинать с точных поддоменов защищает от того, чтобы профиль задел посторонние сайты; здесь такой опасности нет, потому что все поддомены steamstatic.com, steampowered.com и остальных доменов из списка ниже принадлежат самому Steam.
Два разных TLS-почерка
Сам клиент Steam и его встроенный браузер открывают TLS-соединения по-разному, и в записи это видно по первому пакету.
Клиент (соединения к *.steamserver.net, первые запросы к api.steampowered.com, steamcommunity.com и shared.steamstatic.com) отправляет короткое приветствие TLS, сообщение ClientHello, на 517 байт. Оно целиком помещается в один TCP-пакет, и имя сервера во всех 13 таких соединениях стоит на одном и том же месте, со 155-го байта.
Встроенный браузер отправляет ClientHello на 1,7–2,1 КБ. Размер набирает постквантовый ключ X25519MLKEM768, который современный Chromium добавляет в каждое соединение: одна эта часть занимает 1216 байт. Такое сообщение не помещается в один пакет и уходит двумя. Вдобавок Chromium перемешивает порядок полей в ClientHello при каждом подключении, поэтому имя сервера оказывается то в первом пакете, то во втором. В записи оно попало во второй пакет или на стык пакетов в 22 соединениях из 47.
Проще говоря: к серверам входа Steam уходит маленький предсказуемый пакет, а к магазину — большой, разрезанный надвое, с именем сайта в случайном месте. Стратегия, которая пробивает один вид соединений, не обязана пробивать другой, поэтому при подборе проверяйте отдельно вход в сеть и загрузку магазина. Как стратегии режут и подменяют пакеты — в desync.
Сверка с официальным списком Valve
У Valve есть справочная статья «Required Ports for Steam» (версия от февраля 2026 года): https://help.steampowered.com/en/faqs/view/2EA8-4D75-DA21-31EB. Она перечисляет домены, которые прокси должен пропускать для веб-запросов Steam, и порты для разных частей платформы.
Домены из официального списка: steampowered.com, steamcommunity.com, steamgames.com, steamusercontent.com, steamcontent.com, steamstatic.com и akamaihd.net. С записью есть два расхождения. Во-первых, в официальном списке нет steamserver.net, хотя именно на нём в записи были серверы входа и проверки IPv6, и нет steamconnecttest.com. Во-вторых, steamcontent.com (серверы, с которых скачиваются игры и обновления) и akamaihd.net в записи не встретились, потому что за 47 секунд ничего не скачивалось. Домен akamaihd.net — общий домен Akamai, на нём живут тысячи чужих сайтов, поэтому вписывать его в профиль Steam целиком не стоит.
Порты по данным Valve:
| Назначение | Протокол и порты |
|---|---|
| Вход в сеть и загрузка контента | TCP 80 и 443, TCP и UDP 27015–27050 |
| Трафик игр | UDP 27000–27250 |
| Сетевая игра и голосовой чат Steam (P2P) | UDP 3478, 4379, 4380, 27014–27030 |
| Remote Play (трансляция игр внутри дома) | UDP 27031–27036 и TCP 27036, локальные порты на своём компьютере |
Там же Valve пишет, что весь не-веб трафик, в основном UDP, идёт на адреса собственной сети AS32590. Это пригодится для игрового профиля: трафик игр часто идёт без имени сервера, и отбирать его приходится по адресам (ipset), а не по доменам.
В записи порт 27036 тоже появился, но как широковещательная рассылка UDP внутри домашней сети: так клиент ищет другие компьютеры со Steam для Remote Play. Этот трафик не уходит к провайдеру, и обходить его не нужно.
Как настроить профиль под Steam
Сначала проверьте готовые профили пресета
Большая часть Steam живёт на Akamai и Fastly. Если в вашем пресете уже есть профиль под одну из этих сетей (например, «Akamai TCP») и он включён, магазин может заработать без отдельного профиля: достаточно подобрать стратегию в готовом профиле. Как найти такой профиль — в find-domain-owner. Собственный профиль Steam всё равно понадобится, если не заходит в сеть сам клиент: серверы steamserver.net живут в сети Valve, и профили под CDN их не касаются.
Свой профиль: порты и домены
Порядок действий в интерфейсе — как в add-profile; ниже только то, что отличается для Steam.
- TCP-порты:
80,443-65535. Запись захватывает и 443, и порты серверов входа 27015–27050. Для профиля, который отбирает трафик по hostlist, широкий диапазон безопасен: соединения к чужим доменам ему не достанутся. Подробнее о фильтрах — filter. - Hostlist («Ваши записи»):
steampowered.com
steamcommunity.com
steamstatic.com
steamusercontent.com
steamcontent.com
steamserver.net
steamgames.com
Каждая строка включает в профиль все поддомены: steamserver.net накрывает серверы входа cmp*-*.steamserver.net, steamstatic.com — все *.fastly.steamstatic.com и *.akamai.steamstatic.com. steamconnecttest.com в список вносить не обязательно: проверка интернета идёт по HTTP без шифрования и заблокирована, судя по записи, не была. Если клиент при запуске упорно пишет, что нет подключения к интернету, допишите и его. Формат списков — в hostlist.
- UDP: для входа и магазина, судя по записи, не нужен. Клиент не отправлял UDP на серверы Valve, и ни одно соединение QUIC (HTTP/3 поверх UDP-порта 443) в записи нельзя отнести к Steam. Если в вашей записи QUIC к доменам Steam появится, добавьте в профиль UDP-порт
443: отключить QUIC во встроенном браузере Steam, как в обычном Chrome, нельзя. - Порядок профилей: профиль Steam ставьте выше широких профилей по сетям Akamai и Fastly, иначе соединения магазина заберёт первый подходящий широкий профиль. Почему так — в «Одно соединение — один профиль».
Если одна стратегия не пробивает всё
Профиль с одним списком получает одну стратегию на все соединения Steam. Но соединения здесь разные: маленький ClientHello клиента к серверам Valve и большой ClientHello браузера к Akamai и Fastly, в разных сетях, которые ТСПУ может обрабатывать по-разному. Если после подбора стратегии клиент входит в сеть, а магазин не грузится, или наоборот, разделите профиль на два:
- профиль «Steam вход» с одной строкой
steamserver.net; - профиль «Steam магазин» с остальными доменами списка.
Каждому подбирайте стратегию отдельно. Если внутри магазина не грузится только одна сеть (например, картинки с Fastly есть, а трейлеры с Akamai нет), таким же образом выносится в свой профиль fastly.steamstatic.com или akamai.steamstatic.com; такой профиль ставится выше общего, потому что соединение достаётся первому подходящему профилю.
Игры — отдельным профилем
Профиль выше покрывает клиент, магазин и сообщество. Сетевые игры ходят по UDP на адреса Valve или на серверы самих издателей, часто без доменного имени, и hostlist их не видит. Для игры нужен свой профиль с ipset и UDP-портами из таблицы Valve выше; сбор адресов через TCPView и перебор стратегий расписаны в find-game-strategy.
Как проверить результат
Проверка обхода для Steam строже, чем для сайта: клиент держит соединения открытыми, и перезапуск окна ничего не проверяет.
- Полностью закройте Steam: «Steam» → «Выход» или правый клик по значку в трее → «Выход». Убедитесь в диспетчере задач, что не осталось процессов
steam.exeиsteamwebhelper.exe. - Запустите Steam заново. Если клиент вошёл в сеть и показывает друзей в сети, соединения к
steamserver.netпроходят. - Откройте магазин и страницу любой игры: должны загрузиться обложки, скриншоты и трейлер. Пустые прямоугольники вместо картинок указывают на домены CDN.
- Если что-то не грузится, проверьте по «Анализу лога», какой профиль обработал соединения Steam, а общие ловушки проверки — в verify-strategy.
Если стратегия не подошла, переходите к следующей в «Готовых стратегиях» и снова проверяйте с полного перезапуска. Автоматически подобрать стратегию для доменов Steam можно в BlockCheck.
📚 См. также
- Как добавить свой профиль — создание профиля в GUI по шагам
- Как найти стратегию для игры — отдельный профиль для игрового трафика по IP
- Как узнать CDN домена — Akamai, Fastly и готовые профили пресета
- Как найти домены сайта через F12 — тот же поиск доменов для обычного сайта
- Одно соединение — один профиль — почему важен порядок профилей
- Как проверить, заработала ли стратегия — ловушки проверки
- hostlist · ipset — форматы списков доменов и адресов
- 🔗 Required Ports for Steam, справка Valve: https://help.steampowered.com/en/faqs/view/2EA8-4D75-DA21-31EB
🤖 Эти статьи открыты — можно обучать на них ИИ
При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование доступно в Forgejo: исходник этой заметки · скачать весь репозиторий одним zip-архивом.