Compartir a través de


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.

Captura de pantalla de la opción bloquear todas las conexiones entrantes en la pestaña Perfil de dominio de la ventana de configuración del firewall.

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

  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.

  2. 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
      
  3. 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
    
  4. 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.

  5. Intente realizar una conexión RDP para acceder a la máquina virtual.

Mitigación 2

  1. Consulte los perfiles de firewall para determinar si la directiva de firewall de entrada está establecida en BlockInboundAlways:

    netsh advfirewall show allprofiles | more
    

    Captura de pantalla del resultado de la consulta de los perfiles de firewall entrantes que contiene BlockInboundAlways.

    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.
  2. Seleccione DefaultInboundAction para no bloquear siempre el tráfico. Para ello, ejecute el siguiente comando:

    netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
    
  3. 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.

  4. Asegúrese de añadir la regla de entrada para la conexión RDP.

  5. Vuelva a intentar obtener acceso a la máquina virtual mediante RDP.

Mitigaciones sin conexión

  1. Conecte el disco del sistema a una máquina virtual de recuperación.

  2. Inicie una conexión mediante el Escritorio remoto a la máquina virtual de recuperación.

  3. 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

  1. Conecte el disco del sistema a una máquina virtual de recuperación.

  2. Inicie una conexión mediante el Escritorio remoto a la máquina virtual de recuperación.

  3. 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.

  4. 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
    
  5. Desconecte el disco del sistema y vuelva a crear la máquina virtual.

  6. 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.