Udostępnij za pośrednictwem


Zapora systemu operacyjnego gościa maszyny wirtualnej platformy Azure blokuje ruch przychodzący

Dotyczy: ✔️ maszyny wirtualne z systemem Windows

W tym artykule omówiono sposób rozwiązywania problemu z portalem pulpitu zdalnego (RDP), który występuje, jeśli zapora systemu operacyjnego gościa blokuje ruch przychodzący.

Symptomy

Nie można użyć połączenia RDP, aby nawiązać połączenie z maszyną wirtualną platformy Azure. Z diagnostyki rozruchu —> zrzut ekranu pokazuje, że system operacyjny jest w pełni załadowany na ekranie powitalnym (Ctrl+Alt+Del).

Przyczyna

Przyczyna 1

Reguła protokołu RDP nie jest skonfigurowana tak, aby zezwalała na ruch RDP.

Przyczyna 2

Profile zapory systemu gościa są skonfigurowane w celu blokowania wszystkich połączeń przychodzących, w tym ruchu RDP.

Zrzut ekranu przedstawiający opcję blokuj wszystkie połączenia przychodzące na karcie Profil domeny okna ustawienia zapory.

Rozwiązanie

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.

Aby rozwiązać ten problem, użyj jednej z metod w temacie Jak używać narzędzi zdalnych do rozwiązywania problemów z maszyną wirtualną platformy Azure w celu zdalnego nawiązywania połączenia z maszyną wirtualną, a następnie edytuj reguły zapory systemu operacyjnego gościa, aby zezwolić na ruch RDP.

Rozwiązywanie problemów w trybie online

Połącz się z konsolą szeregową , a następnie otwórz wystąpienie programu PowerShell. Jeśli konsola szeregowa nie jest włączona na maszynie wirtualnej, przejdź do pozycji "Napraw maszynę wirtualną w trybie offline.

Środki zaradcze 1

  1. Jeśli agent platformy Azure jest zainstalowany i działa poprawnie na maszynie wirtualnej, możesz użyć opcji "Resetuj tylko konfigurację" w obszarze Hasło do resetowania pomocy>w menu maszyny wirtualnej.

  2. Uruchomienie tej opcji odzyskiwania powoduje wykonanie następujących czynności:

    • Włącza składnik RDP, jeśli jest wyłączony.

    • Włącza wszystkie profile zapory systemu Windows.

    • Upewnij się, że reguła protokołu RDP jest włączona w Zaporze systemu Windows.

    • Jeśli poprzednie kroki nie zadziałają, ręcznie zresetuj regułę zapory. W tym celu wykonaj zapytanie dotyczące wszystkich reguł zawierających nazwę "Pulpit zdalny", uruchamiając następujące polecenie:

      netsh advfirewall firewall show rule dir=in name=all | select-string -pattern "(Name.*Remote Desktop)" -context 9,4 | more
      

      Jeśli port RDP został ustawiony na dowolny inny port inny niż 3389, musisz znaleźć dowolną regułę niestandardową, która mogła zostać utworzona i ustawiona na ten port. Aby wykonać zapytanie dotyczące wszystkich reguł ruchu przychodzącego, które mają port niestandardowy, uruchom następujące polecenie:

      netsh advfirewall firewall show rule dir=in name=all | select-string -pattern "(LocalPort.*<CUSTOM PORT>)" -context 9,4 | more
      
  3. Jeśli zobaczysz, że reguła jest wyłączona, włącz ją. Aby otworzyć całą grupę, taką jak wbudowana grupa pulpitu zdalnego, uruchom następujące polecenie:

    netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes
    

    W przeciwnym razie, aby otworzyć konkretną regułę pulpitu zdalnego (TCP-In), uruchom następujące polecenie:

    netsh advfirewall firewall set rule name="<CUSTOM RULE NAME>" new enable=yes
    
  4. Aby rozwiązać problemy, możesz włączyć opcję WYŁ. profile zapory:

    netsh advfirewall set allprofiles state off
    

    Po zakończeniu rozwiązywania problemów i poprawnym ustawieniu zapory ponownie włącz zaporę.

    Uwaga 16.

    Nie musisz ponownie uruchamiać maszyny wirtualnej, aby zastosować te zmiany.

  5. Spróbuj nawiązać połączenie RDP w celu uzyskania dostępu do maszyny wirtualnej.

