Подробный гайд: Как ограничить число подключений на порт в Windows 11
Важное техническое уточнение перед началом: в стандартном Брандмауэре Защитника Windows 11 (Windows Defender Firewall) нет встроенного инструмента для жёсткого ограничения количества одновременных подключений на конкретный порт. Штатный файрвол умеет только разрешать, блокировать или фильтровать трафик по IP-адресам, портам, протоколам и приложениям.
Однако, в зависимости от того, какая задача стоит (защита от DDoS, ограничение нагрузки на сервер, контроль фоновых задач), эту проблему можно решить другими штатными и сторонними методами. Ниже представлен подробный гайд по всем возможным сценариям.
Способ 1. Ограничение на уровне самого приложения (Рекомендуемый)
Если на порту работает серверное ПО (веб-сервер, база данных, игровой сервер), правильнее всего задавать лимит в его собственных настройках. Это снимает нагрузку с ОС.
Для IIS (Internet Information Services):
- Откройте Диспетчер служб IIS (inetmgr).
- Выберите нужный сайт в дереве слева.
- В центре дважды кликните по значку Ограничения (Limits) или Ограничения IP-адресов и доменов.
- В разделе "Максимальное количество подключений" (Maximum concurrent connections) укажите нужное число.
Для Nginx / Apache:
Лимит задается в конфигурационных файлах (`nginx.conf` или `httpd.conf`) через директивы `worker_connections` (Nginx) или `MaxRequestWorkers` (Apache).
Для баз данных (MySQL / PostgreSQL):
В конфигурационном файле (`my.cnf` или `postgresql.conf`) изменяется параметр `max_connections`.
Способ 2. Использование стороннего софта (NetLimiter)
Если вам нужно ограничить подключения на произвольный порт (например, для самописного скрипта, торрент-клиента или специфичного ПО), проще всего использовать утилиту NetLimiter.
Она работает на уровне ядра Windows и позволяет ставить лимиты на количество соединений для любого процесса.
- Скачайте и установите NetLimiter 4 (или 5) с официального сайта.
- Запустите программу. Вы увидите список всех процессов, использующих сеть.
- Найдите процесс, который "слушает" нужный вам порт (можно отсортировать по столбцу Local Port).
- В строке нужного процесса найдите столбец Connections (Подключения).
- Кликните по ячейке и выберите Add limit (Добавить лимит).
6. В появившемся окне:
- Limit type: выберите Connections (Количество подключений).
- Direction: Incoming (Входящие) или Both (Оба).
- Value: укажите максимальное число одновременных подключений.
7. Нажмите OK. Теперь ядро Windows будет отбрасывать новые соединения сверх этого лимита для данного процесса.
Способ 3. Настройка встроенных служб Windows (RDP и SMB)
Если вы хотите ограничить подключения к стандартным портам Windows (удаленный рабочий стол или сетевые папки), это делается через Групповые политики или ограничивается самой редакцией ОС.
Для RDP (Порт 3389)
Внимание:
- Работает только в Windows 11 Pro / Enterprise.
- Нажмите
Win + R, введитеgpedit.mscи нажмите Enter.
2. Перейдите по пути:
Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Подключения
3. Справа найдите политику Ограничить количество подключений (Limit number of connections).
4. Откройте её, переведите в состояние Включено и укажите максимальное число подключений.
Примечание:
В Windows 11 Home редактор групповых политик отсутствует, но сама система аппаратно ограничивает входящие RDP-сессии до 1 одновременного подключения.
Для SMB / Сетевых папок (Порт 445)
В клиентских версиях Windows 10/11 корпоративный лимит на входящие SMB-подключения уже зашит в ядро:
- Windows 11 Pro / Enterprise: не более 20 одновременных подключений.
- Windows 11 Home: не более 1-5 одновременных подключений. Обойти это ограничение штатными средствами Windows нельзя (потребуется установка Windows Server).
Способ 4. Ограничение на уровне роутера (Аппаратный файрвол)
Если ваш ПК с Windows 11 смотрит в интернет, и вы хотите защититься от флуда или ограничить количество сессий на проброшенный порт (например, для игрового сервера), лучше всего сделать это на шлюзе.
Для роутеров на базе Linux / OpenWRT / pfSense (iptables / nftables):
Используется модуль connlimit.
Пример правила для iptables, которое ограничивает количество подключений на порт 25565 (Minecraft) до 50 с одного IP-адреса:
iptables -A INPUT -p tcp --dport 25565 -m connlimit --connlimit-above 50 --connlimit-mask 32 -j REJECT
(Где --connlimit-mask 32 означает лимит на один IP-адрес).
Для MikroTik:
Это делается через Queue Tree или Connection Tracking в разделе IP -> Firewall -> Filter Rules, добавив правило с действием jump к connlimit.
Для домашних роутеров (Keenetic, ASUS, TP-Link):
В большинстве прошивок есть функция Защита от DoS-атак или Ограничение количества сессий NAT. В настройках безопасности можно задать жесткий лимит на общее количество полуоткрытых (half-open) и активных соединений на конкретный проброшенный порт.
Способ 5. Тонкая настройка HTTP.sys (Для веб-серверов на базе Windows)
Если вы используете встроенный драйвер HTTP.sys (на котором работает IIS, Docker Desktop в Windows, или .NET Core приложения), вы можете ограничить количество подключений через реестр.
- Откройте
regedit.
2. Перейдите в ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
- Создайте параметр DWORD (32 бита) с именем
MaxConnections. - Задайте нужное значение (например,
1000в десятичной системе). - Перезагрузите компьютер или перезапустите службу "Веб-публикации" (Web Deployment Agent Service) / IIS.
Примечание:
Этот лимит будет применяться ко всем очередям запросов HTTP.sys.
Важно
- Если нужно ограничить веб-сервер или БД — правьте конфиг самого приложения (Способ 1).
- Если нужно ограничить произвольную программу/игру в Windows — используйте NetLimiter (Способ 2).
- Если нужно защитить весь сервер от превышения нагрузки извне — настраивайте роутер/шлюз (Способ 4).
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.