Zapora systemu operacyjnego gościa maszyny wirtualnej platformy Azure blokuje ruch przychodzący
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 w celu nawiązania połączenia z maszyną wirtualną platformy Azure. Z poziomu 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 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.
Rozwiązanie
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.
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 w celu zezwalania na ruch RDP.
Rozwiązywanie problemów 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
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 resetowania pomocy> w menu maszyny wirtualnej.
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 RDP jest włączona w zaporze systemu Windows.
Jeśli poprzednie kroki nie działają, ręcznie zresetuj regułę zapory. W tym celu wykonaj zapytanie dotyczące wszystkich reguł, które zawierają 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 inny port 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
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ć określoną regułę pulpitu zdalnego (TCP-In), uruchom następujące polecenie:
netsh advfirewall firewall set rule name="<CUSTOM RULE NAME>" new enable=yes
Aby rozwiązać ten problem, możesz wyłączyć profile zapory:
netsh advfirewall set allprofiles state off
Po zakończeniu rozwiązywania problemów i prawidłowym ustawieniu zapory ponownie włącz zaporę.
Uwaga
Aby zastosować te zmiany, nie trzeba ponownie uruchamiać maszyny wirtualnej.
Spróbuj nawiązać połączenie RDP, aby uzyskać dostęp do maszyny wirtualnej.
Środki zaradcze 2
Wykonaj zapytanie dotyczące profilów zapory, aby określić, czy dla zasad zapory ruchu przychodzącego ustawiono wartość BlockInboundAlways:
netsh advfirewall show allprofiles | more
Uwaga
Poniższe wytyczne dotyczą zasad zapory, w zależności od sposobu ich konfigurowania:
- BlockInbound: cały ruch przychodzący zostanie zablokowany, chyba że obowiązuje reguła zezwalania na ten ruch.
- BlockInboundAlways: wszystkie reguły zapory zostaną zignorowane i cały ruch zostanie zablokowany.
Ustaw wartość DefaultInboundAction na nie zawsze zablokowany ruch. Aby to zrobić, uruchom następujące polecenie:
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
Wykonaj ponownie zapytanie dotyczące profilów, aby upewnić się, że zmiana została pomyślnie wprowadzona. Aby to zrobić, uruchom następujące polecenie:
netsh advfirewall show allprofiles | more
Uwaga
Nie musisz ponownie uruchamiać maszyny wirtualnej, aby zastosować zmiany.
Upewnij się, że dodano regułę ruchu przychodzącego dla połączenia RDP.
Spróbuj ponownie uzyskać dostęp do maszyny wirtualnej za pośrednictwem protokołu RDP.
Środki zaradcze w trybie offline
Uruchom połączenie pulpitu zdalnego z maszyną wirtualną odzyskiwania.
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 Enable-Disable regułę zapory w systemie operacyjnym gościa.
Środki zaradcze 2
Uruchom połączenie pulpitu zdalnego z maszyną wirtualną odzyskiwania.
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.
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
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