Il firewall del sistema operativo guest della macchina virtuale di Azure blocca il traffico in ingresso

Questo articolo illustra come risolvere il problema di Remote Desktop Portal (RDP) che si verifica se il firewall del sistema operativo guest blocca il traffico in entrata.

Sintomi

Non è possibile usare una connessione RDP per connettersi a una macchina virtuale (VM) di Azure. Dalla Diagnostica di avvio: > screenshot che mostra che il sistema operativo è completamente caricato nella schermata iniziale (Ctrl+Alt+Canc).

Causa

Causa 1

La regola RDP non è configurata per consentire il traffico RDP.

Causa 2

I profili del firewall del sistema guest sono impostati per bloccare tutte le connessioni in entrata, incluso il traffico RDP.

              Screenshot dell'opzione Blocca tutte le connessioni in entrata nella scheda Profilo di dominio della finestra delle impostazioni del firewall.                            

Soluzione

Prima di seguire questi passaggi, eseguire uno snapshot del disco di sistema della macchina virtuale interessata come backup. Per altre informazioni, vedere Snapshot di un disco.

Per risolvere il problema, usa uno dei metodi in Come utilizzare gli strumenti remoti per risolvere i problemi relativi alle macchine virtuali di Azure per connettersi alla macchina virtuale in remoto, quindi modifica le regole del firewall del sistema operativo guest in Consenti Traffico RDP.

Risoluzione dei problemi in linea

Connettersi alla console seriale e quindi aprire un'istanza di PowerShell. Se la console seriale non è abilitata sulla macchina virtuale, andare a "Riparare la VM offline".

Mitigazione 1

  1. Se l'agente di Azure è installato e funziona correttamente nella macchina virtuale, puoi usare l'opzione "Ripristina solo configurazione" in Guida>Reimposta password nel menu della macchina virtuale.

  2. L'esecuzione di questa opzione di ripristino esegue le seguenti operazioni:

    • Abilita un componente RDP se è disabilitato.

    • Abilita tutti i profili firewall di Windows.

    • Assicurati che la regola RDP sia attivata in Windows Firewall.

    • Se i passaggi precedenti non funzionano, reimpostare manualmente la regola del firewall. A tale scopo, eseguire una query su tutte le regole che contengono il nome "Desktop remoto" eseguendo il comando seguente:

      netsh advfirewall firewall show rule dir=in name=all | select-string -pattern "(Name.*Remote Desktop)" -context 9,4 | more
      

      Se la porta RDP è stata impostata su qualsiasi altra porta diversa da 3389, devi trovare qualsiasi regola personalizzata che potrebbe essere stata creata e impostata su questa porta. Per eseguire una query per tutte le regole in entrata che dispongono di una porta personalizzata, eseguire il seguente comando:

      netsh advfirewall firewall show rule dir=in name=all | select-string -pattern "(LocalPort.*<CUSTOM PORT>)" -context 9,4 | more
      
  3. Se vedi che la regola è disabilitata, abilitala. Per aprire un intero gruppo, ad esempio il gruppo Desktop remoto integrato, eseguire il seguente comando:

    netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes
    

    In caso contrario, per aprire la regola di Desktop remoto (TCP-In) specifica, eseguire il comando seguente:

    netsh advfirewall firewall set rule name="<CUSTOM RULE NAME>" new enable=yes
    
  4. Per la risoluzione dei problemi, puoi disattivare i profili del firewall:

    netsh advfirewall set allprofiles state off
    

    Dopo aver terminato la risoluzione dei problemi e aver impostato correttamente il firewall, riattivare il firewall.

    Nota

    Non è necessario riavviare la VM per applicare queste modifiche.

  5. Prova a stabilire una connessione RDP per accedere alla VM.

Mitigazione 2

  1. Interroga i profili del firewall per determinare se il criterio del firewall in entrata è impostato su BlockInboundAlways:

    netsh advfirewall show allprofiles | more
    

                  Screenshot del risultato della query dei profili firewall in entrata che contiene BlockInboundAlways.                            

    Nota

    Le linee guida seguenti si applicano ai criteri del firewall, a seconda della configurazione:

    • BlockInbound: tutto il traffico in entrata verrà bloccato a meno che non sia presente una regola attiva per consentire tale traffico.
    • BlockInboundAlways: tutte le regole del firewall verranno ignorate e tutto il traffico verrà bloccato.
  2. Imposta DefaultInboundAction su traffico non sempre bloccato. A tale scopo, utilizzare il seguente comando:

    netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
    
  3. Interroga nuovamente i profili per assicurarti che la modifica sia stata apportata correttamente. A tale scopo, utilizzare il seguente comando:

    netsh advfirewall show allprofiles | more
    

    Nota

    Non è necessario riavviare la VM per applicare le modifiche.

  4. Assicurati di aggiungere la regola in entrata per la connessione RDP.

  5. Riprova ad accedere alla tua VM tramite RDP.

Mitigazioni offline

  1. Collega il disco di sistema a una macchina virtuale di ripristino.

  2. Avviare una connessione Desktop remoto alla VM di ripristino.

  3. Assicurati che il disco sia contrassegnato come Online nella console di Gestione disco. Prendere nota della lettera di unità assegnata al disco di sistema collegato.

Mitigazione 1

Vedere Come Enable-Disable una regola del firewall in un sistema operativo guest.

Mitigazione 2

  1. Collega il disco di sistema a una macchina virtuale di ripristino.

  2. Avviare una connessione Desktop remoto alla VM di ripristino.

  3. Dopo che il disco di sistema è stato collegato alla VM di ripristino, assicurati che il disco sia contrassegnato come Online nella console di Gestione disco. Prendere nota della lettera di unità assegnata al disco del sistema operativo collegato.

  4. Aprire un'istanza PowerShell con privilegi elevati ed eseguire il seguente 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. Scollega il disco di sistema e ricrea la VM.

  6. Controlla se il problema è stato risolto.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.