Soluciona problemas de RDP

En algunas situaciones, es posible que no puedas conectarte a tu instancia de Windows de Compute Engine con RDP. Esto puede deberse a errores de configuración o errores de red, o a que el proceso de arranque no se haya completado.

En esta página, se describe una serie de consejos y enfoques para solucionar problemas comunes de RDP.

Asegúrate de que la instancia esté en línea y lista

Una vez que se completa el proceso de arranque, que puede demorar unos minutos, el estado de la instancia de Windows está disponible a través de los resultados de la consola en serie. Conéctate a la consola en serie interactiva o de solo lectura para comprobar que la instancia esté lista.

  • Consola en serie 1 (solo lectura)

    1. Abre la instancia de Windows desde la página de instancias de VM en Cloud Console.
    2. Haz clic en la flecha desplegable junto a Conectar a la consola en serie y selecciona Puerto en serie 1, o el comando del SDK de gcloud a continuación:

      gcloud compute connect-to-serial-port [INSTANCE_NAME] --port 1
      
    3. Confirma que la instancia se inició y que intentó ejecutar secuencias de comandos de inicio.

      Booting from Hard Disk 0...
      GCEWindowsAgent: GCE Agent Started (version x.x.x@x)
      GCEMetadataScripts: No startup scripts to run.
      
  • Consola en serie 2 (interactiva)

    1. Habilita el acceso interactivo en la consola en serie a través de la página de instancias de VM o el comando del SDK de gcloud a continuación:

      gcloud compute instances add-metadata [INSTANCE_NAME]^
      --metadata=serial-port-enable=1
      
    2. Abre la instancia de Windows desde la página de instancias de VM en Cloud Console.

    3. Haz clic en la flecha desplegable junto a Conectar a la consola en serie y selecciona Puerto en serie 2. De manera alternativa, puedes ejecutar el siguiente comando del SDK de gcloud:

      gcloud compute connect-to-serial-port [INSTANCE_NAME] --port 2
      
    4. Confirma que el proceso cmd esté disponible para usar.

      Captura de pantalla del comando SAC cmd disponible

Verifica las reglas de firewall de VPC

Compute Engine aprovisiona proyectos nuevos de forma automática con una regla de firewall que permite el tráfico de RDP. Si tienes un proyecto existente o modificaste las configuraciones, la regla de firewall predeterminada que permite el RDP podría no existir. Confirma que una regla permite que el tráfico de RDP se conecte a la red en la que se encuentra la instancia afectada.

Para verificar si la regla de firewall default-allow-rdp existe en el proyecto, consulta la página de reglas de firewall o ejecuta el siguiente comando del SDK de gcloud:

gcloud compute firewall-rules list

Si no existe una regla, usa el siguiente comando para crear una nueva:

gcloud compute firewall-rules create allow-rdp --allow tcp:[PORT_NUMBER]

Verifica la contraseña de la instancia de Windows

Cada instancia de Windows de Compute Engine debe tener una contraseña local si aún no está en un dominio o imagen personalizada. Para confirmar que tienes la contraseña correcta establecida, conéctate al SAC de Windows mediante la herramienta de línea de comandos de gcloud o GCP Console.

Si tienes problemas para conectarte, intenta crear o restablecer la contraseña en la instancia de Windows.

Verifica la dirección IP externa

Asegúrate de conectarte a la dirección IP externa correcta para la instancia. Observa la IP de la instancia desde la página de instancias de VM o mediante el siguiente comando del SDK de gcloud:

gcloud compute instances list

Uso de los servicios de escritorio remoto (RDS) de Windows

Si tienes los servicios de escritorio remoto de Windows (antes conocidos como servicios de terminal) instalados en la instancia, se aplican las condiciones de las licencias de acceso de cliente (CAL). Con estas CAL, las conexiones de RDP tendrán errores en cualquiera de las siguientes condiciones:

  • Se usaron todas las licencias disponibles
  • El período de prueba de RDS expiró

