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
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
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.
Open op de VM voor probleemoplossing een PowerShell-consolevenster.
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.
Download PSTools op de VM voor probleemoplossing.
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.
Start op de VM voor probleemoplossing de Register-editor (regedit.exe) en selecteer vervolgens File>Connect Network Registry.
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|
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.
Start een verbinding met extern bureaublad met de herstel-VM.
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.
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.
Start registereditor (regedit.exe) op de VM voor probleemoplossing.
Markeer de HKEY_LOCAL_MACHINE-toets en selecteer Vervolgens File>Load Hive in het menu.
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.
Breng de volgende wijzigingen aan in de BROKENSYSTEM-vertakking:
Controleer vanaf welke ControlSet-registersleutel de VM begint. U ziet het sleutelnummer in HKLM\BROKENSYSTEM\Select\Current.
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|
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|
Markeer BROKENSYSTEM en selecteer >Vervolgens File Unload Hive in het menu.
Koppel de systeemschijf los en maak de virtuele machine opnieuw.
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.