#Что означает ошибка
Порт закрыт
Проброс портов не работает, если у вас серый IP (CGNAT) у провайдера, неверное правило на роутере, блокирует брандмауэр или двойной NAT. Проверьте, есть ли у вас белый внешний IP.
Сравните WAN IP роутера с IP на сайте проверки.
Если они разные — у вас CGNAT.
Если провайдер использует CGNAT, проброс невозможен без белого IP. Проверьте внешний IP, правила проброса и брандмауэр.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| CGNATСерый IP. | Закрыт. | Белый IP. |
| Неверное правилоНастройка. | Закрыт. | Исправьте. |
| Файрвол ПКБлок. | Закрыт. | Разрешите. |
| Служба не слушаетПорт. | Закрыт. | Запустите. |
#Пошаговое решение
- Сравните внешний IP и WANНа домашнем компьютере откройте надёжную страницу определения внешнего IPv4-адреса, затем зайдите в панель своего роутера по адресу «Основной шлюз» (Windows:
ipconfig). В разделе «Интернет/WAN → Состояние» запишите IPv4 WAN. Если он отличается от публичного адреса либо относится к 10.0.0.0/8, 172.16–31.0.0/12, 192.168.0.0/16 или 100.64.0.0/10, может использоваться двойной NAT/CGNAT. Тогда обычный проброс портов на одном роутере может не работать; уточните у провайдера наличие публичного IPv4. - Закрепите IP устройстваВ панели управления собственного роутера откройте «LAN → DHCP → Резервирование адресов» (название зависит от модели). Найдите устройство по MAC-адресу в списке клиентов, выделите свободный адрес из своей подсети и привяжите к нему устройство. Сохраните правило, затем переподключите устройство к сети и убедитесь, что у него именно этот IPv4. Проброс порта на постоянно меняющийся адрес обычно перестаёт работать; случайные адреса не назначайте.
- Создайте правило пробросаУбедитесь, что сервис действительно слушает нужный порт на вашем устройстве и у роутера есть публичный адрес. В панели роутера откройте «NAT/Переадресация портов/Virtual Server» и создайте правило: внешний порт, внутренний IPv4 вашего устройства, внутренний порт и протокол TCP либо UDP по документации приложения. Сохраните, не открывайте удалённое администрирование роутера в интернет. Проверьте доступ извне с мобильной сети и выключите правило, если оно не требуется.
- Откройте порт в брандмауэреНа Windows откройте «Безопасность Windows → Брандмауэр и защита сети → Дополнительные параметры → Правила для входящих подключений → Создать правило». Выберите «Для порта», протокол и только нужный порт вашего приложения, задайте разрешение и ограничьте профили сети. Если нет уверенности в безопасности сервиса, не публикуйте порт. После проверки с другой сети удалите тестовое правило при отсутствии необходимости; проброс на роутере и разрешение в брандмауэре — разные этапы.
- Проверьте порт снаружиПроверяйте проброс только для собственного сервиса, который вы намеренно разрешили открывать из интернета. Сначала на компьютере с сервером запустите приложение и проверьте, что оно слушает нужный порт: в Windows откройте PowerShell и выполните
Get-NetTCPConnection -State Listen | Where-Object LocalPort -eq 25565(вместо 25565 укажите свой TCP-порт); в Linux —sudo ss -lntpи найдите этот порт. Для UDP эти TCP-команды не подходят: смотритеsudo ss -lnupи проверяйте по инструкции конкретного приложения. Затем с другой сети, например с телефона через мобильный интернет (Wi-Fi выключен), обращайтесь к публичному IPv4 роутера и внешнему порту с помощью официального клиента вашего приложения. Для HTTP-сервера можно открытьhttp://ПУБЛИЧНЫЙ_IP:ПОРТ, подставив свои значения; для игр и иных протоколов браузер не является проверкой. Если приложение внутри локальной сети доступно, но извне нет, проверьте WAN-IP роутера, CGNAT, точный протокол, правило NAT и входящий брандмауэр. Онлайн-проверки портов обычно проверяют только TCP; отрицательный результат при UDP ничего не доказывает. Не открывайте административные панели, RDP и SSH в интернет ради этого теста.
#Проверка IP
Узнайте внешний IP на и сравните с WAN-адресом в интерфейсе роутера. Различаются, а WAN из диапазонов 100.64.0.0/10, 10.x, 192.168.x, 172.16–31.x — это CGNAT: проброс не заработает. Закажите «белый» (статический) IP у провайдера или используйте VPN-туннель/обратный прокси (Cloudflare Tunnel, WireGuard на VPS).
#Правило на роутере
Задайте статический IP устройству (резерв по MAC). Создайте правило: внешний порт, внутренний IP и порт, протокол TCP/UDP. Отключите двойной NAT (режим моста у модема провайдера). Проверьте UPnP. Перезагрузите роутер.
#Брандмауэр и сервис
Откройте порт в брандмауэре: netsh advfirewall firewall add rule name="App" dir=in action=allow protocol=TCP localport=PORT. Убедитесь, что сервис слушает на 0.0.0.0. Проверьте порт снаружи на во время работы сервиса.
netsh advfirewall firewall add rule name="App" dir=in action=allow protocol=TCP localport=25565netstat -ano | findstr :25565Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.
#Как проверить результат
После настройки проверьте порт снаружи с мобильной сети (не из домашнего Wi-Fi): откройте и укажите порт. Результат «Success» подтверждает проброс. Не забудьте, что сервис должен быть запущен в момент проверки. Если порт закрыт, проверьте последовательность: интернет → роутер (правило) → ПК (брандмауэр) → приложение (слушает порт). Для проверки приложения используйте netstat -ano | findstr :PORT и подключение с локального адреса telnet 192.168.1.50 PORT.
#Альтернативы при CGNAT
Если белого IP нет, используйте туннели: для веб-сервисов без проброса портов, для доступа между вашими устройствами, WireGuard на арендованном VPS как обратный прокси. Для игровых серверов подходят сервисы-ретрансляторы и аренда небольшого VPS. Услуга «белый IP» у большинства провайдеров платная и стоит небольшую сумму в месяц — сравните с арендой VPS.