Delen via


Een firewallregel in een gastbesturingssysteem in- of uitschakelen

Van toepassing op: ✔️ Windows-VM's

Dit artikel bevat een overzicht van het oplossen van problemen waarbij u vermoedt dat de firewall van het gastbesturingssysteem gedeeltelijk verkeer op een virtuele machine (VM) filtert. Dit kan handig zijn om de volgende redenen:

  • Als er opzettelijk een wijziging is aangebracht in de firewall waardoor RDP-verbindingen zijn mislukt, kan het probleem worden opgelost met behulp van de functie Aangepaste scriptextensie.

  • Het uitschakelen van alle firewallprofielen is een veiligere manier om problemen op te lossen dan het instellen van de RDP-specifieke firewallregel.

Oplossing

Hoe u de firewallregels configureert, is afhankelijk van het niveau van toegang tot de vm die vereist is. In de volgende voorbeelden worden RDP-regels gebruikt. Dezelfde methoden kunnen echter worden toegepast op elk ander type verkeer door te verwijzen naar de juiste registersleutel.

Online probleemoplossing

Beperking 1: Aangepaste scriptextensie

  1. Maak uw script met behulp van de volgende sjabloon.

    • Een regel inschakelen:

      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=yes
      
    • Een regel uitschakelen:

      netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=no
      
  2. Upload dit script in Azure Portal met behulp van de functie Aangepaste scriptextensie .

Risicobeperking 2: Externe PowerShell

Als de virtuele machine online is en toegankelijk is op een andere VIRTUELE machine in hetzelfde virtuele netwerk, kunt u de volgende oplossingen maken met behulp van de andere VM.

  1. Open op de VM voor probleemoplossing een PowerShell-consolevenster.

  2. Voer de volgende opdrachten uit, indien van toepassing.

    • Een regel inschakelen:

      Enter-PSSession (New-PSSession -ComputerName "<HOSTNAME>" -Credential (Get-Credential) -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)) 
      Enable-NetFirewallRule -DisplayName  "RemoteDesktop-UserMode-In-TCP"
      exit
      
    • Een regel uitschakelen:

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

Beperking 3: PSTools-opdrachten

Als de virtuele machine online is en toegankelijk is op een andere VIRTUELE machine in hetzelfde virtuele netwerk, kunt u de volgende oplossingen maken met behulp van de andere VM.

  1. Download PSTools op de VM voor probleemoplossing.

  2. Open een CMD-exemplaar en open de VM via het interne IP-adres (DIP).

    • Een regel inschakelen:

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

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

Risicobeperking 4: Extern register

Als de virtuele machine online is en toegankelijk is op een andere VIRTUELE machine in hetzelfde virtuele netwerk, kunt u Remote Registry op de andere VIRTUELE machine gebruiken.

  1. Start op de VM voor probleemoplossing de Register-editor (regedit.exe) en selecteer vervolgens File>Connect Network Registry.

  2. Open de DOELMACHINE\SYSTEM-vertakking en geef de volgende waarden op:

    • Als u een regel wilt inschakelen, opent u de volgende registerwaarde:

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

      Wijzig vervolgens Active=FALSE in Active=TRUE in de tekenreeks:

      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|

    • Als u een regel wilt uitschakelen, opent u de volgende registerwaarde:

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

      Wijzig vervolgens Active =TRUE in 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|

  3. Start de VIRTUELE machine opnieuw op om de wijzigingen toe te passen.

Problemen met offline oplossen

Als u met een methode geen toegang hebt tot de virtuele machine, mislukt het gebruik van de aangepaste scriptextensie en moet u in de offlinemodus werken door rechtstreeks via de systeemschijf te werken.

Voordat u deze stappen uitvoert, maakt u een momentopname van de systeemschijf van de betreffende VM als back-up. Zie Momentopname van een schijf voor meer informatie.

  1. Koppel de systeemschijf aan een herstel-VM.

  2. Start een verbinding met extern bureaublad met de herstel-VM.

  3. Zorg ervoor dat de schijf is gemarkeerd als Online in de console Schijfbeheer. Houd er rekening mee dat de stationsletter die is toegewezen aan de gekoppelde systeemschijf.

  4. Voordat u wijzigingen aanbrengt, maakt u een kopie van de map \windows\system32\config voor het geval er een terugdraaiactie van de wijzigingen nodig is.

  5. Start registereditor (regedit.exe) op de VM voor probleemoplossing.

  6. Markeer de HKEY_LOCAL_MACHINE-toets en selecteer Vervolgens File>Load Hive in het menu.

    Schermopname van de HKEY_LOCAL_MACHINE-toets en de optie Hive laden in het menu Bestand van registereditor.

  7. Zoek en open het bestand \windows\system32\config\SYSTEM.

    Notitie

    U wordt gevraagd om een naam. Voer BROKENSYSTEM in en vouw HKEY_LOCAL_MACHINE uit. U ziet nu een extra sleutel met de naam BROKENSYSTEM. Voor deze probleemoplossing koppelen we deze probleem hives als BROKENSYSTEM.

  8. Breng de volgende wijzigingen aan in de BROKENSYSTEM-vertakking:

    1. Controleer vanaf welke ControlSet-registersleutel de VM begint. U ziet het sleutelnummer in HKLM\BROKENSYSTEM\Select\Current.

    2. Als u een regel wilt inschakelen, opent u de volgende registerwaarde:

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

      Wijzig vervolgens Active=FALSE in Active=True.

      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. Als u een regel wilt uitschakelen, opent u de volgende registersleutel:

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

      Wijzig vervolgens Active=True in 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. Markeer BROKENSYSTEM en selecteer >Vervolgens File Unload Hive in het menu.

  10. Koppel de systeemschijf los en maak de virtuele machine opnieuw.

  11. Controleer of het probleem is opgelost.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.