ID Error 56 en Windows Server 2008 R2

Ayer tuvimos un problema en uno de nuestros servidores físicos que, aunque ya les queda poco tiempo de vida, pues vamos a migrar a una plataforma virtual, aún están dando servicio a nuestros clientes.

Cuando llegué por la mañana, PRTG me indicaba que no había Ping con la máquina en cuestión y al tenerla en un CPD, llamamos para que la revisaran, confirmando que estaba en marcha pero no daba imagen. Bloqueada, decidimos que se reiniciara y arrancó sin problemas. En unos minutos, todos los servicios estaban funcionando de nuevo y tocaba revisar el problema, pero el visor de eventos no nos daba muchas pistas, salvo que había bastante carga de trabajo y es lo que podría haber hecho que la máquina se bloqueara.

Además, revisando los logs, encontré un evento que se repetía cada poco tiempo, el error con ID 56.

ID56ERROR_01.jpg

Al parecer este error se genera en la capa de seguridad de Terminal Server y desconecta al cliente de manera automática, pudiendo ser un problema cuando, como en este caso, se repite de forma habitual. He estado buscando información y parece que a más de uno le ha pasado, pero, no como en mi caso, ellos están teniendo más problemas. Puestos a resolver problemas que hagan que mi servidor se quede bloqueado, ¿por qué no solucionar este? Así que busqué un poco más y encontré una solución de la mano de Microsoft, que reportaba un artículo de Cengiz Kuskaya, y aquí os lo dejo.

Información general sobre Descarga de TCP Chimney

La descarga de TCP Chimney es una tecnología de red que ayuda a transferir la carga de trabajo desde la CPU a un adaptador de red durante la transferencia de los datos de red. En Windows Server 2008, la descarga de TCP Chimney permite que el subsistema de red de Windows descargue el procesamiento de una conexión TCP/IP en un adaptador de red que incluye compatibilidad especial con dicho procesamiento.

La descarga de TCP Chimney se encuentra disponible en todas las versiones de Windows Server 2008 y Windows Vista. Cuando el adaptador de red admite esta característica, se pueden descargar tanto conexiones TCP/IPv4 como TCP/IPv6.

Dicho esto, lo primero que vamos a hacer es deshabilitar esta característica. Para ello, abriremos una consola en modo administrador y ejecutaremos el siguiente comando:

netsh int tcp set global chimney=disabled

Una vez deshabilitada, vamos a ver cómo está configurado nuestro adaptador de red. En la misma consola, o abriendo una nueva como administrador teclearemos el comando netsh int tcp show global.

Esto nos devolverá el estado, que podremos comprobar posteriormente.

ID56ERROR_02

Procederemos a deshabilitar RSS (la primera de las opciones que aparece en la lista). Seguimos en nuestra ventana de comando y ejecutamos netsh int tcp set global rss=disabled.

Por último tenemos que deshabilitar NetDMA. Para ello seguiremos estos pasos:

  • Pulsar Inicio, pulsar en Ejecutar y escribir regedit para abrir el editor de registro.
  • Localizamos la siguiente subclave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters

  • Localizamos el registro EnableTCPA. Si no está, lo creamos pulsando con el botón derecho del ratón en la subclave Parameters, elegimos el tipo DWORD y la nombramos como EnableTCPA. Editaremos el registro y le daremos valor 1.
  • Deshabilitaremos posteriormente NetDMA tecleando el siguiente comando:

netsh int tcp set global netdma=disabled.

Podéis comprobar el estado tecleando netsh int tcp show global.

ID56ERROR_03

Con esto, el error 56 dejará de molestaros y evitaréis cortes en la conexión remota de los clientes.


Fuente: Cengiz Kuskaya