El firewall de SO invitado de máquina virtual de Azure está bloqueando el tráfico entrante
En este artículo se describe cómo solucionar el problema del Portal de escritorio remoto (RDP) que se produce si el firewall del sistema operativo invitado bloquea el tráfico entrante.
Síntomas
No se puede usar una conexión RDP para conectarse a una máquina virtual (VM) de Azure. Desde Diagnósticos de arranque -> Captura de pantalla, se muestra que el sistema operativo está completamente cargado en la pantalla de inicio de sesión (Ctrl+Alt+Supr).
Causa
Causa 1
La regla RDP no está configurada para permitir el tráfico RDP.
Causa 2
Los perfiles del firewall del sistema invitado están configurados para bloquear todas las conexiones entrantes, incluido el tráfico RDP.
Solución
Antes de seguir estos pasos, tome una instantánea del disco del sistema de la máquina virtual afectada como copia de seguridad. Para obtener más información, consulte Instantánea de un disco.
Para corregir el problema, utilice uno de los métodos de Uso de herramientas remotas para solucionar problemas con la VM de Azure para conectarse de forma remota a la máquina virtual y, a continuación, edite las reglas de firewall del sistema operativo invitado a fin de permitir el tráfico RDP.
Solución de problemas en línea
Conéctese a la consola serie y abra una instancia de PowerShell. Si la consola serie no está habilitada en la máquina virtual, vaya a "Reparación de la máquina virtual sin conexión.
Mitigación 1
Si el agente de Azure está instalado y funciona correctamente en la VM, puede usar la opción “Restablecer solo la configuración” en Ayuda>Restablecer contraseña en el menú de la VM.
Al ejecutar esta opción de recuperación:
Habilita un componente RDP si está deshabilitado.
Se habilitan los perfiles del firewall de Windows.
Se asegura que la regla RDP está activada en el firewall de Windows.
Si los pasos anteriores no funcionan, restablezca manualmente la regla de firewall. Para ello, ejecute el siguiente comando para consultar todas las reglas que contienen el nombre "Escritorio remoto":
netsh advfirewall firewall show rule dir=in name=all | select-string -pattern "(Name.*Remote Desktop)" -context 9,4 | more
Si se estableció el puerto RDP en cualquier otro puerto distinto de 3389, debe buscar cualquier regla personalizada que pueda haberse creado y configurado para este puerto. Para consultar todas las reglas de entrada que tengan un puerto personalizado, ejecute el siguiente comando:
netsh advfirewall firewall show rule dir=in name=all | select-string -pattern "(LocalPort.*<CUSTOM PORT>)" -context 9,4 | more
Si ve que la regla está deshabilitada, habilítela. Para abrir un grupo completo, como el grupo Escritorio remoto integrado, ejecute el siguiente comando:
netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes
De lo contrario, para abrir la regla específica de Escritorio remoto (TCP-In), ejecute el siguiente comando:
netsh advfirewall firewall set rule name="<CUSTOM RULE NAME>" new enable=yes
Para solucionar el problema, puede establecer los perfiles de firewall en OFF (desactivados):
netsh advfirewall set allprofiles state off
Cuando termine de solucionar los problemas y de configurar el firewall correctamente, vuelva a habilitar el firewall.
Nota:
No tiene que reiniciar la máquina virtual para aplicar estos cambios.
Intente realizar una conexión RDP para acceder a la máquina virtual.
Mitigación 2
Consulte los perfiles de firewall para determinar si la directiva de firewall de entrada está establecida en BlockInboundAlways:
netsh advfirewall show allprofiles | more
Nota:
Las siguientes directrices se aplican a la directiva de firewall, en función de cómo se configure:
- BlockInbound: Se bloqueará todo el tráfico entrante, a menos que tenga una regla en vigor para permitir ese tráfico.
- BlockInboundAlways: Se ignorarán todas las reglas del cortafuegos y se bloqueará todo el tráfico.
Seleccione DefaultInboundAction para no bloquear siempre el tráfico. Para ello, ejecute el siguiente comando:
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
Consulte los perfiles de nuevo para asegurarse de que el cambio se realizó correctamente. Para comprobarlo, ejecute el siguiente comando:
netsh advfirewall show allprofiles | more
Nota:
No tiene que reiniciar la máquina virtual para aplicar estos cambios.
Asegúrese de añadir la regla de entrada para la conexión RDP.
Vuelva a intentar obtener acceso a la máquina virtual mediante RDP.
Mitigaciones sin conexión
Conecte el disco del sistema a una máquina virtual de recuperación.
Inicie una conexión mediante el Escritorio remoto a la máquina virtual de recuperación.
Asegúrese de que el disco aparece marcado como En línea en la consola de Administración de discos. Anote la letra de unidad asignada al disco del sistema conectado.
Mitigación 1
Consulte Cómo Enable-Disable una regla de firewall en un sistema operativo invitado.
Mitigación 2
Conecte el disco del sistema a una máquina virtual de recuperación.
Inicie una conexión mediante el Escritorio remoto a la máquina virtual de recuperación.
Después de que el disco del sistema operativo esté asociado a una máquina virtual de recuperación, asegúrese de que se marca como En línea en la consola de administración de discos. Anote la letra de unidad que se asigna al disco del sistema operativo conectado.
Abra una instancia de PowerShell con privilegios elevados y, luego, ejecute el siguiente script:
REM Backup the registry prior doing any change robocopy f:\windows\system32\config f:\windows\system32\config.BACK /MT REM Mount the hive reg load HKLM\BROKENSYSTEM f:\windows\system32\config\SYSTEM REM Delete the keys to block all inbound connection scenario REG DELETE "HKLM\BROKENSYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\DomainProfile" /v DoNotAllowExceptions REG DELETE "HKLM\BROKENSYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\PublicProfile" /v DoNotAllowExceptions REG DELETE "HKLM\BROKENSYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\StandardProfile" /v DoNotAllowExceptions REG DELETE "HKLM\BROKENSYSTEM\ControlSet002\services\SharedAccess\Parameters\FirewallPolicy\DomainProfile" /v DoNotAllowExceptions REG DELETE "HKLM\BROKENSYSTEM\ControlSet002\services\SharedAccess\Parameters\FirewallPolicy\PublicProfile" /v DoNotAllowExceptions REG DELETE "HKLM\BROKENSYSTEM\ControlSet002\services\SharedAccess\Parameters\FirewallPolicy\StandardProfile" /v DoNotAllowExceptions REM Unmount the hive reg unload HKLM\BROKENSYSTEM
Desconecte el disco del sistema y vuelva a crear la máquina virtual.
Compruebe si se ha resuelto el problema.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de