Dela via


Aktivera eller inaktivera en brandväggsregel på ett gästoperativsystem för virtuella Azure-datorer

Den här artikeln innehåller en referens för att felsöka en situation där du misstänker att gästoperativsystemets brandvägg filtrerar partiell trafik på en virtuell dator (VM). Detta kan vara användbart av följande skäl:

  • Om en ändring avsiktligt har gjorts i brandväggen som gjorde att RDP-anslutningar misslyckades kan du lösa problemet med hjälp av funktionen för anpassat skripttillägg.

  • Att inaktivera alla brandväggsprofiler är ett mer idiotsäkert sätt att felsöka än att ange den RDP-specifika brandväggsregeln.

Lösning

Hur du konfigurerar brandväggsreglerna beror på vilken åtkomstnivå som krävs till den virtuella datorn. I följande exempel används RDP-regler. Samma metoder kan dock tillämpas på alla andra typer av trafik genom att peka på rätt registernyckel.

Felsökning online

Åtgärd 1: Tillägg för anpassat skript

  1. Skapa skriptet med hjälp av följande mall.

    • Så här aktiverar du en regel:

      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=yes
      
    • Så här inaktiverar du en regel:

      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=no
      
  2. Ladda upp det här skriptet i Azure Portal med hjälp av funktionen Tillägg för anpassat skript.

Åtgärd 2: Fjärr-PowerShell

Om den virtuella datorn är online och kan nås på en annan virtuell dator i samma virtuella nätverk kan du göra följande åtgärder med hjälp av den andra virtuella datorn.

  1. Öppna ett PowerShell-konsolfönster på den virtuella datorn för felsökning.

  2. Kör följande kommandon efter behov.

    • Så här aktiverar du en regel:

      Enter-PSSession (New-PSSession -ComputerName "<HOSTNAME>" -Credential (Get-Credential) -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)) 
      Enable-NetFirewallRule -DisplayName  "RemoteDesktop-UserMode-In-TCP"
      exit
      
    • Så här inaktiverar du en regel:

      Enter-PSSession (New-PSSession -ComputerName "<HOSTNAME>" -Credential (Get-Credential) -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)) 
      Disable-NetFirewallRule -DisplayName  "RemoteDesktop-UserMode-In-TCP"
      exit
      

Åtgärd 3: PSTools-kommandon

Om den virtuella datorn är online och kan nås på en annan virtuell dator i samma virtuella nätverk kan du göra följande åtgärder med hjälp av den andra virtuella datorn.

  1. Ladda ned PSTools på den virtuella felsökningsdatorn.

  2. Öppna en CMD-instans och få åtkomst till den virtuella datorn via dess interna IP-adress (DIP).

    • Så här aktiverar du en regel:

      psexec \\<DIP> ​-u <username> cmd
      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=yes
      
    • Så här inaktiverar du en regel:

      psexec \\<DIP> ​-u <username> cmd
      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=no
      

Åtgärd 4: Fjärrregister

Om den virtuella datorn är online och kan nås på en annan virtuell dator i samma virtuella nätverk kan du använda fjärrregistret på den andra virtuella datorn.

  1. Starta Registry Editor (regedit.exe) på den virtuella felsökningsdatorn och välj sedan File>Connect Network Registry.

  2. Öppna grenen TARGET MACHINE\SYSTEM och ange sedan följande värden:

    • Om du vill aktivera en regel öppnar du följande registervärde:

      TARGET MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-in-TCP

      Ändra sedan Active=FALSE till Active=TRUE i strängen:

      v2.22|Action=Allow|Active=TRUE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|

    • Om du vill inaktivera en regel öppnar du följande registervärde:

      TARGET MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-in-TCP

      Ändra sedan Aktiv =TRUE till Aktiv=FALSKT:

      v2.22|Action=Allow|Active=FALSE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|

  3. Starta om den virtuella datorn för att tillämpa ändringarna.

Felsökning offline

Om du inte kan komma åt den virtuella datorn med någon metod misslyckas användningen av tillägget för anpassat skript och du måste arbeta i OFFLINE-läge genom att arbeta direkt via systemdisken.

Innan du följer de här stegen bör du ta en ögonblicksbild av systemdisken för den berörda virtuella datorn som en säkerhetskopia. Mer information finns i Ögonblicksbild av en disk.

  1. Koppla systemdisken till en virtuell återställningsdator.

  2. Starta en fjärrskrivbordsanslutning till den virtuella återställningsdatorn.

  3. Kontrollera att disken har flaggats som Online i diskhanteringskonsolen. Observera att enhetsbeteckningen som är tilldelad till den anslutna systemdisken.

  4. Innan du gör några ändringar skapar du en kopia av mappen \windows\system32\config om det behövs en återställning av ändringarna.

  5. Starta Registry Editor (regedit.exe) på den virtuella felsökningsdatorn.

  6. Markera HKEY_LOCAL_MACHINE och välj sedanFilinläsningsdatafil> på menyn.

    Skärmbild av HKEY_LOCAL_MACHINE-nyckeln och alternativet Läs in Hive på Arkiv-menyn i Registry Editor.

  7. Leta upp och öppna sedan filen \windows\system32\config\SYSTEM.

    Obs!

    Du uppmanas att ange ett namn. Ange BROKENSYSTEM och expandera sedan HKEY_LOCAL_MACHINE. Nu visas ytterligare en nyckel med namnet BROKENSYSTEM. För den här felsökningen monterar vi dessa problemdatafiler som BROKENSYSTEM.

  8. Gör följande ändringar på BROKENSYSTEM-grenen:

    1. Kontrollera vilken ControlSet-registernyckel som den virtuella datorn startar från. Du ser dess nyckelnummer i HKLM\BROKENSYSTEM\Select\Current.

    2. Om du vill aktivera en regel öppnar du följande registervärde:

      HKLM\BROKENSYSTEM\ControlSet00X\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-in-TCP

      Ändra sedan Active=FALSE till Aktiv=Sant.

      v2.22|Action=Allow|Active=TRUE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|

    3. Om du vill inaktivera en regel öppnar du följande registernyckel:

      HKLM\BROKENSYSTEM\ControlSet00X\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-in-TCP

      Ändra sedan Active=True till Active=FALSE.

      v2.22|Action=Allow|Active=FALSE|Dir=In|Protocol=6|Profile=Domain|Profile=Private|Profile=Public|LPort=3389|App=%SystemRoot%\system32\svchost.exe|Svc=termservice|Name=\@FirewallAPI.dll,-28775|Desc=\@FirewallAPI.dll,-28756|EmbedCtxt=\@FirewallAPI.dll,-28752|

  9. Markera BROKENSYSTEM och välj sedan Arkiv>Ta bort Hive på menyn.

  10. Koppla från systemdisken och återskapa den virtuella datorn.

  11. Kontrollera om problemet är löst.

Kontakta oss för att få hjälp

Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.