Похожая проблема была несколько лет назад но на server 2008r2. Тогда решилась только переустановкой ОС. Сеичас проблема повторилась на другом сервере с ОС 2012R2. Сервер рядовой (не контроллер), развернут сервер терминалов и SQL.
Буквально как с месяц сервер, примерно с периодичностью раз в неделю, стал вылетать из домена. Т.е. прекращается авторизация доменных пользователей — Отказ в Доступе. Локально авторизовывает без проблем. Журнал начинает фиксировать
в начале такое предупреждение:
Событие 4227:
Произошла ошибка TCP/IP при попытке установить исходящее подключение, так как выбранная локальная конечная точка недавно использовалась для подключения к той же удаленной конечной точке. Эта ошибка обычно возникает тогда, когда исходящее подключение открывается
и закрывается с высокой частотой, в результате чего все доступные локальные порты используются и протокол TCP/IP должен повторно использовать локальный порт для исходящего подключения. Для уменьшения риска повреждения данных стандарт TCP/IP требует,
чтобы существовал минимальный промежуток времени между последовательными подключениями из определенной начальной точки к определенной конечной точке.
————————
Далее:
Предупреждение событие 4231
Не удалось выполнить запрос на выделение не являющегося реальным номера порта из глобального пространства TCP-портов, так как все подобные порты уже используются.
————————
Далее с разницей в 11 минут, еще три раза 4227………………..
————————
дальше,скорее всего вытекающие ошибки:
Событие 1030:
Ошибка при обработке групповой политики. Windows пыталась получить новые параметры групповой политики для этого пользователя или компьютера. На вкладке «Подробности» можно найти код и описание ошибки. Windows автоматически
повторит попытку выполнения этой операции при следующем цикле обновления. Присоединенные к домену компьютеры должны успешно проходить процесс разрешения имени и иметь подключение к контроллеру домена для обнаружения новых
объектов групповой политики и их параметров. Когда обработка групповой политики будет выполнена успешно, это событие будет записано в журнал.
—————————-
1054:
Ошибка при обработке групповой политики. Windows не удалось получить имя контроллера домена. Возможная причина: ошибка разрешения имен. Проверьте, что служба DNS настроена и работает правильно.
——————————-
5719
Компьютер не может установить безопасный сеанс связи с контроллером домена DOMAIN по следующей причине:
Сервер RPC недоступен.
Это может затруднить проверку подлинности. Убедитесь, что компьютер подключен к сети. Если ошибка повторится, обратитесь к администратору домена.
Дополнительные сведения
Если данный компьютер является контроллером указанного домена, он устанавливает безопасный сеанс связи с эмулятором основного контроллера этого домена. В противном случае компьютер устанавливает безопасный сеанс
связи с произвольным контроллером данного домена
——————————-
Проблема решается только перезагрузкой системы. Где то через неделю все повторяется с таких же событий, далее такие же ошибки. Все в таком порядке. На пользователей, что уже были подключены к терминалу, ни проблема не влияет,
пока не выйдут из сеанса. Уж больно не хочется опять переустанавливать сервер. Может было у кого то же самое?
-
Изменено
8 ноября 2016 г. 16:23
-
Изменен тип
Petko KrushevMicrosoft contingent staff, Moderator
6 января 2017 г. 8:29
Содержание
- Tcp ip 4227 windows server 2012
- Tcp ip 4227 windows server 2012
- Устранение проблем нехватки портов Troubleshoot port exhaustion issues
- Динамический диапазон порта по умолчанию для TCP/IP Default dynamic port range for TCP/IP
- Устранение неполадок в истощении порта Troubleshoot Port exhaustion
- Метод 1 Method 1
- Метод 2 Method 2
- Метод 3 Method 3
- Полезные ссылки Useful links
Tcp ip 4227 windows server 2012
Профиль | Отправить PM | Цитировать
Здравствуйте уважаемые!
Есть 2 КД на базе win 2008 standard. Регулярно обновляются.
Основной КД выходит в интернет через девайс DFL-860e.
Был я подключен через l2tp к билайну, все было нормально.
Но сейчас пришлось сменить провайдера, который выводит в интернет через статические настройки, без туннеля.
После этого я стал наблюдать на основном КД (на втором все тихо) ошибку:
TCPIP 4227
Произошла ошибка TCP/IP при попытке установить исходящее подключение, так как выбранная локальная конечная точка недавно использовалась для подключения к той же удаленной конечной точке. Эта ошибка обычно возникает тогда, когда исходящее подключение открывается и закрывается с высокой частотой, в результате чего все доступные локальные порты используются и протокол TCP/IP должен повторно использовать локальный порт для исходящего подключения. Для уменьшения риска повреждения данных стандарт TCP/IP требует, чтобы существовал минимальный промежуток времени между последовательными подключениями из определенной начальной точки к определенной конечной точке.
Ошибок за день всего пару. Почитал в интернете, пишут что это связанно с тем, что большая пауза на резервирование портов и надо сменить с 240с на 60с или 30с.
Но все дело в том, что ошибки эти появились одна в 19:31 ,а другая в 23:41 , когда все компы выключены и работают только 2 КД на всю сеть, а сетевая активность стремиться к нулю.
И еще смущает результат команды netstat –a –b:
[dns.exe]
UDP 0.0.0.0:64574 *:*
[dns.exe]
UDP 0.0.0.0:64575 *:*
[dns.exe]
UDP 0.0.0.0:64576 *:*
[dns.exe]
UDP 0.0.0.0:64577 *:*
[dns.exe]
UDP 0.0.0.0:64578 *:*
[dns.exe]
UDP 0.0.0.0:64579 *:*
[dns.exe]
UDP 0.0.0.0:64580 *:*
[dns.exe]
UDP 0.0.0.0:64581 *:*
[dns.exe]
UDP 0.0.0.0:64582 *:*
[dns.exe]
UDP 0.0.0.0:64583 *:*
[dns.exe]
UDP 0.0.0.0:64584 *:*
[dns.exe]
UDP 0.0.0.0:64585 *:*
[dns.exe]
UDP 127.0.0.1:53 *:*
[dns.exe]
UDP 127.0.0.1:49795 *:*
[taskeng.exe]
UDP 127.0.0.1:49796 *:*
[DFSRs.exe]
UDP 127.0.0.1:55812 *:*
[dfssvc.exe]
UDP 127.0.0.1:55813 *:*
[mmc.exe]
UDP 127.0.0.1:57610 *:*
NlaSvc
[svchost.exe]
UDP 127.0.0.1:57611 *:*
[era.exe]
UDP 127.0.0.1:57612 *:*
gpsvc
[svchost.exe]
UDP 127.0.0.1:59817 *:*
[lsass.exe]
UDP 127.0.0.1:61120 *:*
[spoolsv.exe]
UDP 127.0.0.1:63215 *:*
LanmanWorkstation
[svchost.exe]
UDP 127.0.0.1:64586 *:*
DHCPServer
[svchost.exe]
UDP 127.0.0.1:64587 *:*
[dns.exe]
UDP 127.0.0.1:64588 *:*
[ismserv.exe]
UDP 192.168.0.5:53 *:*
[dns.exe]
UDP 192.168.0.5:67 *:*
DHCPServer
[svchost.exe]
UDP 192.168.0.5:68 *:*
DHCPServer
[svchost.exe]
UDP 192.168.0.5:88 *:*
[lsass.exe]
UDP 192.168.0.5:137 *:*
Не удается получить сведения о владельце
x. Сбой при инициализации Windows Sockets: 5
UDP 192.168.0.5:138 *:*
Не удается получить сведения о владельце
x. Сбой при инициализации Windows Sockets: 5
UDP 192.168.0.5:389 *:*
[lsass.exe]
UDP 192.168.0.5:464 *:*
[lsass.exe]
UDP 192.168.0.5:2535 *:*
DHCPServer
[svchost.exe]
UDP [::]:123 *:*
W32Time
[svchost.exe]
UDP [::]:500 *:*
IKEEXT
[svchost.exe]
UDP [::]:59822 *:*
[dns.exe]
UDP [::1]:53 *:*
[dns.exe]
UDP [::1]:59820 *:*
[dns.exe]
На всякий случай прогнал AVZ . Чисто все.
Подскажите, в чем может быть проблема?
Tcp ip 4227 windows server 2012
Профиль | Отправить PM | Цитировать
Здравствуйте уважаемые!
Есть 2 КД на базе win 2008 standard. Регулярно обновляются.
Основной КД выходит в интернет через девайс DFL-860e.
Был я подключен через l2tp к билайну, все было нормально.
Но сейчас пришлось сменить провайдера, который выводит в интернет через статические настройки, без туннеля.
После этого я стал наблюдать на основном КД (на втором все тихо) ошибку:
TCPIP 4227
Произошла ошибка TCP/IP при попытке установить исходящее подключение, так как выбранная локальная конечная точка недавно использовалась для подключения к той же удаленной конечной точке. Эта ошибка обычно возникает тогда, когда исходящее подключение открывается и закрывается с высокой частотой, в результате чего все доступные локальные порты используются и протокол TCP/IP должен повторно использовать локальный порт для исходящего подключения. Для уменьшения риска повреждения данных стандарт TCP/IP требует, чтобы существовал минимальный промежуток времени между последовательными подключениями из определенной начальной точки к определенной конечной точке.
Ошибок за день всего пару. Почитал в интернете, пишут что это связанно с тем, что большая пауза на резервирование портов и надо сменить с 240с на 60с или 30с.
Но все дело в том, что ошибки эти появились одна в 19:31 ,а другая в 23:41 , когда все компы выключены и работают только 2 КД на всю сеть, а сетевая активность стремиться к нулю.
И еще смущает результат команды netstat –a –b:
[dns.exe]
UDP 0.0.0.0:64574 *:*
[dns.exe]
UDP 0.0.0.0:64575 *:*
[dns.exe]
UDP 0.0.0.0:64576 *:*
[dns.exe]
UDP 0.0.0.0:64577 *:*
[dns.exe]
UDP 0.0.0.0:64578 *:*
[dns.exe]
UDP 0.0.0.0:64579 *:*
[dns.exe]
UDP 0.0.0.0:64580 *:*
[dns.exe]
UDP 0.0.0.0:64581 *:*
[dns.exe]
UDP 0.0.0.0:64582 *:*
[dns.exe]
UDP 0.0.0.0:64583 *:*
[dns.exe]
UDP 0.0.0.0:64584 *:*
[dns.exe]
UDP 0.0.0.0:64585 *:*
[dns.exe]
UDP 127.0.0.1:53 *:*
[dns.exe]
UDP 127.0.0.1:49795 *:*
[taskeng.exe]
UDP 127.0.0.1:49796 *:*
[DFSRs.exe]
UDP 127.0.0.1:55812 *:*
[dfssvc.exe]
UDP 127.0.0.1:55813 *:*
[mmc.exe]
UDP 127.0.0.1:57610 *:*
NlaSvc
[svchost.exe]
UDP 127.0.0.1:57611 *:*
[era.exe]
UDP 127.0.0.1:57612 *:*
gpsvc
[svchost.exe]
UDP 127.0.0.1:59817 *:*
[lsass.exe]
UDP 127.0.0.1:61120 *:*
[spoolsv.exe]
UDP 127.0.0.1:63215 *:*
LanmanWorkstation
[svchost.exe]
UDP 127.0.0.1:64586 *:*
DHCPServer
[svchost.exe]
UDP 127.0.0.1:64587 *:*
[dns.exe]
UDP 127.0.0.1:64588 *:*
[ismserv.exe]
UDP 192.168.0.5:53 *:*
[dns.exe]
UDP 192.168.0.5:67 *:*
DHCPServer
[svchost.exe]
UDP 192.168.0.5:68 *:*
DHCPServer
[svchost.exe]
UDP 192.168.0.5:88 *:*
[lsass.exe]
UDP 192.168.0.5:137 *:*
Не удается получить сведения о владельце
x. Сбой при инициализации Windows Sockets: 5
UDP 192.168.0.5:138 *:*
Не удается получить сведения о владельце
x. Сбой при инициализации Windows Sockets: 5
UDP 192.168.0.5:389 *:*
[lsass.exe]
UDP 192.168.0.5:464 *:*
[lsass.exe]
UDP 192.168.0.5:2535 *:*
DHCPServer
[svchost.exe]
UDP [::]:123 *:*
W32Time
[svchost.exe]
UDP [::]:500 *:*
IKEEXT
[svchost.exe]
UDP [::]:59822 *:*
[dns.exe]
UDP [::1]:53 *:*
[dns.exe]
UDP [::1]:59820 *:*
[dns.exe]
На всякий случай прогнал AVZ . Чисто все.
Подскажите, в чем может быть проблема?
Устранение проблем нехватки портов Troubleshoot port exhaustion issues
Протоколы TCP и UDP работают на основе номеров портов, используемых для установления подключения. TCP and UDP protocols work based on port numbers used for establishing connection. Любому приложению или службе, необходимой для установления подключения TCP/UDP, потребуется порт на его стороне. Any application or a service that needs to establish a TCP/UDP connection will require a port on its side.
Существует два типа портов: There are two types of ports:
- Эфемерныепорты, которые обычно являются динамическими портами, являются набором портов, которые по умолчанию будут иметь каждый компьютер, чтобы сделать исходящие подключения. Ephemeral ports, which are usually dynamic ports, are the set of ports that every machine by default will have them to make an outbound connection.
- Известные порты — это определенный порт для конкретного приложения или службы. Well-known ports are the defined port for a particular application or service. Например, служба файловой серверной службы находится в порту 445, HTTPS — 443, HTTP — 80, RPC — 135. For example, file server service is on port 445, HTTPS is 443, HTTP is 80, and RPC is 135. Настраиваемые приложения также будут иметь определенные номера портов. Custom application will also have their defined port numbers.
Клиенты при подключении к приложению или службе будут использовать эфемерный порт из его машины для подключения к известному порту, определенному для этого приложения или службы. Clients when connecting to an application or service will make use of an ephemeral port from its machine to connect to a well-known port defined for that application or service. Браузер на клиентской машине будет использовать эфемерный порт для подключения к https://www.microsoft.com порту 443. A browser on a client machine will use an ephemeral port to connect to https://www.microsoft.com on port 443.
В сценарии, в котором один и тот же браузер создает много подключений к нескольким веб-сайтам, для любого нового подключения, которое пытается использовать браузер, используется эфемерный порт. In a scenario where the same browser is creating a lot of connections to multiple website, for any new connection that the browser is attempting, an ephemeral port is used. Через некоторое время вы заметите, что подключения начнут сбой и одна высокая возможность для этого будет потому, что браузер использовал все доступные порты для подключения за пределами и любые новые попытки установить подключение не удастся, так как нет более доступных портов. After some time, you will notice that the connections will start to fail and one high possibility for this would be because the browser has used all the available ports to make connections outside and any new attempt to establish a connection will fail as there are no more ports available. Когда все порты на компьютере используются, мы используем его как истощение порта. When all the ports are on a machine are used, we term it as port exhaustion.
Динамический диапазон порта по умолчанию для TCP/IP Default dynamic port range for TCP/IP
Чтобы соответствовать рекомендациям управления номерами, заданными в Интернете, Корпорация Майкрософт увеличила динамический диапазон клиентских портов для исходяющих подключений. To comply with Internet Assigned Numbers Authority (IANA) recommendations, Microsoft has increased the dynamic client port range for outgoing connections. Новый порт запуска по умолчанию — 49152, а конечный порт по умолчанию — 65535. The new default start port is 49152, and the new default end port is 65535. Это изменение конфигурации более ранних версий Windows, которые использовали диапазон портов по умолчанию от 1025 до 5000. This is a change from the configuration of earlier versions of Windows that used a default port range of 1025 through 5000.
Динамический диапазон порта можно просмотреть на компьютере с помощью следующих команд сетки: You can view the dynamic port range on a computer by using the following netsh commands:
- netsh int ipv4 show dynamicport tcp
- netsh int ipv4 show dynamicport udp
- netsh int ipv6 show dynamicport tcp
- netsh int ipv6 show dynamicport udp
Диапазон устанавливается отдельно для каждого транспорта (TCP или UDP). The range is set separately for each transport (TCP or UDP). Диапазон порта теперь — это диапазон, который имеет отправную точку и конечную точку. The port range is now a range that has a starting point and an ending point. Клиенты Майкрософт, развертывавшие серверы с Windows Server, могут иметь проблемы, влияющие на связь RPC между серверами, если брандмауэры используются во внутренней сети. Microsoft customers who deploy servers that are running Windows Server may have problems that affect RPC communication between servers if firewalls are used on the internal network. В этих ситуациях рекомендуется перенастроить брандмауэры, чтобы разрешить трафик между серверами в динамическом диапазоне портов от 49152 до 65535. In these situations, we recommend that you reconfigure the firewalls to allow traffic between servers in the dynamic port range of 49152 through 65535. Этот диапазон помимо известных портов, используемых службами и приложениями. This range is in addition to well-known ports that are used by services and applications. Или диапазон портов, используемый серверами, может быть изменен на каждом сервере. Or, the port range that is used by the servers can be modified on each server. Этот диапазон можно настроить с помощью команды netsh следующим образом. You adjust this range by using the netsh command, as follows. Вышеуказанная команда задает динамический диапазон порта для TCP. The above command sets the dynamic port range for TCP.
Порт запуска — это число, а общее число портов — диапазон. The start port is number, and the total number of ports is range. Ниже приводится пример команд: The following are sample commands:
- netsh int ipv4 set dynamicport tcp start=10000 num=1000
- netsh int ipv4 set dynamicport udp start=10000 num=1000
- netsh int ipv6 set dynamicport tcp start=10000 num=1000
- netsh int ipv6 set dynamicport udp start=10000 num=1000
Эти примерные команды устанавливают динамический диапазон портов для запуска в порте 10000 и окончания в порте 10999 (1000 портов). These sample commands set the dynamic port range to start at port 10000 and to end at port 10999 (1000 ports). Минимальный диапазон портов, который можно установить, — 255. The minimum range of ports that can be set is 255. Минимальный порт запуска, который можно установить, — 1025. The minimum start port that can be set is 1025. Максимальный конечный порт (в зависимости от настраиваемого диапазона) не может превышать 65535. The maximum end port (based on the range being configured) cannot exceed 65535. Чтобы повторить поведение Windows Server 2003 по умолчанию, используйте 1025 в качестве порта запуска, а затем используйте 3976 в качестве диапазона для TCP и UDP. To duplicate the default behavior of Windows Server 2003, use 1025 as the start port, and then use 3976 as the range for both TCP and UDP. Это приводит к запуску порта 1025 и конечного порта 5000. This results in a start port of 1025 and an end port of 5000.
В частности, для исходящие подключения в качестве входящих подключений не потребуется эфемерный порт для приемки подключений. Specifically, about outbound connections as incoming connections will not require an Ephemeral port for accepting connections.
Так как исходящие подключения начинают сбой, вы увидите много ниже поведения: Since outbound connections start to fail, you will see a lot of the below behaviors:
Не удается войти в машину с учетными данными домена, однако вход с локальной учетной записью работает. Unable to sign in to the machine with domain credentials, however sign-in with local account works. Для регистрации домена потребуется связаться с dc для проверки подлинности, которая снова является исходящие подключения. Domain sign-in will require you to contact the DC for authentication which is again an outbound connection. Если у вас есть набор учетных данных кэша, вход в домен может по-прежнему работать. If you have cache credentials set, then domain sign-in might still work.
Сбои обновления групповой политики: Group Policy update failures:
Недоступными являются файлы: File shares are inaccessible:
RDP с пострадавшего сервера не удается: RDP from the affected server fails:
Любое другое приложение, запущенное на компьютере, начнет выдать ошибки Any other application running on the machine will start to give out errors
Перезагрузка сервера позволит решить проблему временно, но все симптомы будут возвращаться через некоторое время. Reboot of the server will resolve the issue temporarily, but you would see all the symptoms come back after a period of time.
Если вы подозреваете, что машина находится в состоянии истощения порта: If you suspect that the machine is in a state of port exhaustion:
Попробуйте сделать исходящие подключения. Try making an outbound connection. На сервере/компьютере можно получить доступ к удаленной совместной информации или попробовать RDP на другом сервере или telnet на сервере в порту. From the server/machine, access a remote share or try an RDP to another server or telnet to a server on a port. Если исходящие подключения не удается для всех этих, перейдите к следующему шагу. If the outbound connection fails for all of these, go to the next step.
Откройте для просмотра событий и в системных журналах и посмотрите события, которые четко указывают текущее состояние: Open event viewer and under the system logs, look for the events which clearly indicate the current state:
а. a. Event ID 4227 Event ID 4227
б. b. ID события 4231 Event ID 4231
Сбор данных netstat -anob output с сервера. Collect a netstat -anob output from the server. Вывод netstat покажет вам огромное количество записей для TIME_WAIT для одного piD. The netstat output will show you a huge number of entries for TIME_WAIT state for a single PID.
После изящного закрытия сеанса или внезапного закрытия сеанса через 4 минуты (по умолчанию) порт, используемый для этого процесса или приложения, будет выпущен обратно в доступный пул. After a graceful closure or an abrupt closure of a session, after a period of 4 minutes (default), the port used the process or application would be released back to the available pool. В течение 4 минут состояние подключения TCP будет TIME_WAIT состояние. During this 4 minutes, the TCP connection state will be TIME_WAIT state. В ситуации, когда вы подозреваете истощение порта, приложение или процесс не смогут освободить все потребляемые порты и останутся в TIME_WAIT состоянии. In a situation where you suspect port exhaustion, an application or process will not be able to release all the ports that it has consumed and will remain in the TIME_WAIT state.
Вы также можете CLOSE_WAIT подключений состояния в одном и том же выходе, однако CLOSE_WAIT состояние — это состояние, когда одна сторона одноранговой сети TCP не имеет больше данных для отправки (fin sent), но может получать данные с другого конца. You may also see CLOSE_WAIT state connections in the same output, however CLOSE_WAIT state is a state when one side of the TCP peer has no more data to send (FIN sent) but is able to receive data from the other end. Это состояние не обязательно указывает на исчерпание порта. This state does not necessarily indicate port exhaustion.
Наличие огромных подключений в TIME_WAIT состоянии не всегда указывает на то, что сервер в настоящее время находится вне портов, если первые две точки не будут проверены. Having huge connections in TIME_WAIT state does not always indicate that the server is currently out of ports unless the first two points are verified. Наличие многких подключений TIME_WAIT указывает на то, что процесс создает большое количество подключений TCP и в конечном итоге может привести к исчерпанию порта. Having lot of TIME_WAIT connections does indicate that the process is creating lot of TCP connections and may eventually lead to port exhaustion.
Netstat был обновлен в Windows 10 с добавлением переключателя -Q, чтобы показать порты, которые перешли из времени ожидания, как в состоянии BOUND. Netstat has been updated in Windows 10 with the addition of the -Q switch to show ports that have transitioned out of time wait as in the BOUND state. Выпущено обновление Windows 8.1 и Windows Server 2012 R2. An update for Windows 8.1 and Windows Server 2012 R2 has been released that contains this functionality. В cmdlet PowerShell Get-NetTCPConnection в Windows 10 также показаны эти порты BOUND. The PowerShell cmdlet Get-NetTCPConnection in Windows 10 also shows these BOUND ports.
До 10/2016 netstat был неточным. Until 10/2016, netstat was inaccurate. Исправления для netstat, от порта до 2012 R2, позволили Netstat.exe и Get-NetTcpConnection правильно сообщать об использовании порта TCP или UDP в Windows Server 2012 R2. Fixes for netstat, back-ported to 2012 R2, allowed Netstat.exe and Get-NetTcpConnection to correctly report TCP or UDP port usage in Windows Server 2012 R2. Дополнительные данные см. в пункте Windows Server 2012 R2: Ephemeral ports hotfixes. See Windows Server 2012 R2: Ephemeral ports hotfixes to learn more.
Откройте командную подсказку в режиме администрирования и запустите приведенную ниже команду Open a command prompt in admin mode and run the below command
Откройте файл server.etl с помощью сетевого монитора и в разделе фильтра применяйте фильтр Wscore_MicrosoftWindowsWinsockAFD.AFD_EVENT_BIND. Status.LENTStatus.Code == 0x209. Open the server.etl file with Network Monitor and in the filter section, apply the filter Wscore_MicrosoftWindowsWinsockAFD.AFD_EVENT_BIND.Status.LENTStatus.Code == 0x209. Вы должны увидеть записи, которые говорят STATUS_TOO_MANY_ADDRESSES. You should see entries which say STATUS_TOO_MANY_ADDRESSES. Если вы не найдете записей, сервер по-прежнему не выходит из портов. If you do not find any entries, then the server is still not out of ports. Если их найти, можно подтвердить, что сервер находится под истощением порта. If you find them, then you can confirm that the server is under port exhaustion.
Устранение неполадок в истощении порта Troubleshoot Port exhaustion
Главное — определить, какой процесс или приложение использует все порты. The key is to identify which process or application is using all the ports. Ниже приведены некоторые средства, которые можно использовать для изоляции одного процесса Below are some of the tools that you can use to isolate to one single process
Метод 1 Method 1
Начните с вывода netstat. Start by looking at the netstat output. Если вы используете Windows 10 или Windows Server 2016, вы можете выполнить команду и проверить для процесса ID, который имеет максимальное количество записей как netstat -anobq BOUND. If you are using Windows 10 or Windows Server 2016, then you can run the command netstat -anobq and check for the process ID which has maximum entries as BOUND. Кроме того, вы также можете запустить команду powershell ниже, чтобы определить процесс: Alternately, you can also run the below Powershell command to identify the process:
Большинство утечек портов вызваны процессами пользовательского режима, которые неправильно закрывают порты, когда произошла ошибка. Most port leaks are caused by user-mode processes not correctly closing the ports when an error was encountered. В портах уровня пользователя (на самом деле розетки) обрабатываются. At the user-mode level ports (actually sockets) are handles. И TaskManager, и ProcessExplorer могут отображать подсчеты обработки, что позволяет определить, какой процесс потребляет все порты. Both TaskManager and ProcessExplorer are able to display handle counts which allows you to identify which process is consuming all of the ports.
Для Windows 7 и Windows Server 2008 R2 можно обновить версию Powershell, чтобы включить вышеуказанное. For Windows 7 and Windows Server 2008 R2, you can update your Powershell version to include the above cmdlet.
Метод 2 Method 2
Если метод 1 не помогает определить процесс (до Windows 10 и Windows Server 2012 R2), то посмотрите на диспетчер задач: If method 1 does not help you identify the process (prior to Windows 10 and Windows Server 2012 R2), then have a look at Task Manager:
Добавьте столбец под названием «ручки» под сведениями и процессами. Add a column called “handles” under details/processes.
Сортировать ручки столбца, чтобы определить процесс с самым большим числом рули. Sort the column handles to identify the process with the highest number of handles. Обычно виновником может быть процесс с ручками более 3000, за исключением таких процессов, как System, lsass.exe, store.exe, sqlsvr.exe. Usually the process with handles greater than 3000 could be the culprit except for processes like System, lsass.exe, store.exe, sqlsvr.exe.
Если какой-либо другой процесс имеет более высокое число, остановите этот процесс, а затем попробуйте войти с помощью учетных данных домена и узнайте, удастся ли ему это сделать. If any other process than these has a higher number, stop that process and then try to login using domain credentials and see if it succeeds.
Метод 3 Method 3
Если диспетчер задач не помог вам определить процесс, используйте Обозреватель процессов для изучения проблемы. If Task Manager did not help you identify the process, then use Process Explorer to investigate the issue.
Действия по использованию проводника процесса: Steps to use Process explorer:
Скачайте Explorer процесса и запустите его с повышенными уровнями. Download Process Explorer and run it Elevated.
Alt + щелкните заглавную колонку, выберите Выберите столбцыи на вкладке Производительность процесса добавьте количество обработок. Alt + click the column header, select Choose Columns, and on the Process Performance tab, add Handle Count.
Выберите Представление Показать нижнюю области. Select View Show Lower Pane.
Выберите Представление Представление нижней области Ручки. Select View Lower Pane View Handles.
Щелкните столбец Ручки для сортировки по этому значению. Click the Handles column to sort by that value.
Изучите процессы с более высоким количеством обрабатываемой обработки, чем остальные (если вы не можете сделать исходящие подключения более 10 000). Examine the processes with higher handle counts than the rest (will likely be over 10,000 if you can’t make outbound connections).
Щелкните, чтобы выделить один из процессов с высоким количеством обработки. Click to highlight one of the processes with a high handle count.
В нижней области окантовки, указанные ниже, являются розетками. In the lower pane, the handles listed as below are sockets. (Sockets — это технически обработки файлов). (Sockets are technically file handles).
Файл DeviceAFD File DeviceAFD
Некоторые из них являются нормальными, но большое число из них не являются (от сотен до тысяч). Some are normal, but large numbers of them are not (hundreds to thousands). Закрой процесс, о чем идет речь. Close the process in question. Если это восстанавливает исходящие подключения, то вы еще раз доказали, что это приложение является причиной. If that restores outbound connectivity, then you have further proven that the app is the cause. Свяжитесь с поставщиком этого приложения. Contact the vendor of that app.
Наконец, если вышеперечисленные методы не помогли изолировать процесс, предлагаем собрать полную свалку памяти машины в состоянии проблемы. Finally, if the above methods did not help you isolate the process, we suggest you collect a complete memory dump of the machine in the issue state. При сбросе будет посвеяно, какой процесс имеет максимальные ручки. The dump will tell you which process has the maximum handles.
В качестве обходного решения перезагрузка компьютера возвращает его в нормальное состояние и поможет вам решить проблему в настоящее время. As a workaround, rebooting the computer will get the it back in normal state and would help you resolve the issue for the time being. Однако при нецелесообразной перезагрузке можно также рассмотреть возможность увеличения количества портов на машине с помощью нижеупомяг. However, when a reboot is impractical, you can also consider increasing the number of ports on the machine using the below commands:
В этом случае динамический диапазон портов будет начинаться в порту 10000 и заканчивается в порте 10999 (1000 портов). This will set the dynamic port range to start at port 10000 and to end at port 10999 (1000 ports). Минимальный диапазон портов, который можно установить, — 255. The minimum range of ports that can be set is 255. Минимальный порт запуска, который можно установить, — 1025. The minimum start port that can be set is 1025. Максимальный конечный порт (в зависимости от настраиваемого диапазона) не может превышать 65535. The maximum end port (based on the range being configured) cannot exceed 65535.
Обратите внимание, что увеличение динамического диапазона портов является не постоянным решением, а временным. Note that increasing the dynamic port range is not a permanent solution but only temporary. Вам потребуется отслеживать, какие процессы и процессоры потребляют максимальное количество портов и устраняют неполадки с точки зрения этого процесса, чтобы понять, почему он потребляет такое большое количество портов. You will need to track down which process/processors are consuming max number of ports and troubleshoot from that process standpoint as to why its consuming such high number of ports.
Для Windows 7 и Windows Server 2008 R2 можно использовать ниже сценарий для сбора вывода netstat с определенной частотой. For Windows 7 and Windows Server 2008 R2, you can use the below script to collect the netstat output at defined frequency. Из выходных данных можно увидеть тенденцию использования порта. From the outputs, you can see the port usage trend.
Полезные ссылки Useful links
Истощение порта и вы! Port Exhaustion and You! — в этой статье приводится подробная информация о состояниях netstat и о том, как можно использовать выход netstat для определения состояния порта — this article gives a detail on netstat states and how you can use netstat output to determine the port status
Обнаружение эфемерного истощенияпорта: в этой статье имеется скрипт, который будет работать в цикле, чтобы сообщить о состоянии порта. Detecting ephemeral port exhaustion: this article has a script which will run in a loop to report the port status. (Применимо для Windows 2012 R2, Windows 8, Windows 10) (Applicable for Windows 2012 R2, Windows 8, Windows 10)
Я использую Windows 10 Professional с контроллером семейства Realtek PCIe GBE, встроенным в мою материнскую плату MSI 170A-Pro. Обычно все хорошо. Сеть работает нормально и без прерываний в Linux и Windows. Таким образом, оборудование, кажется, в порядке.
Тем не менее, я испытываю потерю подключения примерно один раз в день при использовании Windows 10. Симптомы немного странные, хотя:
- Я не могу подключиться к любому веб-сайту в Chrome или Internet Explorer (Chrome сообщает ERR_CONNECTION_FAILED)
- кроме того, что Google обычно работает (вероятно, потому что связь с ним поддерживается хромом)
- мое подключение к Google Talk продолжает работать (похоже, оно влияет только на новые подключения)
- nslookup отлично работает для любого домена
- Я могу пинговать сайты, которые хочу просмотреть
- У меня есть действующие адреса IPv4 и IPv6
- Я могу пинговать шлюз по умолчанию на IPv4 и IPv6
- Диагностика Windows Network не может найти никаких проблем
- Windows говорит, что я успешно подключен к Интернету
- другие устройства в сети продолжают испытывать проблемы (это не связано с маршрутизатором)
Однако единственное решение состоит в том, чтобы либо перезагрузить сеть с помощью опции панели управления и перезагрузиться, либо вызвать netsh winsock reset
в консоли администратора и перезагрузиться. Одна только перезагрузка не решает проблему.
Пока что сделал
- отключить управление питанием для сетевой карты
- обновить до последней версии драйвера от Realtek
Я в полном недоумении, что именно не так. Потому что сеть явно работает. Кажется, что определенная часть этого не работает.
Если у кого-то есть идеи, как отлаживать это дальше, я весь слух!
Обратите внимание, что это проводная сеть
Вывод ipconfig следует (он выглядит точно так же, когда соединение работает)
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : w00t
IPv6 Address. . . . . . . . . . . : 2a02:2450:1024:442:808:aa56:5c13:9413
Temporary IPv6 Address. . . . . . : 2a02:2450:1024:442:a5e3:4f74:fb29:5d13
Link-local IPv6 Address . . . . . : fe80::808:aa56:5c13:9413%3
IPv4 Address. . . . . . . . . . . : 192.168.1.165
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : fe80::1e87:2cff:fe6a:b6b0%3
192.168.1.1
Tunnel adapter isatap.w00t:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . : w00t
Tunnel adapter Teredo Tunneling Pseudo-Interface:
Connection-specific DNS Suffix . :
IPv6 Address. . . . . . . . . . . : 2001:0:9d38:6ab8:2cd7:1e65:3f57:fe5a
Link-local IPv6 Address . . . . . : fe80::2cd7:1e65:3f57:fe5a%12
Default Gateway . . . . . . . . . :
Некоторая дополнительная информация:
- при перезагрузке в Linux сетевое соединение там работает безупречно, перезагружается обратно в Windows и проблема все еще есть
- полное выключение машины не решает проблему
- HTTP-сайты в моей локальной сети также недоступны
- проблема не зависит от DNS, сайты не доступны через IP-адрес
- SMB-соединения с Windows-Share тоже не работают
Мне кажется, что TCP-стек операционной системы как-то «застревает». Пинг (ICMP) и DNS (UDP) работают, HTTP и SMB (TCP) не работают.
Это заставило меня попробовать еще одну вещь: я пытался использовать PuTTY для ssh (TCP) на другую машину, и это вызывает ошибку: Network error: No buffer space available
Вышеуказанная ошибка указала мне на https://serverfault.com/questions/131935/network-error-no-buffer-space-available, что, в свою очередь, привело меня к просмотру Event Viewer, который показывает ошибку 4227:
TCP/IP не удалось установить исходящее соединение, поскольку выбранная локальная конечная точка недавно использовалась для подключения к той же удаленной конечной точке. Эта ошибка обычно возникает, когда исходящие соединения открываются и закрываются с высокой скоростью, что приводит к использованию всех доступных локальных портов и заставляет TCP/IP повторно использовать локальный порт для исходящего соединения. Чтобы минимизировать риск повреждения данных, стандарт TCP/IP требует минимального промежутка времени между последовательными соединениями от заданной локальной конечной точки до заданной удаленной конечной точки.
При отключении и повторном включении устройства (что предполагает запись в базе знаний ) ошибка просто повторяется в журнале.
Похоже, какая-то программа исчерпывает доступные исходящие порты TCP. Так что вопросы становятся:
- Как выяснить, какая программа является виновником?
- почему перезагрузка не решит эту проблему?
Доброго дня, котаны!
Уже голову сломал, прошу помощи коллективного разума. Имеется Win2008 на которой крутится dhcp, iis, termsrv. 2 КД. Где-то раз в 3 недели отваливается от домена: по mstsc не пускает — отказано в доступе (зато пускает через mstsc /admin), отваливается dhcp, с ошибками:
«не удалось обнаружить папку авторизации»,
«недостаточно ресурсов для завершения операции».
«Ошибка при обработке групповой политики. Windows не удалось получить имя контроллера домена. Возможная причина: ошибка разрешения имен. Проверьте, что служба DNS настроена и работает правильно»
Репликация идет успешно (repadmin /showreps с контроллеров выдает successfull)
Иногда помогает перезагрузка, но это как-то не феншуйно
Подскажите куда копать? Спасибо.
>dcdiag /s:dc2
Диагностика сервера каталогов
Выполнение начальной настройки:
* Идентифицирован лес AD.
Сбор начальных данных завершен.
Выполнение обязательных начальных проверок
Сервер проверки: Default-First-Site-NameDC2
Запуск проверки: Connectivity
……………………. DC2 — пройдена проверка Connectivity
Выполнение основных проверок
Сервер проверки: Default-First-Site-NameDC2
Запуск проверки: Advertising
……………………. DC2 — пройдена проверка Advertising
Запуск проверки: FrsEvent
……………………. DC2 — пройдена проверка FrsEvent
Запуск проверки: DFSREvent
……………………. DC2 — пройдена проверка DFSREvent
Запуск проверки: SysVolCheck
……………………. DC2 — пройдена проверка SysVolCheck
Запуск проверки: KccEvent
……………………. DC2 — пройдена проверка KccEvent
Запуск проверки: KnowsOfRoleHolders
……………………. DC2 — пройдена проверка KnowsOfRoleHolders
Запуск проверки: MachineAccount
……………………. DC2 — пройдена проверка MachineAccount
Запуск проверки: NCSecDesc
……………………. DC2 — пройдена проверка NCSecDesc
Запуск проверки: NetLogons
……………………. DC2 — пройдена проверка NetLogons
Запуск проверки: ObjectsReplicated
……………………. DC2 — пройдена проверка ObjectsReplicated
Запуск проверки: Replications
……………………. DC2 — пройдена проверка Replications
Запуск проверки: RidManager
……………………. DC2 — пройдена проверка RidManager
Запуск проверки: Services
……………………. DC2 — пройдена проверка Services
Запуск проверки: SystemLog
……………………. DC2 — пройдена проверка SystemLog
Запуск проверки: VerifyReferences
……………………. DC2 — пройдена проверка VerifyReferences
Выполнение проверок разделов на: DomainDnsZones
Запуск проверки: CheckSDRefDom
……………………. DomainDnsZones — пройдена проверка
CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. DomainDnsZones — пройдена проверка
CrossRefValidation
Выполнение проверок разделов на: ForestDnsZones
Запуск проверки: CheckSDRefDom
……………………. ForestDnsZones — пройдена проверка
CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. ForestDnsZones — пройдена проверка
CrossRefValidation
Выполнение проверок разделов на: Schema
Запуск проверки: CheckSDRefDom
……………………. Schema — пройдена проверка CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. Schema — пройдена проверка
CrossRefValidation
Выполнение проверок разделов на: Configuration
Запуск проверки: CheckSDRefDom
……………………. Configuration — пройдена проверка
CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. Configuration — пройдена проверка
CrossRefValidation
Выполнение проверок разделов на: lan
Запуск проверки: CheckSDRefDom
……………………. lan — пройдена проверка CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. lan — пройдена проверка CrossRefValidation
Выполнение проверок предприятия на: lan.domain.ru
Запуск проверки: LocatorCheck
……………………. lan.domain.ru — пройдена проверка
LocatorCheck
Запуск проверки: Intersite
……………………. lan.domain.ru — пройдена проверка Intersite
>dcdiag /s:dc3
Диагностика сервера каталогов
Выполнение начальной настройки:
* Идентифицирован лес AD.
Сбор начальных данных завершен.
Выполнение обязательных начальных проверок
Сервер проверки: Default-First-Site-NameDC3
Запуск проверки: Connectivity
……………………. DC3 — пройдена проверка Connectivity
Выполнение основных проверок
Сервер проверки: Default-First-Site-NameDC3
Запуск проверки: Advertising
……………………. DC3 — пройдена проверка Advertising
Запуск проверки: FrsEvent
……………………. DC3 — пройдена проверка FrsEvent
Запуск проверки: DFSREvent
……………………. DC3 — пройдена проверка DFSREvent
Запуск проверки: SysVolCheck
……………………. DC3 — пройдена проверка SysVolCheck
Запуск проверки: KccEvent
……………………. DC3 — пройдена проверка KccEvent
Запуск проверки: KnowsOfRoleHolders
……………………. DC3 — пройдена проверка KnowsOfRoleHolders
Запуск проверки: MachineAccount
……………………. DC3 — пройдена проверка MachineAccount
Запуск проверки: NCSecDesc
……………………. DC3 — пройдена проверка NCSecDesc
Запуск проверки: NetLogons
……………………. DC3 — пройдена проверка NetLogons
Запуск проверки: ObjectsReplicated
……………………. DC3 — пройдена проверка ObjectsReplicated
Запуск проверки: Replications
……………………. DC3 — пройдена проверка Replications
Запуск проверки: RidManager
……………………. DC3 — пройдена проверка RidManager
Запуск проверки: Services
……………………. DC3 — пройдена проверка Services
Запуск проверки: SystemLog
……………………. DC3 — пройдена проверка SystemLog
Запуск проверки: VerifyReferences
……………………. DC3 — пройдена проверка VerifyReferences
Выполнение проверок разделов на: ForestDnsZones
Запуск проверки: CheckSDRefDom
……………………. ForestDnsZones — пройдена проверка
CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. ForestDnsZones — пройдена проверка
CrossRefValidation
Выполнение проверок разделов на: DomainDnsZones
Запуск проверки: CheckSDRefDom
……………………. DomainDnsZones — пройдена проверка
CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. DomainDnsZones — пройдена проверка
CrossRefValidation
Выполнение проверок разделов на: Schema
Запуск проверки: CheckSDRefDom
……………………. Schema — пройдена проверка CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. Schema — пройдена проверка
CrossRefValidation
Выполнение проверок разделов на: Configuration
Запуск проверки: CheckSDRefDom
……………………. Configuration — пройдена проверка
CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. Configuration — пройдена проверка
CrossRefValidation
Выполнение проверок разделов на: lan
Запуск проверки: CheckSDRefDom
……………………. lan — пройдена проверка CheckSDRefDom
Запуск проверки: CrossRefValidation
……………………. lan — пройдена проверка CrossRefValidation
Выполнение проверок предприятия на: lan.domain.ru
Запуск проверки: LocatorCheck
……………………. lan.domain.ru — пройдена проверка
LocatorCheck
Запуск проверки: Intersite
……………………. lan.domain.ru — пройдена проверка Intersite
>ipconfig /all
Настройка протокола IP для Windows
Имя компьютера . . . . . . . . . : ns1
Основной DNS-суффикс . . . . . . : lan.domain.ru
Тип узла. . . . . . . . . . . . . : Гибридный
IP-маршрутизация включена . . . . : Да
WINS-прокси включен . . . . . . . : Нет
Порядок просмотра суффиксов DNS . : lan.domain.ru
domain.ru
Ethernet adapter LAN:
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Intel(R) PRO/1000 EB Network Connection w
ith I/O Acceleration
Физический адрес. . . . . . . . . : 00-15-17-17-6C-6C
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да
IPv4-адрес. . . . . . . . . . . . : 192.168.1.100(Основной)
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз. . . . . . . . . : 192.168.1.254
DNS-серверы. . . . . . . . . . . : 192.168.1.97
192.168.1.98
NetBios через TCP/IP. . . . . . . . : Включен
Туннельный адаптер Подключение по локальной сети*:
Состояние носителя. . . . . . . . : Носитель отключен
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : isatap.{1FE51BA4-870C-4E73-967F-F51A179EA
53D}
Физический адрес. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да
Туннельный адаптер Подключение по локальной сети* 2:
Состояние носителя. . . . . . . . : Носитель отключен
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : isatap.{C16EF788-DA17-4E0D-9832-22B3D29AD
1ED}
Физический адрес. . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да
Туннельный адаптер Подключение по локальной сети* 8:
Состояние носителя. . . . . . . . : Носитель отключен
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
Физический адрес. . . . . . . . . : 02-00-54-55-4E-01
DHCP включен. . . . . . . . . . . : Нет
Автонастройка включена. . . . . . : Да
>nltest /dsgetdc:domain /force /gc
Контроллер домена: \DC3
Адрес: \192.168.1.98
GUID DOM: b19e260d-b216-4e20-931a-60d303c5c600
Имя DOM: DOMAIN
Имя леса: lan.domain.ru
Имя сайта контроллера домена: Default-First-Site-Name
Имя нашего сайта: Default-First-Site-Name
Флаги: GC DS LDAP KDC TIMESERV WRITABLE DNS_FOREST CLOSE_SITE FULL_SECRET
>nslookup lan.domain.ru dc2
Server: dc2.lan.domain.ru
Address: 192.168.1.97
Name: lan.domain.ru
Addresses: 192.168.1.98
192.168.1.97