ОС: Win Server 2008 RC2 Брандмауэр Windows включен (если выключен, эффекта не будет)
Меня внезапно мучает проблема: я не могу найти ничего похожего с помощью поиска.
Я запускаю около 20 игровых серверов, которые привязываются к порту UDP, затем привязываются к порту TCP 1 выше порта UDP. Внезапно, день назад, новые привязки TCP перестали работать.
Теперь я подтвердил, что другие приложения не могут прослушивать большинство портов. Например, у меня есть программа Java, которую я скопировал и попробовал следующие порты: 33001, 23789, 89... совершенно случайные порты.
Что касается приложений, которые уже имеют привязки TCP, таких как HTTP и MySQL, то я обнаружил, что только порт 8080 может работать, и только для Apache. Если приложения оставляют свой порт по умолчанию, они не могут привязаться, однако они возвращаются в нормальное состояние, когда порт становится портом по умолчанию.
Я проверил наличие прослушивающих приложений через netstat и curports, а также наличие подключений к этим портам, и они полностью свободны.
решение1
Вероятно, на вашем сервере закончились временные порты.
Вы можете проверить это вПросмотрщик событий(Выполнить -> eventvwr.msc). Посмотрите на любые предупреждения вСистемапротокол сИД: 4227, 4231отTCP/IPисточник. Если вы видите что-либо, вам нужно перезагрузить сервер и настроить протокол TCP/IP через реестр -В Windows Server 2012 R2 закончились временные порты, хотя этого и не должно быть
решение2
Возможно, ваша программа была внесена в список исключений брандмауэра, а затем этот список был стерт.
Я также столкнулся с ситуацией, когда былидваустановлены брандмауэры, и вам нужно было их настроитьобаправильно. Это вызвало выдергивание волос.
решение3
Пробовали ли вы запустить службу брандмауэра Windows, а затем запустить/остановить ее из интерфейса брандмауэра Windows?
Нажмите «Пуск», нажмите «Поиск»; найдите «Брандмауэр Windows с расширенной безопасностью».
В Windows 7 и 2008R2 есть проблема, при которой фоновая служба должна быть запущена независимо от того, что вы хотите сделать с брандмауэром.
решение4
Если вы используете такие службы, как Hyper-V, это может быть вызвано "исключенные диапазоны портов". В этом случае ряд портов будет недоступен.
Вы можете проверить это,
PS ~> netsh interface ipv4 show excludedportrange protocol=tcp
Protocol tcp Port Exclusion Ranges
Start Port End Port
---------- --------
5357 5357
5985 5985
47001 47001
50000 50059 *
Если ваш порт находится в указанном выше диапазоне, любые способы их привязки не дадут результата. Согласноответ Суперпользователя, вы можете попытаться освободить его,
net stop winnat
Чтобы зарезервировать собственные порты, вы можете использовать
netsh int ipv4 add excludedportrange protocol=tcp startport=50323 numberofports=1