Открыть порт на Windows 10 через командную строку можно за 2 минуты, если знать точные команды. Это пригодится для запуска сервера, удалённого доступа или онлайн-игр. Используем встроенный брандмауэр Windows Defender и инструмент netsh — никаких сторонних программ.

Дальше разберём пошагово: от проверки текущих правил до добавления нового правила для входящих подключений. Расскажу, какие команды работать, а какие — нет, и почему иногда порт не открывается, хотя всё сделано правильно.

Зачем открывать порты и когда это нужно

Порты — это виртуальные «двери» в операционной системе, через которые программы обмениваются данными с сетью. По умолчанию Windows 10 блокирует большинство портов ради безопасности. Открывать их нужно в трёх случаях:

  • Запуск сервера (веб, FTP, игровой). Например, для Minecraft или CS:GO требуется открыть порт 25565 или 27015 соответственно.
  • Удалённый доступ к компьютеру через RDP (порт 3389) или TeamViewer.
  • Работа специфических приложений, которые используют нестандартные порты (например, BitTorrent на порту 6881).
💡

Перед открытием порта убедитесь, что роутер не блокирует его. Настройте перенаправление портов (Port Forwarding) в маршрутизаторе, если подключение идёт извне локальной сети.

КомандаОписаниеПример вывода
netstat -anoПоказывает все активные подключения и портыTCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1234
netstat -abОтображает программы, использующие портыTCP 192.168.1.1:3389 user-PC:0 LISTENING [rdp.exe]
findstr "80"Фильтрует вывод по номеру портаTCP 0.0.0.0:80 0.0.0.0:0 LISTENING 5678

Проверяем текущие открытые порты

Прежде чем добавлять правило, проверьте, не открыт ли нужный порт уже. Для этого выполняем в командной строке (от имени администратора) команду:

netstat -ano | findstr "ПОРТ"

Замените ПОРТ на номер, например, 8080. Если в ответе есть строка с LISTENING, порт уже используется. Чтобы увидеть все активные подключения, введите:

netstat -ano

В колонке Local Address отображаются и номер порта (например, 0.0.0.0:8080), а в PID — идентификатор процесса, который его занимает.

Открываем порт через брандмауэр Windows

Основной способ — добавить правило в брандмауэр через netsh. Откройте командную строку от имени администратора (Win + X → Командная строка (администратор)) и выполните:

netsh advfirewall firewall add rule name="Название правила" dir=in action=allow protocol=TCP localport=ПОРТ

Пример для открытия порта 25565 для Minecraft:

netsh advfirewall firewall add rule name="Minecraft Server" dir=in action=allow protocol=TCP localport=25565

Чтобы открыть порт для UDP (например, для Discord или некоторых игр), замените protocol=TCP на protocol=UDP.

После выполнения команды правило появится в списке брандмауэра. Проверить это можно так:

netsh advfirewall firewall show rule name="all"

Если нужно открыть диапазон портов (например, 8000–8010), используйте:

netsh advfirewall firewall add rule name="Port Range" dir=in action=allow protocol=TCP localport=8000-8010

Удаляем и изменяем правила брандмауэра

Если правило больше не нужно, удалите его, чтобы не засорить брандмауэр. Команда для удаления:

  1. Узнайте точное название правила: netsh advfirewall firewall show rule name="all".
  2. Удалите его: netsh advfirewall firewall delete rule name="Название правила".

Для изменения правил (например, сменить порт или протокол) проще удалить старое и создать новое — netsh не поддерживает прямое редактирование.

⚠️ Внимание: Не удаляйте правила с названиями Core Networking или File and Printer Sharing — это системные правила, без которых может нарушиться работа сети.
Какой порт вы открывоете чаще всего?
3389 (RDP)
80/443 (веб-сервер)
25565 (Minecraft)
Другой вариант

Разница между и UDP: что выбрать

При открытии порта нужно указать протокол — TCP или UDP. В чём разница и когда что использовать:

ПротоколОсобенностиПримеры использования
TCPНадёжная передача данных с проверкой доставки. Медленнее, но без потерь.Веб-сайты (80, 443), RDP (3389), FTP (21)
UDPБыстрая передача без проверки. Подходит для потокового видео или игр.Discord, VoIP, Quake 3, DNS (53)
ОбаЕсли программа использует и TCP, и UDP.BitTorrent, некоторые онлайн-игры

Если не уверены, какой протокол нужен, откройте порт для обоих: выполните команду дважды — сначала с protocol=TCP, затем с protocol=UDP.

Проблемы и их решения

Иногда порт не открывается, хотя команда выполнена успешно. причины:

  • Антивирус блокирует порт. Отключите временно Windows Defender или сторонний антивирус и проверьте.
  • Роутер не пропускает трафик. Настройте Port Forwarding в маршрутизаторе.
  • Порт занят другой программой. Проверьте через netstat -ano и завершите процесс (taskkill /PID НОМЕР /F).
  • Неправильные права. Командную строку нужно запускать от имени администратора.

Даже если порт открыт в Windows, роутер может блокировать входящий трафик извне. Без настройки Port Forwarding подключение из интернета не будет работать.

Практика: открываем порт для веб-сервера на примере XAMPP

Допустим, вы установили XAMPP и хотите, чтобы веб-сервер (Apache) был доступен из локальной сети. По умолчанию он использует порт 80. Откройте его:

netsh advfirewall firewall add rule name="Apache HTTP" dir=in action=allow protocol=TCP localport=80

Теперь проверьте с другого устройства в той же сети: введите в браузере вашего компьютера (узнать можно через ipconfig). Если страница загружается — всё работает.

Чтобы разрешить доступ из интернета, настройте на роутере перенаправление порта 80 на локальный вашего ПК.

Что сделать, чтобы порт заработал

Выполнено: 0 / 4

Часто задаваемые вопросы

Можно ли открыть порт без командной строки?

Да. Откройте Панель управления → Брандмауэр Windows → Дополнительные параметры. В левом меню выберите Правила для входящих подключений → Создать правило. Далее выберите Для порта, укажите протокол и номер порта, затем разрешите подключение.

Почему порт открыт, но подключение не работает?

Скорее всего, проблема в роутере. Порт может быть открыт в Windows, но маршрутизатор не пропускает входящий трафик. Настройте Port Forwarding в настройках роутера: укажите внешний порт, локальный вашего ПК и внутренний порт.

Как закрыть все открытые порты?

Сбросьте брандмауэр к настройкам по умолчанию: netsh advfirewall reset. Это удалит все пользовательские правила, но оставит системные. Будьте осторожны — после выполнения команды некоторые программы могут перестать работать.

Можно ли открыть порт для конкретной программы?

Да. В команде netsh укажите параметр program вместо localport. Пример: netsh advfirewall firewall add rule name="MyApp" dir=in action=allow program="C:\Path\To\Program.exe". Это разрешит все входящие подключения для указанной программы.