Włączanie lub wyłączanie reguły zapory w systemie operacyjnym gościa maszyny wirtualnej platformy Azure
Ten artykuł zawiera dokumentację dotyczącą rozwiązywania problemów z sytuacją, w której podejrzewasz, że zapora systemu operacyjnego gościa filtruje częściowy ruch na maszynie wirtualnej. Może to być przydatne z następujących powodów:
Jeśli celowo wprowadzono zmianę zapory, która spowodowała niepowodzenie połączeń RDP, użycie funkcji rozszerzenia niestandardowego skryptu może rozwiązać ten problem.
Wyłączenie wszystkich profilów zapory jest bardziej niezawodnym sposobem rozwiązywania problemów niż ustawienie reguły zapory specyficznej dla protokołu RDP.
Rozwiązanie
Sposób konfigurowania reguł zapory zależy od wymaganego poziomu dostępu do maszyny wirtualnej. W poniższych przykładach użyto reguł PROTOKOŁU RDP. Jednak te same metody można zastosować do dowolnego innego rodzaju ruchu, wskazując poprawny klucz rejestru.
Rozwiązywanie problemów online
Ograniczenie ryzyka 1: rozszerzenie niestandardowego skryptu
Utwórz skrypt przy użyciu następującego szablonu.
Aby włączyć regułę:
netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=yes
Aby wyłączyć regułę:
netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=no
Przekaż ten skrypt w Azure Portal przy użyciu funkcji rozszerzenia niestandardowego skryptu.
Środki zaradcze 2: zdalny program PowerShell
Jeśli maszyna wirtualna jest w trybie online i jest dostępna na innej maszynie wirtualnej w tej samej sieci wirtualnej, możesz zastosować następujące środki zaradcze przy użyciu innej maszyny wirtualnej.
Na maszynie wirtualnej rozwiązywania problemów otwórz okno konsoli programu PowerShell.
W razie potrzeby uruchom następujące polecenia.
Aby włączyć regułę:
Enter-PSSession (New-PSSession -ComputerName "<HOSTNAME>" -Credential (Get-Credential) -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)) Enable-NetFirewallRule -DisplayName "RemoteDesktop-UserMode-In-TCP" exit
Aby wyłączyć regułę:
Enter-PSSession (New-PSSession -ComputerName "<HOSTNAME>" -Credential (Get-Credential) -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck)) Disable-NetFirewallRule -DisplayName "RemoteDesktop-UserMode-In-TCP" exit
Środki zaradcze 3: polecenia narzędzia PSTools
Jeśli maszyna wirtualna jest w trybie online i jest dostępna na innej maszynie wirtualnej w tej samej sieci wirtualnej, możesz zastosować następujące środki zaradcze przy użyciu innej maszyny wirtualnej.
Na maszynie wirtualnej rozwiązywania problemów pobierz narzędzie PSTools.
Otwórz wystąpienie cmd i uzyskaj dostęp do maszyny wirtualnej za pośrednictwem wewnętrznego adresu IP (DIP).
Aby włączyć regułę:
psexec \\<DIP> -u <username> cmd netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=yes
Aby wyłączyć regułę:
psexec \\<DIP> -u <username> cmd netsh advfirewall firewall set rule dir=in name="Remote Desktop - User Mode (TCP-In)" new enable=no
Środki zaradcze 4: Rejestr zdalny
Jeśli maszyna wirtualna jest w trybie online i jest dostępna na innej maszynie wirtualnej w tej samej sieci wirtualnej, możesz użyć rejestru zdalnego na innej maszynie wirtualnej.
Na maszynie wirtualnej rozwiązywania problemów uruchom Redaktor rejestru (regedit.exe), a następnie wybierz pozycję File>Connect Network Registry.
Otwórz gałąź TARGET MACHINE\SYSTEM, a następnie określ następujące wartości:
Aby włączyć regułę, otwórz następującą wartość rejestru:
TARGET MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP
Następnie zmień wartość Active=FALSE na Active=TRUE w ciągu:
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|
Aby wyłączyć regułę, otwórz następującą wartość rejestru:
TARGET MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP
Następnie zmień wartość Active =TRUE na 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|
Uruchom ponownie maszynę wirtualną, aby zastosować zmiany.
Rozwiązywanie problemów w trybie offline
Jeśli nie możesz uzyskać dostępu do maszyny wirtualnej za pomocą jakiejkolwiek metody, użycie rozszerzenia niestandardowego skryptu zakończy się niepowodzeniem i będziesz musiał pracować w trybie offline, pracując bezpośrednio za pośrednictwem dysku systemowego.
Przed wykonaniem tych kroków wykonaj migawkę dysku systemowego maszyny wirtualnej, na którą dotyczy problem, jako kopię zapasową. Aby uzyskać więcej informacji, zobacz Migawka dysku.
Uruchom połączenie pulpitu zdalnego z maszyną wirtualną odzyskiwania.
Upewnij się, że dysk jest oflagowany jako Online w konsoli zarządzania dyskami. Należy pamiętać, że litera dysku przypisana do dołączonego dysku systemowego.
Przed wprowadzeniem jakichkolwiek zmian utwórz kopię folderu \windows\system32\config w przypadku konieczności wycofania zmian.
Na maszynie wirtualnej rozwiązywania problemów uruchom Redaktor rejestru (regedit.exe).
Wyróżnij klucz HKEY_LOCAL_MACHINE, a następnie z menu wybierz pozycjęZaładujplik> Hive.
Znajdź i otwórz plik \windows\system32\config\SYSTEM.
Uwaga
Zostanie wyświetlony monit o podanie nazwy. Wprowadź wartość BROKENSYSTEM, a następnie rozwiń węzeł HKEY_LOCAL_MACHINE. Teraz zostanie wyświetlony dodatkowy klucz o nazwie BROKENSYSTEM. Na potrzeby tego rozwiązywania problemów te gałęzie problemów są instalowane jako BROKENSYSTEM.
Wprowadź następujące zmiany w gałęzi BROKENSYSTEM:
Sprawdź, od którego klucza rejestru ControlSet zaczyna się maszyna wirtualna. Jego numer klucza zostanie wyświetlony w HKLM\BROKENSYSTEM\Select\Current.
Aby włączyć regułę, otwórz następującą wartość rejestru:
HKLM\BROKENSYSTEM\ControlSet00X\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP
Następnie zmień wartość Active=FALSE na 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|
Aby wyłączyć regułę, otwórz następujący klucz rejestru:
HKLM\BROKENSYSTEM\ControlSet00X\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\RemoteDesktop-UserMode-In-TCP
Następnie zmień wartość Active=True na 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|
Wyróżnij pozycję BROKENSYSTEM, a następnie wybierz pozycję File>Unload Hive z menu.
Sprawdź, czy problem został rozwiązany.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla