Udostępnij za pośrednictwem


Włączanie lub wyłączanie reguły zapory w systemie operacyjnym gościa maszyny wirtualnej platformy Azure

Dotyczy: ✔️ maszyny wirtualne z systemem Windows

Ten artykuł zawiera informacje dotyczące 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 zmiana została celowo wprowadzona do 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 są używane reguły protokołu RDP. Jednak te same metody można zastosować do dowolnego innego rodzaju ruchu, wskazując prawidłowy klucz rejestru.

Rozwiązywanie problemów w trybie online

Ograniczenie ryzyka 1: rozszerzenie niestandardowego skryptu

  1. 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
      
  2. Przekaż ten skrypt w witrynie Azure Portal przy użyciu funkcji rozszerzenia niestandardowego skryptu.

Ograniczenie ryzyka 2: Zdalny program PowerShell

Jeśli maszyna wirtualna jest w trybie online i może być dostępna na innej maszynie wirtualnej w tej samej sieci wirtualnej, możesz wykonać następujące środki zaradcze przy użyciu innej maszyny wirtualnej.

  1. Na maszynie wirtualnej rozwiązywania problemów otwórz okno konsoli programu PowerShell.

  2. 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 może być dostępna na innej maszynie wirtualnej w tej samej sieci wirtualnej, możesz wykonać następujące środki zaradcze przy użyciu innej maszyny wirtualnej.

  1. Na maszynie wirtualnej rozwiązywania problemów pobierz narzędzie PSTools.

  2. Otwórz wystąpienie usługi 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 może być dostępna na innej maszynie wirtualnej w tej samej sieci wirtualnej, możesz użyć rejestru zdalnego na innej maszynie wirtualnej.

  1. Na maszynie wirtualnej rozwiązywania problemów uruchom Edytor rejestru (regedit.exe), a następnie wybierz pozycję Plik>Połącz rejestr sieci.

  2. 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|

  3. 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ą żadnej metody, użycie rozszerzenia niestandardowego skryptu zakończy się niepowodzeniem i będzie konieczne działanie w trybie offline przez bezpośrednie działanie dysku systemowego.

Przed wykonaniem tych kroków wykonaj migawkę dysku systemowego maszyny wirtualnej, której dotyczy problem, jako kopię zapasową. Aby uzyskać więcej informacji, zobacz Migawka dysku.

  1. Dołącz dysk systemowy do maszyny wirtualnej odzyskiwania.

  2. Uruchom połączenie pulpitu zdalnego z maszyną wirtualną odzyskiwania.

  3. 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.

  4. Przed wprowadzeniem jakichkolwiek zmian utwórz kopię folderu \windows\system32\config w przypadku konieczności wycofania zmian.

  5. Na maszynie wirtualnej rozwiązywania problemów uruchom Edytor rejestru (regedit.exe).

  6. Wyróżnij klucz HKEY_LOCAL_MACHINE, a następnie z menu wybierz pozycję Załaduj gałąź pliku>.

    Zrzut ekranu przedstawiający klucz HKEY_LOCAL_MACHINE i opcję Załaduj gałąź hive w menu Plik w Edytorze rejestru.

  7. Znajdź i otwórz plik \windows\system32\config\SYSTEM.

    Uwaga 16.

    Zostanie wyświetlony monit o podanie nazwy. Wprowadź BROKENSYSTEM, a następnie rozwiń HKEY_LOCAL_MACHINE. Zostanie wyświetlony dodatkowy klucz o nazwie BROKENSYSTEM. W przypadku tego rozwiązywania problemów instalowania tych gałęzi problemów jako BROKENSYSTEM.

  8. Wprowadź następujące zmiany w gałęzi BROKENSYSTEM:

    1. Sprawdź, od którego klucza rejestru ControlSet uruchamiana jest maszyna wirtualna. Jego numer klucza zostanie wyświetlony w HKLM\BROKENSYSTEM\Select\Current.

    2. 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|

    3. 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|

  9. Wybierz pozycję BROKENSYSTEM, a następnie wybierz pozycję Plik>Zwolnij gałąź Programu Hive z menu.

  10. Odłącz dysk systemowy i utwórz ponownie maszynę wirtualną.

  11. 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 na temat platformy Azure.