Equipo que no tiene abierto el puerto 3389 - Escritorio Remoto
Hace poco que tuve que pelearme con un equipo con Windows XP al que no podíamos conectarnos por escritorio remoto.
Dicho equipo no estaba escuchando en el puerto 3389. Si ejecutábamos telnet nombre-equipo 3389, siempre obteníamos fallo.
Después de desplazarnos hasta el equipo, lo primero que comprobamos fue que en la lista de puertos, no aparece el puerto 3389
Hacemos netstat -an y vemos que en la lista no hay 3389.
Justo después, se comprobó fue que el servicio "Servicios de Terminal Server" estuviese funcionando correctamente.
Para ello, ejecutamos sc qc termservice y obtenemos esto:
[SC] GetServiceConfig SUCCESS
SERVICE_NAME: termservice
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\WINDOWS\System32\svchost -k DComLaunch
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : Servicios de Terminal Server
DEPENDENCIES : RPCSS
SERVICE_START_NAME : LocalSystem
El servicio TERMSERVICE está iniciado , sin embargo al reiniciar dicho servicio no aparecen fallos.
Tampoco aparece nada raro en el visor de sucesos
En nuestro dominio, tenemos una política de grupo que permite las conexiones mediante Terminal Server. En el firewall del equipo, se comprobó que el puerto tcp-3389 aparece en las excepciones
En Propiedades del sistema -> Acceso remoto, la casilla habilitar Escritorio remoto está marcada.
Después de mucho comprobar y de un par de reinicios del equipo, encontré este KB de Microsoft:
How to change the listening port for Remote Desktop http://support.microsoft.com/kb/304304/
En este KB se indica que el puerto por defecto se encuentra en la siguiente rama de registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
Después de revisar dichas entradas, se me ocurrió compararlas con otro equipo en el que no hubiese problemas con el Escritorio remoto.
A simple vista, faltaban más de la mitad de las entradas.
Después de exportar las entradas e importarlas en el equipo con problemas y de reiniciar el servicio, todo vuelve a la normalidad.
Las entradas que importé al equipo con problemas son estas:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"CfgDll"="RDPCFGEX.DLL"
"fEnableWinStation"=dword:00000001
"MaxInstanceCount"=dword:ffffffff
"PdName"="tcp"
"PdClass"=dword:00000002
"PdDLL"="tdtcp"
"PdFlag"=dword:0000004e
"OutBufLength"=dword:00000212
"OutBufCount"=dword:00000006
"OutBufDelay"=dword:00000064
"InteractiveDelay"=dword:00000032
"PortNumber"=dword:00000d3d
"KeepAliveTimeout"=dword:00000000
"LanAdapter"=dword:00000000
"WdName"="Microsoft RDP 5.1"
"WdDLL"="rdpwd"
"WsxDLL"="rdpwsx"
"WdFlag"=dword:00000036
"InputBufferLength"=dword:00000800
"CdClass"=dword:00000000
"CdName"=""
"CdDLL"=""
"CdFlag"=dword:00000000
"Comment"=""
"fInheritAutoLogon"=dword:00000001
"fInheritResetBroken"=dword:00000001
"fInheritReconnectSame"=dword:00000001
"fInheritInitialProgram"=dword:00000001
"fInheritCallback"=dword:00000000
"fInheritCallbackNumber"=dword:00000001
"fInheritShadow"=dword:00000001
"fInheritMaxSessionTime"=dword:00000001
"fInheritMaxDisconnectionTime"=dword:00000001
"fInheritMaxIdleTime"=dword:00000001
"fInheritAutoClient"=dword:00000001
"fInheritSecurity"=dword:00000000
"fInheritColorDepth"=dword:00000000
"fPromptForPassword"=dword:00000000
"fResetBroken"=dword:00000000
"fReconnectSame"=dword:00000000
"fLogonDisabled"=dword:00000000
"fAutoClientDrives"=dword:00000001
"fAutoClientLpts"=dword:00000001
"fForceClientLptDef"=dword:00000001
"fDisableEncryption"=dword:00000001
"fHomeDirectoryMapRoot"=dword:00000000
"fUseDefaultGina"=dword:00000000
"fDisableCpm"=dword:00000000
"fDisableCdm"=dword:00000000
"fDisableCcm"=dword:00000000
"fDisableLPT"=dword:00000000
"fDisableClip"=dword:00000000
"fDisableExe"=dword:00000000
"fDisableCam"=dword:00000000
"Username"=""
"Domain"=""
"Password"=""
"WorkDirectory"=""
"InitialProgram"=""
"CallbackNumber"=""
"Callback"=dword:00000000
"Shadow"=dword:00000001
"MaxConnectionTime"=dword:00000000
"MaxDisconnectionTime"=dword:00000000
"MaxIdleTime"=dword:00000000
"KeyboardLayout"=dword:00000000
"MinEncryptionLevel"=dword:00000002
"NWLogonServer"=""
"WFProfilePath"=""
"WdPrefix"="RDP"
"TraceEnable"=dword:00000000
"TraceDebugger"=dword:00000000
"TraceClass"=dword:00000000
"ColorDepth"=dword:00000003
Dicho equipo no estaba escuchando en el puerto 3389. Si ejecutábamos telnet nombre-equipo 3389, siempre obteníamos fallo.
Después de desplazarnos hasta el equipo, lo primero que comprobamos fue que en la lista de puertos, no aparece el puerto 3389
Hacemos netstat -an y vemos que en la lista no hay 3389.
Justo después, se comprobó fue que el servicio "Servicios de Terminal Server" estuviese funcionando correctamente.
Para ello, ejecutamos sc qc termservice y obtenemos esto:
[SC] GetServiceConfig SUCCESS
SERVICE_NAME: termservice
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 3 DEMAND_START
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\WINDOWS\System32\svchost -k DComLaunch
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : Servicios de Terminal Server
DEPENDENCIES : RPCSS
SERVICE_START_NAME : LocalSystem
El servicio TERMSERVICE está iniciado , sin embargo al reiniciar dicho servicio no aparecen fallos.
Tampoco aparece nada raro en el visor de sucesos
En nuestro dominio, tenemos una política de grupo que permite las conexiones mediante Terminal Server. En el firewall del equipo, se comprobó que el puerto tcp-3389 aparece en las excepciones
En Propiedades del sistema -> Acceso remoto, la casilla habilitar Escritorio remoto está marcada.
Después de mucho comprobar y de un par de reinicios del equipo, encontré este KB de Microsoft:
How to change the listening port for Remote Desktop http://support.microsoft.com/kb/304304/
En este KB se indica que el puerto por defecto se encuentra en la siguiente rama de registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber
Después de revisar dichas entradas, se me ocurrió compararlas con otro equipo en el que no hubiese problemas con el Escritorio remoto.
A simple vista, faltaban más de la mitad de las entradas.
Después de exportar las entradas e importarlas en el equipo con problemas y de reiniciar el servicio, todo vuelve a la normalidad.
Las entradas que importé al equipo con problemas son estas:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
"CfgDll"="RDPCFGEX.DLL"
"fEnableWinStation"=dword:00000001
"MaxInstanceCount"=dword:ffffffff
"PdName"="tcp"
"PdClass"=dword:00000002
"PdDLL"="tdtcp"
"PdFlag"=dword:0000004e
"OutBufLength"=dword:00000212
"OutBufCount"=dword:00000006
"OutBufDelay"=dword:00000064
"InteractiveDelay"=dword:00000032
"PortNumber"=dword:00000d3d
"KeepAliveTimeout"=dword:00000000
"LanAdapter"=dword:00000000
"WdName"="Microsoft RDP 5.1"
"WdDLL"="rdpwd"
"WsxDLL"="rdpwsx"
"WdFlag"=dword:00000036
"InputBufferLength"=dword:00000800
"CdClass"=dword:00000000
"CdName"=""
"CdDLL"=""
"CdFlag"=dword:00000000
"Comment"=""
"fInheritAutoLogon"=dword:00000001
"fInheritResetBroken"=dword:00000001
"fInheritReconnectSame"=dword:00000001
"fInheritInitialProgram"=dword:00000001
"fInheritCallback"=dword:00000000
"fInheritCallbackNumber"=dword:00000001
"fInheritShadow"=dword:00000001
"fInheritMaxSessionTime"=dword:00000001
"fInheritMaxDisconnectionTime"=dword:00000001
"fInheritMaxIdleTime"=dword:00000001
"fInheritAutoClient"=dword:00000001
"fInheritSecurity"=dword:00000000
"fInheritColorDepth"=dword:00000000
"fPromptForPassword"=dword:00000000
"fResetBroken"=dword:00000000
"fReconnectSame"=dword:00000000
"fLogonDisabled"=dword:00000000
"fAutoClientDrives"=dword:00000001
"fAutoClientLpts"=dword:00000001
"fForceClientLptDef"=dword:00000001
"fDisableEncryption"=dword:00000001
"fHomeDirectoryMapRoot"=dword:00000000
"fUseDefaultGina"=dword:00000000
"fDisableCpm"=dword:00000000
"fDisableCdm"=dword:00000000
"fDisableCcm"=dword:00000000
"fDisableLPT"=dword:00000000
"fDisableClip"=dword:00000000
"fDisableExe"=dword:00000000
"fDisableCam"=dword:00000000
"Username"=""
"Domain"=""
"Password"=""
"WorkDirectory"=""
"InitialProgram"=""
"CallbackNumber"=""
"Callback"=dword:00000000
"Shadow"=dword:00000001
"MaxConnectionTime"=dword:00000000
"MaxDisconnectionTime"=dword:00000000
"MaxIdleTime"=dword:00000000
"KeyboardLayout"=dword:00000000
"MinEncryptionLevel"=dword:00000002
"NWLogonServer"=""
"WFProfilePath"=""
"WdPrefix"="RDP"
"TraceEnable"=dword:00000000
"TraceDebugger"=dword:00000000
"TraceClass"=dword:00000000
"ColorDepth"=dword:00000003
Comentarios
Publicar un comentario