Środki zaradcze 2

  1. Wykonaj zapytanie dotyczące profilów zapory, aby określić, czy zasady zapory dla ruchu przychodzącego mają wartość BlockInboundAlways:

    netsh advfirewall show allprofiles | more
    

    Zrzut ekranu przedstawiający wynik zapytania profilów zapory dla ruchu przychodzącego, który zawiera blokInboundAlways.

    Uwaga 16.

    Poniższe wskazówki dotyczą zasad zapory w zależności od sposobu jej konfigurowania:

    • BlockInbound: cały ruch przychodzący zostanie zablokowany, chyba że masz regułę zezwalającą na ten ruch.
    • BlockInboundAlways: wszystkie reguły zapory zostaną zignorowane, a cały ruch zostanie zablokowany.
  2. Ustaw wartość DefaultInboundAction na nie zawsze zablokowany ruch. Aby to zrobić, uruchom następujące polecenie:

    netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
    
  3. Ponownie wykonaj zapytanie dotyczące profilów, aby upewnić się, że zmiany zostały wprowadzone pomyślnie. Aby to zrobić, uruchom następujące polecenie:

    netsh advfirewall show allprofiles | more
    

    Uwaga 16.

    Nie musisz ponownie uruchamiać maszyny wirtualnej, aby zastosować zmiany.

  4. Upewnij się, że dodano regułę ruchu przychodzącego dla połączenia RDP.

  5. Spróbuj ponownie uzyskać dostęp do maszyny wirtualnej za pośrednictwem protokołu RDP.

Środki zaradcze trybu offline

  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. Zwróć uwagę na literę dysku przypisaną do dołączonego dysku systemowego.

Środki zaradcze 1

Zobacz Jak włączyć i wyłączyć regułę zapory w systemie operacyjnym gościa.

Środki zaradcze 2

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

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

  3. Po dołączeniu dysku systemowego do maszyny wirtualnej odzyskiwania upewnij się, że dysk jest oflagowany jako Online w konsoli zarządzania dyskami. Zwróć uwagę na literę dysku przypisaną do dołączonego dysku systemu operacyjnego.

  4. Otwórz wystąpienie programu PowerShell z podwyższonym poziomem uprawnień, a następnie uruchom następujący skrypt:

    REM Backup the registry prior doing any change
    robocopy f:\windows\system32\config f:\windows\system32\config.BACK /MT
    
    REM Mount the hive
    reg load HKLM\BROKENSYSTEM f:\windows\system32\config\SYSTEM
    
    REM Delete the keys to block all inbound connection scenario
    REG DELETE "HKLM\BROKENSYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\DomainProfile" /v DoNotAllowExceptions
    REG DELETE "HKLM\BROKENSYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\PublicProfile" /v DoNotAllowExceptions
    REG DELETE "HKLM\BROKENSYSTEM\ControlSet001\services\SharedAccess\Parameters\FirewallPolicy\StandardProfile" /v DoNotAllowExceptions
    REG DELETE "HKLM\BROKENSYSTEM\ControlSet002\services\SharedAccess\Parameters\FirewallPolicy\DomainProfile" /v DoNotAllowExceptions
    REG DELETE "HKLM\BROKENSYSTEM\ControlSet002\services\SharedAccess\Parameters\FirewallPolicy\PublicProfile" /v DoNotAllowExceptions
    REG DELETE "HKLM\BROKENSYSTEM\ControlSet002\services\SharedAccess\Parameters\FirewallPolicy\StandardProfile" /v DoNotAllowExceptions
    
    REM Unmount the hive
    reg unload HKLM\BROKENSYSTEM
    
  5. Odłącz dysk systemowy i utwórz ponownie maszynę wirtualną.

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