Solucionar problemas de agotamiento de puertos en Windows
Cualquier conexión de red realizada entre computadoras (protocolos TCP o UDP), se realiza a través de los puertos. Imagine estos puntos de entrada o puertas de enlace que utiliza un servicio o una aplicación. A medida que se realizan más conexiones de clientes, los puertos faltan en el conteo. En este post, compartiremos cómo solucionar problemas. Agotamiento del puerto cuestiones.
Hay dos tipos de puertos - Puertos dinámicos y Puertos definidos. Los puertos dinámicos permiten que varios clientes se conecten a puertos definidos. Los sitios web son un buen ejemplo. Por lo general, tienen el puerto 80 definido, pero al usar un puerto activo, pueden servir a múltiples clientes. Como hay un límite para el puerto dinámico, las conexiones comenzarán a fallar cuando todos los puertos estén ocupados. Se denomina como agotamiento del puerto..
Solucionar problemas de agotamiento de puertos en Windows
El motivo principal de esta guía de resolución de problemas es identificar qué proceso o aplicación está agotando el puerto. Una vez que lo hayas determinado, el siguiente paso es arreglar la aplicación..
Síntomas para identificar el agotamiento del puerto:
1] No se puede iniciar sesión en la máquina con credenciales de dominio, sin embargo, el inicio de sesión con la cuenta local funciona. Es posible que una cuenta ya utilizada funcione, pero la nueva fallara. Ocurre debido al almacenamiento en caché.
2] La actualización de la directiva de grupo comenzará a fallar. Cada vez que intente realizar cambios, puede recibir un error que diga "falló debido a la falta de conectividad de red con el controlador de dominio". Podría ser temporal pero es una señal..
3] Archivos compartidos o unidades de red se vuelven inaccesibles.
4] El escritorio remoto al servidor donde se aloja la aplicación falla.
Otras señales incluyen el evento id 4227, 4231 en el Visor de eventos para TCP con un mensaje que indica que la asignación del puerto dinámico falló. El comando NetStat muestra un número masivo de entradas para el estado TIME_WAIT para una aplicación en particular, y así sucesivamente.
Utilice NetStat para Windows 10 y Windows Server 2016
- Abra el símbolo del sistema con privilegios elevados.
- Ejecuta el comando
netstat -anobq
- A continuación, compruebe el ID de proceso que tiene entradas máximas como BOUND.
Si usa PowerShell, puede usar el siguiente comando para identificar el proceso con el límite máximo.
Get-NetTCPConnection | Objeto de grupo - Estado de propiedad, OwningProcess | Seleccione -Property Count, Name, @ Name = "ProcessName"; Expression = (Get-Process -PID ($ _. Name.Split (',') [- 1] .Trim ("))). Name , Grupo | Clasificar recuento -Descendin
Muchas veces, los clientes no cierran los puertos correctamente. Incluso si no están en uso, estos puertos no son libres. Es uno de los mayores motivos de agotamiento portuario..
Si la necesidad es frecuente, puedes usar Comando Netstat en un bucle. La salida puede estar disponible en un archivo de texto que se puede usar para monitorear la tendencia. Aquí es cómo se ve el guión:
@ECHO ON set v =% 1: loop set / a v + = 1 ECHO% date%% time% >> netstat.txt netstat -ano >> netstat.txt PING 1.1.1.1 -n 1 -w 60000> NUL goto loop
Usa el Administrador de tareas para encontrar los manejadores máximos
Un método ligeramente más natural para encontrar dichas aplicaciones es usar el Administrador de tareas. Si bien PowerShell y las solicitudes de comando tienen sus propios méritos, si desea ver el proceso rápidamente, este es un método mejor..
- Abra el Administrador de tareas y cambie a Pestaña de detalles.
- Haga clic derecho en cualquiera de las columnas, y haga clic en "Seleccionar columnas.”
- Agrega "Manijas" de las opciones disponibles.
- Haga clic en el encabezado de la columna de asas para clasificarlo por número máximo.
Microsoft sugiere que si alguna de las conexiones falla, verifique si el número de identificadores es superior a 3000. Si ese es el caso, entonces la aplicación es la culpable. Sin embargo, los servicios del sistema operativo son una excepción a esto. Para otros, detenga ese proceso una vez, y luego intente iniciar sesión usando credenciales de dominio y vea si tiene éxito.
Explorador de procesos
Puedes usar Process Explorer en caso de que el administrador de tareas no te ayude. Es útil para rastrear los problemas de la versión DLL o manejar las fugas y proporcionar información sobre las aplicaciones de colorete. Process Explorer debe descargarse desde aquí e instalarse. Asegúrate de ejecutarlo con privilegios elevados.
- Haga clic con el botón derecho en el encabezado de la columna y luego seleccione "Elegir columnas".
- Cambie a la pestaña Rendimiento y añada Recuento de manijas.
- En el menú, haga clic en Ver> Mostrar el panel inferior.
- Nuevamente haga clic en el menú, seleccione Ver> Vista del panel inferior> Asas.
- Ordenar las manijas en orden descendente.
- Revelará los procesos con el mayor número de controles.
- Haga clic para resaltar uno de los procesos con el recuento del identificador superior.
- El panel inferior revelará el tipo de todas las asas. Los puertos o las tomas suelen tener las etiquetas "Archivo \ Dispositivo \ AFD".
Cierre el proceso con un alto número de manejadores. Si la aplicación vuelve a aparecer, puede ser la causa, y tendrá que arreglar la aplicación o pedirle al desarrollador del OEM que la arregle. Si no puede solucionarlo porque la aplicación lo exige, debe considerar aumentar la cantidad de puertos que puede usar la computadora. El siguiente comando (ejemplo) puede cambiar el rango y elevarlo.
netsh int ipv4 set dynamicport tcp start = 10000 num = 1000
El puerto de inicio mínimo que se puede configurar es 1025. El puerto final máximo no puede exceder de 65535.
Dicho esto, la solución sigue siendo temporal. Como administrador de TI, tendrá que encontrar una mejor solución para solucionar los problemas de agotamiento de puertos. A veces, se pueden usar múltiples servidores para aumentar los puertos, pero eso es una liga completamente diferente.