Si las conexiones de RDP tienen errores, se puede usar el interruptor de administrador para conectarse a la instancia con fines administrativos. Esto se puede hacer en una máquina de Windows mediante el cliente nativo de conexión a escritorio remoto.

%systemroot%/system32/mstsc.exe /admin

A fin de resolver problemas con las conexiones de RDP, compra licencias nuevas para la instancia. Para obtener más detalles sobre las CAL, revisa la documentación de Microsoft. De lo contrario, si no se requieren los servicios de escritorio remoto, desinstala el servicio y usa las conexiones de RDP normales.

Verifica la configuración del SO

Si el entorno y la configuración para la instancia son correctos, el sistema operativo en la instancia podría estar mal configurado. Puedes usar la consola en serie interactiva para conectarte a la instancia y solucionar el problema.

Conéctate a la instancia a través de uno de los métodos de línea de comandos disponibles y ejecuta los siguientes comandos para asegurarte de que la instancia acepte conexiones:

  1. Verifica que se ejecute el “Servicio de escritorio remoto”:

    • Comando: net start | find “Remote Desktop Services”
    • Aprobado: servicio de escritorio remoto
    • Error: (falta el servicio de escritorio remoto en el resultado)
    • Solución: net start “Remote Desktop Services”
  2. Verifica que las conexiones remotas estén habilitadas:

    • Comando: reg query “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fDenyTSConnections
    • Aprobado: fDenyTSConnections REG_DWORD 0x0
    • Error: fDenyTSConnections REG_DWORD 0x1
    • Solución: reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server” /f /v fDenyTSConnections /t REG_DWORD /d 0
  3. Asegúrate de que el firewall de Windows tenga habilitadas las conexiones de escritorio remoto:

    • Comando: netsh advfirewall firewall show rule name=“Remote Desktop - User Mode (TCP-In)”
    • Aprobado: Habilitado: sí, Dirección: adentro, Perfiles: público, Grupo: escritorio remoto, LocalIP: cualquiera, RemoteIP: cualquiera, Protocolo: TCP, LocalPort: 3389, RemotePort: cualquiera, Recorrido perimetral: no, Acción: permitir

    • Error: (resultados inesperados, como habilitado = No)

    • Solución: netsh firewall set service remotedesktop enable

  4. Verifica el número de puerto configurado para las conexiones de RDP en la instancia remota:

    • Comando: reg query “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp” /v PortNumber
    • Aprobado: PortNumber REG_DWORD [PORT NUMBER]
    • Error: (número de puerto inesperado)
    • Solución: reg add “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp” /f /v PortNumber /t REG_DWORD /d [PORT NUMBER]

  5. Asegúrate de que la cuenta de usuario conectada tenga permisos para conexiones remotas:

    • Comando: net localgroup “Remote Desktop Users”
    • Aprobado: (nombre de usuario local/de dominio de destino en la lista resultante)
    • Error: (falta el nombre de usuario local/de dominio de destino)
    • Solución: net localgroup “Remote Desktop Users” /add [DOMAIN\USERNAME]

  6. Verifica que el tamaño de la MTU no sea mayor que 1460:

    • Comando: netsh interface ipv4 show subinterfaces
    • Aprobado: MTU 1460, MediaSenseState 1, bytes de ingreso 915,643,107, bytes de egreso 681,487,030, interfaz: Ethernet

    • Error: (La MTU establecida es mayor que 1460)

    • Solución: netsh interface ipv4 set subinterface Ethernet mtu=1460

  7. Asegúrate de que la configuración del cliente de protección extremo o del antivirus permita el número de puerto y los servicios configurados.

Usa el disco en una instancia nueva

Si los otros pasos de solución de problemas no resuelven el problema de conexión, es posible que puedas borrar la instancia existente y preservar el disco persistente. Vuelve a activar el disco en una instancia nueva y realiza otro intento de solución de problemas, o solo recupera los datos existentes del disco.

gcloud compute instances delete [INSTANCE_NAME] --keep-disks=boot
gcloud compute instances create [NEW_INSTANCE_NAME] --disk name=[DISK_NAME]^
boot=yes auto-delete=no
¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Compute Engine