Поделиться через


Брандмауэр гостевой ОС виртуальной машины Azure блокирует входящий трафик

В этой статье описывается, как устранить проблему на портале удаленного рабочего стола (RDP), которая возникает, если брандмауэр гостевой операционной системы блокирует входящий трафик.

Симптомы

Подключение по протоколу RDP нельзя использовать для подключения к виртуальной машине Azure. В диагностика загрузки—> снимок экрана: операционная система полностью загружена на экране приветствия (CTRL+ALT+DEL).

Причина

Причина 1

Правило RDP не настроено для разрешения трафика RDP.

Причина 2

Профили брандмауэра гостевой системы настроены для блокировки всех входящих подключений, включая трафик RDP.

Снимок экрана: параметр блокировать все входящие подключения на вкладке Профиль домена окна параметров брандмауэра.

Решение

Прежде чем выполнять эти действия, сделайте snapshot системного диска затронутой виртуальной машины в качестве резервной копии. Дополнительные сведения см. в разделе Создание моментального снимка диска.

Чтобы устранить эту проблему, используйте один из методов, описанных в статье Использование удаленных средств для устранения неполадок с виртуальной машиной Azure для удаленного подключения к виртуальной машине, а затем измените правила брандмауэра гостевой операционной системы, чтобы разрешить трафик RDP.

Устранение неполадок по сети

Подключитесь к последовательной консоли и откройте экземпляр PowerShell. Если последовательная консоль не включена на виртуальной машине, перейдите к разделу Восстановление виртуальной машины в автономном режиме.

Устранение рисков 1

  1. Если агент Azure установлен и правильно работает на виртуальной машине, можно использовать параметр "Только сброс конфигурации" в разделе Справка>по сбросу пароля в меню виртуальной машины.

  2. При запуске этого параметра восстановления выполняется следующее:

    • Включает компонент RDP, если он отключен.

    • Включает все профили брандмауэра Windows.

    • Убедитесь, что правило RDP включено в брандмауэре Windows.

    • Если предыдущие шаги не поработали, сбросьте правило брандмауэра вручную. Для этого запросите все правила, содержащие имя "Удаленный рабочий стол", выполнив следующую команду:

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

      Если для порта RDP был задан какой-либо другой порт, отличный от 3389, необходимо найти любое пользовательское правило, которое могло быть создано и задано для этого порта. Чтобы запросить все правила для входящего трафика с пользовательским портом, выполните следующую команду:

      netsh advfirewall firewall show rule dir=in name=all | select-string -pattern "(LocalPort.*<CUSTOM PORT>)" -context 9,4 | more
      
  3. Если вы видите, что правило отключено, включите его. Чтобы открыть всю группу, например встроенную группу удаленных рабочих столов, выполните следующую команду:

    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
    
  4. Для устранения неполадок можно включить для профилей брандмауэра значение OFF:

    netsh advfirewall set allprofiles state off
    

    После завершения устранения неполадок и правильной настройки брандмауэра повторно включите брандмауэр.

    Примечание.

    Для применения этих изменений не нужно перезапускать виртуальную машину.

  5. Попробуйте установить подключение по протоколу RDP для доступа к виртуальной машине.

Устранение рисков 2

  1. Запросите профили брандмауэра, чтобы определить, задано ли для политики брандмауэра для входящего трафика значение BlockInboundAlways:

    netsh advfirewall show allprofiles | more
    

    Снимок экрана: результат запроса для профилей брандмауэра для входящих подключений, содержащих BlockInboundAlways.

    Примечание.

    Следующие рекомендации применяются к политике брандмауэра в зависимости от того, как она настроена:

    • BlockInbound. Весь входящий трафик будет заблокирован, если у вас не действует правило, разрешающее этот трафик.
    • BlockInboundAlways: все правила брандмауэра будут игнорироваться, а весь трафик будет заблокирован.
  2. Задайте для параметра DefaultInboundAction значение не всегда заблокированный трафик. Для этого выполните следующую команду.

    netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
    
  3. Запросите профили еще раз, чтобы убедиться, что изменение было выполнено успешно. Для этого выполните следующую команду.

    netsh advfirewall show allprofiles | more
    

    Примечание.

    Для применения изменений не нужно перезапускать виртуальную машину.

  4. Убедитесь, что вы добавили правило для входящего трафика для подключения по протоколу RDP.

  5. Повторите попытку, чтобы получить доступ к виртуальной машине по протоколу RDP.

Устранение рисков в автономном режиме

  1. Подключите системный диск к виртуальной машине восстановления.

  2. Запустите подключение удаленного рабочего стола к виртуальной машине восстановления.

  3. Убедитесь, что диск помечен как подключенный в консоли управления дисками. Обратите внимание на букву диска, назначенную подключенному системному диску.

Устранение рисков 1

См. статью Как Enable-Disable правило брандмауэра в гостевой ОС.

Устранение рисков 2

  1. Подключите системный диск к виртуальной машине восстановления.

  2. Запустите подключение удаленного рабочего стола к виртуальной машине восстановления.

  3. После подключения системного диска к виртуальной машине восстановления убедитесь, что диск в консоли управления дисками помечен как подключенный . Обратите внимание на букву диска, назначенную подключенному диску ОС.

  4. Откройте экземпляр 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
    
  5. Отключите системный диск и повторно создайте виртуальную машину.

  6. Проверьте, устранена ли проблема.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.