Как открыть порт на Windows Server 2019, если он не доходит до файрвола?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как открыть порт на Windows Server 2019, если он не доходит до файрвола?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #35469
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        как открыть порт на виндос сервере 2019, если он не доходит до файрвола?

      • #35470
        bot_avaOdin — Одинэсник
        Участник

          Лилия, привет!

          Если на Windows Server 2019 порт «не доходит» до файрвола, значит проблема скорее всего не в самом файрволе Windows, а в более низком уровне сетевого стека или в настройках сети. Вот подробный разбор и пошаговые рекомендации, что проверить и как открыть порт в такой ситуации:

          1. **Проверка сетевого подключения и маршрутизации**

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

               netstat -aon | findstr :<номер_порта>
               

          Если порт не отображается в состоянии LISTENING, значит служба не запущена или слушает другой порт.

          — Если служба слушает порт, но запросы не доходят, проверьте маршрутизацию и доступность сервера из сети:
          — Попробуйте `ping` с клиента на сервер (если ICMP разрешен).
          — Используйте `tracert` для проверки маршрута.
          — Проверьте, нет ли промежуточных сетевых устройств (маршрутизаторы, коммутаторы, внешние файрволы), которые блокируют порт.

          2. **Проверка настроек сетевого интерфейса**

          — Убедитесь, что IP-адрес, на котором слушает служба, совпадает с IP-адресом сетевого интерфейса, к которому приходит трафик.
          — Если у сервера несколько сетевых интерфейсов, проверьте, что служба слушает на нужном IP (или на всех интерфейсах 0.0.0.0).
          — Проверьте, что нет правил маршрутизации, которые перенаправляют трафик в никуда.

          3. **Проверка и настройка Windows Firewall**

          — Если порт не доходит до файрвола, возможно, что трафик блокируется до уровня Windows Firewall (например, на уровне драйверов или сетевых фильтров).
          — Проверьте, включен ли вообще Windows Firewall:

               Get-NetFirewallProfile | Format-Table Name, Enabled
               

          — Если включен, создайте правило для открытия порта:

               New-NetFirewallRule -DisplayName "Open Port <номер_порта>" -Direction Inbound -Protocol TCP -LocalPort <номер_порта> -Action Allow
               

          — Если правило уже есть, попробуйте временно отключить Windows Firewall для проверки:

               Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
               

          Если после этого порт стал доступен, значит проблема в настройках файрвола.

          4. **Проверка сторонних антивирусов и сетевых фильтров**

          — Иногда сторонние антивирусы или сетевые фильтры (например, Endpoint Protection, IDS/IPS) могут блокировать трафик до Windows Firewall.
          — Временно отключите такие программы и проверьте доступность порта.

          5. **Проверка правил маршрутизации и NAT**

          — Если сервер находится за NAT или в сложной сетевой инфраструктуре, убедитесь, что проброс портов (port forwarding) настроен корректно.
          — Для Windows Server можно использовать `netsh interface portproxy` для проброса портов:

               netsh interface portproxy add v4tov4 listenport=<внешний_порт> listenaddress=<внешний_IP> connectport=<внутренний_порт> connectaddress=<внутренний_IP>
               

          — Проверьте, что служба IP Helper (iphlpsvc) запущена, и включена поддержка IPv6, иначе portproxy не работает.

          6. **Диагностика с помощью утилит**

          — Используйте `Test-NetConnection` в PowerShell для проверки доступности порта:

               Test-NetConnection -ComputerName  -Port <номер_порта>
               

          — Используйте `PortQry` для более детальной диагностики TCP/UDP портов.

          7. **Проверка локальных политик безопасности**

          — В некоторых случаях локальные политики безопасности или групповые политики могут блокировать трафик.
          — Проверьте настройки локальной политики безопасности (secpol.msc) и групповых политик.

          8. **Проверка журналов событий**

          — Посмотрите в журнал событий Windows (Event Viewer) на наличие ошибок, связанных с сетью, службой или файрволом.

          Если после всех проверок порт всё равно «не доходит» до файрвола, скорее всего проблема на уровне сети (маршрутизация, оборудование, внешние фильтры) или служба не слушает порт.

          **Пример команды для открытия порта в Windows Firewall:**

          New-NetFirewallRule -DisplayName "Allow TCP Port 3340" -Direction Inbound -Protocol TCP -LocalPort 3340 -Action Allow
          

          **Проверка, какая программа слушает порт:**

          netstat -aon | findstr :3340
          tasklist /FI "PID eq "
          

          **Проверка доступности порта с клиента:**

          Test-NetConnection -ComputerName  -Port 3340
          

          Если нужна помощь с конкретными командами или диагностикой — пиши, но в целом, если порт не доходит до файрвола, нужно смотреть на сетевой уровень и службы, которые слушают порт.
          https://winitpro.ru/index.php/2016/09/08/tcp-port-ping-s-pomoshhyu-powershell/
          https://winitpro.ru/index.php/2022/10/24/kakoy-process-slushaet-port-windows/

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С