Назад | Перейти на главную страницу

lsass.exe на сервере Windows слушает порт 5000. Как изменить это поведение?

Наше настраиваемое приложение Windows прослушивает порт 5000. После обычной перезагрузки наше приложение больше не могло прослушивать порт 5000, так как lsass.exe (локальный сервер аутентификации безопасности), который работает как служба Windows, уже начал прослушивать порт 5000. Есть ли способ дать указание lsass.exe не использовать порт 5000? Есть ли другие альтернативы?

Ваш единственный шанс - отключить службу SSDP на сервере. Обратите внимание, что при этом вы потеряете такие функции, как UPnP.

В противном случае единственный другой вариант - перенастроить приложение для использования другого порта.

Вы можете изменить динамический диапазон портов, используемых приложением Windows, командой:

netsh int ipv4 set dynamicport tcp start=<start_port> num=<ports_count>

видеть https://support.microsoft.com/en-us/help/929851/the-default-dynamic-port-range-for-tcp-ip-has-changed-in-windows-vista

Скорее всего, диапазон портов по умолчанию для вашей системы был изменен со стандартного 49152-65535 на более крупный 1025-65535. Иногда это происходит при установке определенных приложений, таких как Microsoft Exchange или SQL Server.

https://social.technet.microsoft.com/Forums/en-US/3cd81773-e22c-4347-b10c-3dd2a8da6433/firewall-ports-for-remote-desktop-services-deployment?forum=winserverTS

Я тоже сталкиваюсь с этой проблемой. В некоторых системах lsass, wininit, spoolsv и т. Д. Работают на высоких портах (49152-65535), но в других, похоже, они работают на низких портах 1024-5000. Я не уверен, почему система выбирает, какой пул, но похоже, что Microsoft задокументировала это поведение:

https://support.microsoft.com/en-us/help/832017/service-overview-and-network-port-requirements-for-windows

Важно. Эта статья содержит несколько ссылок на динамический диапазон портов по умолчанию. В Windows Server 2008 и более поздних версиях, а также в Windows Vista и более поздних версиях диапазон динамических портов по умолчанию изменен на следующий диапазон:

   Start port: 49152
   End port: 65535

Windows 2000, Windows XP и Windows Server 2003 используют следующий динамический диапазон портов:

   Start port: 1025
   End port: 5000

Что это значит для вас:

   If your computer network environment uses only Windows Server 2012, Windows Server 2008 R2, Windows Server 2008, Windows 8, Windows 7, or Windows Vista, you must enable connectivity over the high port range of 49152 through 65535.
    If your computer network environment uses Windows Server 2012, Windows Server 2008 R2, Windows Server 2008, Windows 8, Windows 7, or Windows Vista together with versions of Windows earlier than Windows Server 2008 and Windows Vista, you must enable connectivity over both the following port ranges:
        High port range 49152 through 65535
        Low port range 1025 through 5000
    If your computer network environment uses only versions of Windows earlier than Windows Server 2008 and Windows Vista, you must enable connectivity over the low port range of 1025 through 5000.

Для получения дополнительных сведений о диапазоне динамических портов по умолчанию в Windows Server 2012, Windows 8, Windows Server 2008 R2, Windows 7, Windows Server 2008 и Windows Vista щелкните следующий номер статьи, чтобы перейти к статье в базе знаний Microsoft: 929851 Диапазон динамических портов по умолчанию для TCP / IP был изменен в Windows Vista и Windows Server 2008.

В последней ссылке есть еще один лакомый кусочек:

Примечание. При установке Microsoft Exchange Server 2007 на компьютер под управлением Windows Server 2008 диапазон портов по умолчанию составляет от 1025 до 60000.

Для меня это похоже на SQL-сервер. Я предполагаю, что в системах с некоторым программным обеспечением корпоративного уровня (Exchange, SQL и т. Д.) Диапазон портов по умолчанию увеличивается со стандартного 49152-65535 до большего диапазона (1025-60000?)

Это подтверждается выполнением предложенных команд

   netsh int ipv4 show dynamicport tcp
   netsh int ipv4 show dynamicport udp
   netsh int ipv6 show dynamicport tcp
   netsh int ipv6 show dynamicport udp 

Я возвращаю «начальный порт 1025, количество портов 64510» в системах, использующих низкие порты, и «начальный порт 49152, количество портов 16384» в обычных системах.

Они дают команды для изменения портов, хотя я не знаю, будут ли последствия его обратного изменения, когда запущено одно из специальных приложений:

   netsh int ipv4 set dynamicport tcp start=49152 num=16384
   netsh int ipv4 set dynamicport udp start=49152 num=16384
   netsh int ipv6 set dynamicport tcp start=49152 num=16384
   netsh int ipv6 set dynamicport udp start=49152 num=16384