Открыть порт на 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
Удаляем и изменяем правила брандмауэра
Если правило больше не нужно, удалите его, чтобы не засорить брандмауэр. Команда для удаления:
- Узнайте точное название правила:
netsh advfirewall firewall show rule name="all". - Удалите его:
netsh advfirewall firewall delete rule name="Название правила".
Для изменения правил (например, сменить порт или протокол) проще удалить старое и создать новое — netsh не поддерживает прямое редактирование.
⚠️ Внимание: Не удаляйте правила с названиямиCore NetworkingилиFile and Printer Sharing— это системные правила, без которых может нарушиться работа сети.
Разница между и 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 на локальный вашего ПК.
Что сделать, чтобы порт заработал
Часто задаваемые вопросы
Можно ли открыть порт без командной строки?
Да. Откройте Панель управления → Брандмауэр 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". Это разрешит все входящие подключения для указанной программы.