Входящий трафик блокируется брандмауэром гостевой ОС виртуальной машины Azure
Область применения: ✔️ Виртуальные машины Windows
В этой статье объясняется, как устранить проблему на портале удаленного рабочего стола (RDP), которая возникает при блокировании входящего трафика брандмауэром гостевой операционной системы.
Симптомы
Невозможно использовать протокол удаленного рабочего стола для подключения к виртуальной машине Azure. В диагностика загрузки —> снимок экрана: операционная система полностью загружена на экране приветствия (CTRL+ALT+Del).
Причина
Причина 1
Не настроено правило RDP, которое разрешает трафик RDP.
Причина 2
Настроенные профили брандмауэра гостевой ОС блокируют все входящие подключения, в том числе трафик RDP.
Решение
Прежде чем выполнять какие-либо действия, сделайте моментальный снимок диска системы затронутой виртуальной машины в качестве резервной копии. Дополнительные сведения см. в статье Создание моментального снимка.
Чтобы устранить такую проблему, используйте один из методов, описанных в статье Use remote tools to troubleshoot Azure VM issues (Применение инструментов удаленной отладки для устранения неполадок виртуальной машины Azure), чтобы создать удаленное подключение к виртуальной машине, а затем измените правила брандмауэра гостевой операционной системы, чтобы разрешить трафик RDP.
Сетевое устранение неполадок
Подключитесь к последовательной консоли и откройте экземпляр PowerShell. Если на виртуальной машине последовательная консоль не включена, перейдите к разделу Автономное восстановление виртуальной машины.
Решение 1
Если агент Azure установлен и работает правильно на виртуальной машине, можно использовать параметр "Сброс конфигурации только" в разделе "Сброс пароля справки>" в меню виртуальной машины.
Эта функция восстановления выполняет следующие действия.
Включает компонент RDP, если он отключен.
Включает профили брандмауэра Windows.
Проверьте, что в брандмауэре Windows включено правило RDP.
Если предыдущие шаги не работают, вручную сбросить правило брандмауэра. Для этого выполните запрос ко всем правилам, содержащим имя "Удаленный рабочий стол", выполнив следующую команду:
netsh advfirewall firewall show rule dir=in name=all | select-string -pattern "(Name.*Remote Desktop)" -context 9,4 | more
Если для протокола удаленного рабочего стола был задан любой порт, отличный от 3389, проверьте наличие настроенных пользовательских правил для этого порта. Чтобы получить все правила входящего трафика для определенного номера порта, выполните следующую команду:
netsh advfirewall firewall show rule dir=in name=all | select-string -pattern "(LocalPort.*<CUSTOM PORT>)" -context 9,4 | more
Если вы увидите здесь отключенное правило, включите его. Чтобы открыть группу целиком, например встроенную группу удаленного рабочего стола, выполните следующую команду:
netsh advfirewall firewall set rule group="Remote Desktop" new enable=yes
В противном случае, чтобы открыть определенное правило удаленного рабочего стола (TCP-In), выполните следующую команду:
netsh advfirewall firewall set rule name="<CUSTOM RULE NAME>" new enable=yes
Для устранения неполадок можно временно отключить профили брандмауэра:
netsh advfirewall set allprofiles state off
Завершив устранение неполадок и правильно настроив брандмауэр, обязательно включите его снова.
Примечание.
Чтобы применить такие изменения, не нужно перезапускать виртуальную машину.
Попробуйте создать RDP-подключение к виртуальной машине.
Решение 2
Запросите профили брандмауэра, чтобы определить, задана ли политика входящего брандмауэра значение BlockInboundAlways:
netsh advfirewall show allprofiles | more
Примечание.
Следующие рекомендации применяются к политике брандмауэра в зависимости от того, как она настроена:
- BlockInbound: блокируется весь входящий трафик, если нет правил для разрешения этого трафика.
- BlockInboundAlways: блокируется весь входящий трафик, а все правила брандмауэра игнорируются.
Задайте значение DefaultInboundAction не всегда заблокированным трафиком. Для этого выполните следующую команду:
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
Снова запросите данные о профилях и убедитесь, что изменения успешно применены. Для этого выполните следующую команду:
netsh advfirewall show allprofiles | more
Примечание.
Чтобы применить такие изменения, не нужно перезапускать виртуальную машину.
Убедитесь, что вы добавите правило входящего трафика для подключения RDP.
Снова попробуйте создать подключение к виртуальной машине по протоколу удаленного рабочего стола.
Автономные способы решения
Подключите системный диск к виртуальной машине восстановления.
Установите подключение с помощью удаленного рабочего стола к виртуальной машине, используемой для восстановления.
Убедитесь, что в консоли "Управление дисками" подключенный диск имеет состояние Подключен. Запишите или запомните букву диска, которая назначена подключенному системному диску.
Решение 1
Узнайте , как включить правило брандмауэра в гостевой ОС.
Решение 2
Подключите системный диск к виртуальной машине восстановления.
Установите подключение с помощью удаленного рабочего стола к виртуальной машине, используемой для восстановления.
После подключения системного диска к виртуальной машине восстановления убедитесь, что диск помечен как "Online " в консоли управления дисками. Запишите или запомните букву диска, которая присвоена подключенному диску ОС.
Откройте экземпляр PowerShell с повышенными привилегиями и выполните следующий скрипт:
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
Отсоедините системный диск и повторно создайте виртуальную машину.
Убедитесь, что проблема устранена.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.