Share via


Azure VM 게스트 OS 방화벽이 인바운드 트래픽을 차단하고 있습니다.

이 문서에서는 게스트 운영 체제 방화벽이 인바운드 트래픽을 차단하는 경우 발생하는 RDP(원격 데스크톱 포털) 문제를 해결하는 방법을 설명합니다.

증상

RDP 연결을 사용하여 Azure VM(가상 머신)에 연결할 수 없습니다. 부팅 진단 -> 스크린샷은 시작 화면(Ctrl+Alt+Del)에 운영 체제가 완전히 로드되었음을 보여 줍니다.

원인

원인 1

RDP 트래픽을 허용하도록 RDP 규칙이 설정되지 않았습니다.

원인 2

게스트 시스템 방화벽 프로필은 RDP 트래픽을 포함한 모든 인바운드 연결을 차단하도록 설정됩니다.

방화벽 설정 창의 도메인 프로필 탭 아래에 있는 모든 인바운드 연결 차단 옵션의 스크린샷

해결 방법

이러한 단계를 따르기 전에 영향을 받는 VM의 시스템 디스크 스냅샷 백업으로 수행합니다. 자세한 내용은 디스크 스냅샷을 참조하세요.

이 문제를 해결하려면 원격 도구를 사용하여 Azure VM 문제를 해결하는 방법 의 방법 중 하나를 사용하여 VM에 원격으로 연결한 다음, 게스트 운영 체제 방화벽 규칙을 편집하여 RDP 트래픽 을 허용 합니다.

온라인 문제 해결

직렬 콘솔에 연결한 다음 PowerShell instance 엽니다. 직렬 콘솔이 VM에서 사용하도록 설정되지 않은 경우 "오프라인으로 VM 복구로 이동합니다.

완화 1

  1. Azure 에이전트가 설치되어 있고 VM에서 올바르게 작동하는 경우 VM 메뉴의 암호 재설정 도움말> 아래에서 "구성만다시 설정" 옵션을 사용할 수 있습니다.

  2. 이 복구 옵션을 실행하면 다음이 수행됩니다.

    • 사용하지 않도록 설정된 경우 RDP 구성 요소를 사용하도록 설정합니다.

    • 모든 Windows 방화벽 프로필을 사용하도록 설정합니다.

    • Windows 방화벽에서 RDP 규칙이 켜져 있는지 확인합니다.

    • 이전 단계가 작동하지 않으면 방화벽 규칙을 수동으로 다시 설정합니다. 이렇게 하려면 다음 명령을 실행하여 "원격 데스크톱"이라는 이름이 포함된 모든 규칙을 쿼리합니다.

      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
    

    방화벽 문제 해결 및 설정을 올바르게 완료한 후 방화벽을 다시 사용하도록 설정합니다.

    참고

    이러한 변경 내용을 적용하기 위해 VM을 다시 시작할 필요가 없습니다.

  5. RDP 연결을 만들어 VM에 액세스합니다.

완화 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
    

    참고

    변경 내용을 적용하기 위해 VM을 다시 시작할 필요가 없습니다.

  4. RDP 연결에 대한 인바운드 규칙을 추가해야 합니다.

  5. RDP를 통해 VM에 액세스하려면 다시 시도하세요.

오프라인 완화

  1. 시스템 디스크를 복구 VM에 연결합니다.

  2. 복구 VM에 대한 원격 데스크톱 연결을 시작합니다.

  3. 디스크 관리 콘솔에서 디스크에 온라인 플래그가 지정되어 있는지 확인합니다. 연결된 시스템 디스크에 할당된 드라이브 문자를 확인합니다.

완화 1

게스트 OS에서 방화벽 규칙을 Enable-Disable 방법을 참조하세요.

완화 2

  1. 시스템 디스크를 복구 VM에 연결합니다.

  2. 복구 VM에 대한 원격 데스크톱 연결을 시작합니다.

  3. 시스템 디스크가 복구 VM에 연결되면 디스크 관리 콘솔에서 디스크에 온라인 플래그가 지정되어 있는지 확인합니다. 연결된 OS 디스크에 할당된 드라이브 문자를 확인합니다.

  4. 관리자 권한 PowerShell instance 열고 다음 스크립트를 실행합니다.

    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. 시스템 디스크를 분리하고 VM을 다시 만듭니다.

  6. 문제가 해결되었는지 확인합니다.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.