Computer >> 컴퓨터 >  >> 문제 해결 >> Windows 오류

원격 데스크톱 연결 '내부 오류가 발생했습니다' 오류 완벽 해결 가이드

원격 데스크톱 사용 시 나타나는 '내부 오류가 발생했습니다(An internal error has occurred)' 오류는 대체로 RDP 설정 또는 로컬 그룹 정책의 보안 설정과 관련이 있습니다. 실제로 상당히 많은 사용자가 원격 데스크톱 연결 클라이언트로 다른 시스템에 접속하지 못하는 문제를 겪었다고 보고했습니다. 특히 이 문제는 별다른 조작 없이도 갑자기 발생하는 경우가 많습니다.

연결 버튼을 클릭하면 원격 데스크톱 연결 클라이언트가 잠시 멈춘 뒤 몇 초 후에 오류 메시지가 표시됩니다. 원격 데스크톱 연결은 업무용이든 개인용이든 많은 사람이 활용하는 기능이기 때문에 이 오류는 꽤 큰 불편을 초래할 수 있습니다. 하지만 걱정하지 마세요. 이 글에서 소개하는 방법들을 차례대로 따라 하면 문제를 해결할 수 있습니다.

Windows 10에서 '내부 오류가 발생했습니다' 오류의 원인

이 오류는 갑자기 나타나는 경우가 많아 정확한 원인을 특정하기 어렵지만, 일반적으로 다음과 같은 요인들이 원인으로 지목되고 있습니다.

  • 원격 데스크톱 연결 설정: 일부 사용자의 경우 원격 데스크톱 연결 클라이언트 자체의 설정이 문제의 원인이었습니다.
  • RDP 보안 설정: 원격 데스크톱 프로토콜(RDP)의 보안 계층 문제로 인해 오류가 발생할 수 있으며, 이 경우 보안 계층을 변경해야 합니다.
  • 컴퓨터의 도메인: 시스템이 가입된 도메인이 원인일 수도 있습니다. 이때는 도메인에서 탈퇴한 후 다시 가입하면 문제가 해결됩니다.

아래의 해결 방법을 적용하기 전에 반드시 관리자 권한 계정으로 로그인했는지 확인하세요. 또한 문제를 빠르게 좁혀 나갈 수 있도록 소개된 순서대로 해결 방법을 하나씩 적용해 보시길 권장합니다.

방법 1: 원격 데스크톱 연결 설정 변경

먼저 RDP 설정을 일부 조정하여 문제를 진단해 보겠습니다. 일부 사용자는 '연결이 끊어진 경우 다시 연결' 옵션에 체크한 후 문제가 해결되었다고 보고했습니다. 다음 단계를 따라 해보세요.

  1. 시작 메뉴를 열고 원격 데스크톱 연결을 검색하여 실행합니다.
  2. 옵션 표시를 클릭하여 모든 설정 항목을 엽니다.
  3. 환경(Experience) 탭으로 이동한 뒤 '연결이 끊어진 경우 다시 연결' 옵션에 체크되어 있는지 확인합니다.
  4. 다시 연결을 시도합니다.

방법 2: 도메인 다시 가입

오류 메시지가 시스템이 가입한 도메인 때문에 발생하는 경우도 있습니다. 이럴 때는 도메인 연결을 해제한 후 다시 가입하면 문제가 해결됩니다. 방법은 다음과 같습니다.

  1. Windows 키 + I를 눌러 설정을 엽니다.
  2. 계정으로 이동한 후 회사 또는 학교 액세스 탭으로 전환합니다.
  3. 시스템이 연결된 도메인을 선택하고 연결 끊기를 클릭합니다.
  4. 확인 메시지가 나타나면 를 클릭합니다.
  5. 시스템 연결을 해제하고 안내에 따라 컴퓨터를 재시작합니다.
  6. 재시작이 완료되면 필요한 경우 도메인에 다시 가입합니다.
  7. RDP를 다시 사용해 봅니다.

방법 3: MTU 값 변경

MTU(최대 전송 단위) 값을 변경하는 것도 문제 해결에 도움이 될 수 있습니다. MTU는 네트워크에서 전송 가능한 패킷의 최대 크기를 의미하며, 이 값을 낮추면 문제가 해결되는 경우가 있습니다. 방법은 다음과 같습니다.

  1. MTU 값을 변경하려면 TCP Optimizer라는 도구를 다운로드해야 합니다. 공식 웹사이트에서 내려받을 수 있습니다.
  2. 다운로드 후 TCP Optimizer를 관리자 권한으로 실행합니다.
  3. 하단의 설정 선택(Choose settings) 항목에서 Custom을 선택합니다.
  4. MTU 값을 1458로 변경합니다.
  5. 변경 사항 적용(Apply Changes)을 클릭한 후 프로그램을 종료합니다.
  6. 문제가 해결되었는지 확인합니다.

방법 4: 그룹 정책 편집기에서 RDP 보안 변경

경우에 따라 Windows 그룹 정책의 RDP 보안 계층 설정 때문에 오류가 발생할 수 있습니다. 이런 경우 RDP 보안 계층을 강제로 사용하도록 설정해야 합니다. 방법은 다음과 같습니다.

  1. 시작 메뉴를 열고 로컬 그룹 정책을 검색한 후 '그룹 정책 편집'을 실행합니다.
  2. 다음 경로로 이동합니다.
    컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > 원격 데스크톱 서비스 > 원격 데스크톱 세션 호스트 > 보안
  3. 오른쪽 창에서 '원격(RDP) 연결에 특정 보안 계층 사용 요구' 정책을 찾아 더블클릭하여 편집합니다.
  4. '구성되지 않음'으로 되어 있다면 사용을 선택하고, 보안 계층(Security Layer) 항목에서 RDP를 선택합니다.
  5. 적용을 클릭한 후 확인을 누릅니다.
  6. 변경 사항이 적용되도록 시스템을 재시작합니다.
  7. 다시 연결을 시도합니다.

방법 5: 네트워크 수준 인증(NLA) 비활성화

네트워크 수준 인증(NLA)을 비활성화하는 것도 시도해 볼 만합니다. 자신 또는 대상 시스템이 NLA가 적용된 원격 데스크톱 연결만 허용하도록 구성되어 있으면 이 문제가 발생할 수 있습니다. NLA를 비활성화하면 문제가 해결되며, 방법은 다음과 같습니다.

  1. 바탕 화면에서 내 PC를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
  2. 원격 설정을 클릭합니다.
  3. 원격 데스크톱 섹션에서 '네트워크 수준 인증이 포함된 원격 데스크톱을 실행하는 컴퓨터에서만 연결 허용' 옵션의 체크를 해제합니다.
  4. 적용을 클릭한 후 확인을 누릅니다.
  5. 문제가 해결되었는지 확인합니다.

방법 6: 원격 데스크톱 서비스 재시작

경우에 따라 원격 데스크톱 서비스를 재시작하는 것만으로도 문제가 해결됩니다. 이 단계에서는 서비스를 수동으로 재시작해 보겠습니다.

  1. Windows 키 + R을 눌러 실행 창을 엽니다.
  2. services.msc를 입력하고 Enter 키를 누릅니다.
  3. Remote Desktop Services(원격 데스크톱 서비스)를 더블클릭한 후 중지를 클릭합니다.
  4. 최소 5초간 기다린 후 시작을 클릭합니다.
  5. 문제가 여전히 발생하는지 확인합니다.

방법 7: VPN 연결 비활성화

컴퓨터가 프록시 또는 VPN 연결을 사용하도록 구성되어 있다면 인터넷 연결이 다른 서버를 통해 라우팅되면서 정상적인 연결 설정을 방해할 수 있습니다. 이 단계에서는 Internet Explorer의 프록시 설정을 비활성화하고, 컴퓨터에서 실행 중인 VPN이 있다면 반드시 함께 비활성화해야 합니다.

  1. 키보드에서 Windows 키 + R을 동시에 누릅니다.
  2. 실행 대화상자가 나타나면 빈 칸에 MSConfig를 입력하고 확인을 누릅니다.
  3. 시스템 구성 창에서 부팅 옵션을 선택한 후 안전 부팅(Safe Boot) 옵션에 체크합니다.
  4. 적용을 클릭하고 확인을 누릅니다.
  5. PC를 재시작하여 안전 모드로 부팅합니다.
  6. 다시 Windows 키 + R을 동시에 누르고 실행 대화상자에 inetcpl.cpl을 입력한 후 Enter 키를 눌러 실행합니다.
  7. 인터넷 속성 대화상자가 나타나면 연결(Connections) 탭을 선택합니다.
  8. 'LAN에 프록시 서버 사용' 옵션의 체크를 해제한 후 확인을 클릭합니다.
  9. MSConfig를 다시 열고 이번에는 안전 부팅 옵션의 체크를 해제한 후 변경 사항을 저장하고 컴퓨터를 재시작합니다.
  10. 오류 메시지가 여전히 나타나는지 확인합니다.

방법 8: 로컬 보안 정책 재구성

로컬 보안 정책 유틸리티를 활용하는 것도 문제 해결 방법 중 하나입니다. 다음 단계에 따라 진행해 보세요.

  1. Windows 키 + R을 눌러 실행 창을 엽니다.
  2. Secpol.msc를 입력하고 Enter 키를 눌러 로컬 보안 정책 유틸리티를 실행합니다.
  3. 로컬 보안 정책 유틸리티에서 로컬 정책(Local Policies)을 클릭한 후 왼쪽 창에서 보안 옵션(Security Option)을 선택합니다.
  4. 오른쪽 창을 스크롤하여 시스템 암호화(System Cryptography) 관련 옵션을 찾습니다.
  5. '시스템 암호화: FIPS 140 호환 암호화 알고리즘 사용(암호화, 해싱, 서명 알고리즘 포함)' 옵션을 찾습니다.
  6. 해당 옵션을 더블클릭한 후 다음 창에서 사용(Enabled)을 선택합니다.
  7. 적용을 클릭해 변경 사항을 저장한 후 확인을 눌러 창을 닫습니다.
  8. 문제가 해결되었는지 확인합니다.

방법 9: 원격 연결 허용 설정

시스템 구성에 따라 원격 연결이 허용되지 않도록 설정되어 있으면 RDP 사용 시 이 오류가 표시될 수 있습니다. 이 단계에서는 제어판에서 해당 설정을 다시 구성한 후 문제가 해결되는지 확인해 보겠습니다.

  1. Windows 키 + R을 눌러 실행 창을 엽니다.
  2. Control Panel(제어판)을 입력하고 Enter 키를 눌러 제어판을 실행합니다.
  3. 제어판에서 시스템 및 보안을 클릭한 후 시스템을 선택합니다.
  4. 시스템 설정에서 왼쪽 창의 고급 시스템 설정을 클릭합니다.
  5. 고급 시스템 설정에서 원격 탭을 클릭하고 '이 컴퓨터에 대한 원격 지원 연결 허용' 옵션에 체크되어 있는지 확인합니다.
  6. 또한 그 아래의 '이 컴퓨터에 대한 원격 연결 허용' 옵션도 체크되어 있는지 확인합니다.
  7. 적용을 클릭해 변경 사항을 저장한 후 확인을 눌러 창을 닫습니다.
  8. 문제가 해결되었는지 확인합니다.

방법 10: 서비스 시작 유형 변경

원격 데스크톱 서비스가 자동으로 시작되지 않도록 구성되어 있을 가능성도 있습니다. 이 단계에서는 해당 구성을 변경하여 서비스가 자동으로 시작되도록 설정해 보겠습니다.

  1. Windows 키 + R을 눌러 실행 창을 엽니다.
  2. Services.msc를 입력하고 Enter 키를 눌러 서비스 관리 창을 실행합니다.
  3. 서비스 관리 창에서 Remote Desktop Services(원격 데스크톱 서비스)를 더블클릭한 후 중지 버튼을 클릭합니다.
  4. 시작 유형(Startup Type) 항목을 클릭하고 자동(Automatic)을 선택합니다.
  5. 창을 닫고 바탕 화면으로 돌아갑니다.
  6. 컴퓨터를 재시작한 후 문제가 여전히 발생하는지 확인합니다.

방법 11: 영구 비트맵 캐싱 활성화

이 문제가 발생하는 또 다른 원인은 RDP 설정에서 '영구 비트맵 캐싱(Persistent Bitmap Caching)' 기능이 비활성화되어 있는 경우입니다. 이 단계에서는 원격 데스크톱 연결 앱을 실행한 후 환경 패널에서 해당 설정을 변경해 보겠습니다.

  1. 키보드에서 Windows 키 + S를 누르고 검색창에 원격 데스크톱 연결을 입력합니다.
  2. 옵션 표시 버튼을 클릭한 후 환경(Experience) 탭으로 이동합니다.
  3. 환경 탭에서 영구 비트맵 캐싱(Persistent Bitmap Caching) 옵션에 체크하고 변경 사항을 저장합니다.
  4. 원격 데스크톱 연결을 시도한 후 문제가 여전히 발생하는지 확인합니다.

방법 12: 고정 IP 비활성화

네트워크 어댑터가 고정 IP를 사용하도록 구성되어 있고, 이 설정이 원격 데스크톱 연결과 제대로 맞지 않으면 문제가 발생할 수 있습니다. 이 단계에서는 네트워크 구성 설정을 통해 고정 IP를 비활성화한 후 문제가 해결되는지 확인해 보겠습니다.

  1. Windows 키 + R을 눌러 실행 창을 엽니다.
  2. ncpa.cpl을 입력하고 Enter 키를 눌러 네트워크 구성 패널을 실행합니다.
  3. 네트워크 구성 패널에서 네트워크 어댑터를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택합니다.
  4. 인터넷 프로토콜 버전 4(TCP/IPv4) 항목을 더블클릭한 후 일반 탭으로 이동합니다.
  5. IP 주소 자동으로 받기 옵션에 체크하고 변경 사항을 저장합니다.
  6. 확인을 클릭해 창을 닫은 후 문제가 여전히 발생하는지 확인합니다.

방법 13: SonicWall VPN 재구성

SonicWall VPN 클라이언트를 기본 설정으로 사용하고 있다면 원격 데스크톱 연결 앱 사용 시 이 오류가 나타날 수 있습니다. 이 단계에서는 VPN 내부의 일부 설정을 변경해 보겠습니다.

  1. 컴퓨터에서 SonicWall을 실행합니다.
  2. VPN을 클릭한 후 설정(Settings) 옵션을 선택합니다.
  3. VPN 정책 목록에서 WAN을 찾습니다.
  4. 오른쪽의 구성(Configure) 옵션을 클릭한 후 클라이언트(Client) 탭을 선택합니다.
  5. 가상 어댑터 설정(Virtual Adapter Settings) 드롭다운을 클릭하고 DHCP Lease 옵션을 선택합니다.
  6. 문제가 해결되었는지 확인합니다.
  7. 문제가 여전히 해결되지 않는다면 VPN에서 현재 DHCP 임대 정보를 삭제해야 합니다.
  8. VPN 옵션으로 이동한 후 DHCP over VPN 버튼을 선택합니다.
  9. 기존에 존재하는 DHCP 임대 정보를 삭제하고 연결을 재시작합니다.
  10. 이후 문제가 여전히 발생하는지 확인합니다.

방법 14: 명령 프롬프트로 연결 진단

원격 데스크톱 연결로 접속하려는 컴퓨터 자체가 연결 불가능한 상태일 수도 있습니다. 따라서 해당 컴퓨터가 연결 가능한 상태인지 먼저 진단해야 합니다.

이를 위해 명령 프롬프트를 사용해 먼저 대상 컴퓨터의 IP 주소를 확인한 후, 내 컴퓨터의 명령 프롬프트에서 ping 테스트를 진행합니다. ping이 성공하면 연결이 가능한 것이고, 실패한다면 설정 문제가 아니라 접속하려는 컴퓨터 쪽에 문제가 있는 것입니다.

  1. 접속하려는 컴퓨터에 직접 접근한 후 키보드에서 Windows 키 + R을 눌러 실행 창을 엽니다.
  2. CMD를 입력하고 Enter 키를 눌러 명령 프롬프트를 실행합니다.
  3. 명령 프롬프트에 다음 명령어를 입력하고 Enter 키를 눌러 컴퓨터의 IP 정보를 확인합니다.
    ipconfig
  4. 기본 게이트웨이(Default Gateway) 항목 아래에 표시된 IP 주소를 기록해 둡니다. 보통 192.xxx.x.xx 형식과 유사합니다.
  5. 접속하려는 컴퓨터의 IP 주소를 확보했다면, 추가 테스트를 위해 자신의 컴퓨터로 돌아옵니다.
  6. 내 컴퓨터에서 Windows 키 + R을 눌러 실행 창을 열고 CMD를 입력해 명령 프롬프트를 엽니다.
  7. 명령 프롬프트에 다음 명령어를 입력하고 Enter 키를 눌러 실행합니다.
    ping (접속하려는 컴퓨터의 IP 주소)
  8. 명령 프롬프트가 ping 테스트를 마칠 때까지 기다린 후 결과를 확인합니다.
  9. ping이 성공했다면 해당 IP 주소에 접근 가능한 것입니다.
  10. 이제 telnet 기능을 테스트하여 해당 IP 주소로 telnet이 가능한지 확인합니다.
  11. Windows 키 + R을 누르고 CMD를 입력해 명령 프롬프트를 엽니다.
  12. RDP 클라이언트에 필요한 포트가 열려 있는지 확인하기 위해 다음 명령어를 입력합니다.
    telnet <IP 주소> 3389
  13. telnet이 성공하면 검은 화면이 나타나야 합니다. 나타나지 않는다면 해당 포트가 차단되어 있는 것입니다.

검은 화면이 나타나지 않는다면 컴퓨터에서 해당 포트가 열려 있지 않아 telnet 시도 시 이 문제가 발생하는 것일 수 있습니다. 이 단계에서는 Windows 방화벽을 재구성하여 특정 포트를 열어 보겠습니다.

  1. Windows 키 + I를 눌러 설정을 열고 업데이트 및 보안을 클릭합니다.
  2. 왼쪽 창에서 Windows 보안 탭을 선택한 후 방화벽 및 네트워크 보호 옵션을 클릭합니다.
  3. 목록에서 고급 설정 버튼을 선택합니다.
  4. 새 창이 열리면 인바운드 규칙(Inbound Rules)을 클릭하고 새 규칙(New Rule)을 선택합니다.
  5. 포트(Port)를 선택하고 다음을 클릭합니다.
  6. TCP를 선택한 후 특정 로컬 포트(Specified Local Ports) 옵션을 선택합니다.
  7. 포트 번호에 3389를 입력합니다.
  8. 다음을 클릭하고 연결 허용(Allow the Connection)을 선택합니다.
  9. 다음을 클릭하고 세 가지 옵션이 모두 체크되어 있는지 확인합니다.
  10. 다시 다음을 클릭하고 새 규칙의 이름(Name)을 입력합니다.
  11. 이름을 입력한 후 다음을 클릭하고 마침(Finish)을 누릅니다.
  12. 같은 방법으로 앞서 나열한 4번째 단계로 돌아가 이번에는 아웃바운드 규칙(Outbound Rules)을 선택하고 동일한 과정을 반복하여 아웃바운드 규칙도 생성합니다.
  13. 인바운드 규칙과 아웃바운드 규칙을 모두 생성한 후 문제가 여전히 발생하는지 확인합니다.

방법 15: 클라이언트에서 UDP 비활성화

레지스트리 또는 그룹 정책에서 설정 하나만 변경하여 이 문제를 해결할 수 있습니다. Windows Home 버전을 사용 중이라면 레지스트리 방법을, 그 외의 경우에는 아래 가이드의 그룹 정책 방법을 적용해 보세요.

레지스트리 방법:

  1. Windows 키 + R을 눌러 실행 창을 엽니다.
  2. regedit를 입력하고 Enter 키를 눌러 레지스트리 편집기를 실행합니다.
  3. 레지스트리 편집기에서 다음 경로로 이동합니다.
    HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services\Client
  4. 해당 폴더 안에서 fClientDisableUDP 값을 1로 설정합니다.
  5. 변경 사항을 저장하고 레지스트리 편집기를 종료합니다.
  6. 레지스트리 값 추가 후 문제가 해결되었는지 확인합니다.

그룹 정책 방법:

  1. 키보드에서 Windows 키 + R을 눌러 실행 창을 엽니다.
  2. Gpedit.msc를 입력하고 Enter 키를 눌러 그룹 정책 관리자를 실행합니다.
  3. 그룹 정책 관리자에서 컴퓨터 구성(Computer Configuration)을 더블클릭한 후 관리 템플릿(Administrative Templates)을 엽니다.
  4. Windows 구성 요소(Windows Components)를 더블클릭한 후 원격 데스크톱 서비스(Remote Desktop Services)를 더블클릭합니다.
  5. 원격 데스크톱 연결 클라이언트(Remote Desktop Connection Client)를 더블클릭한 후 클라이언트에서 UDP 끄기(Turn off UDP on Client) 옵션을 더블클릭합니다.
  6. 사용(Enabled)을 선택하고 변경 사항을 저장합니다.
  7. 그룹 정책 관리자를 종료한 후 문제가 여전히 발생하는지 확인합니다.

PowerShell 명령 사용:

어떤 이유로 위와 같이 레지스트리 값을 추가할 수 없다면 Windows PowerShell 유틸리티를 사용하여 동일한 변경을 적용할 수 있습니다.

  1. 키보드에서 Windows 키 + X를 누르고 PowerShell(관리자) 옵션을 선택합니다.
  2. PowerShell 창에 다음 명령어를 입력하고 Enter 키를 눌러 실행합니다.
    New-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Terminal Server Client' -Name UseURCP -PropertyType DWord -Value 0
  3. 명령이 실행된 후 문제가 여전히 발생하는지 확인합니다.

최종 해결 방법

이 문제를 겪은 대부분의 사용자는 최근 Windows 업데이트 이후에 문제가 발생했다고 밝혔습니다. 관련 정보에 따르면 원격 데스크톱 클라이언트 또는 Windows 자체가 1809 버전으로 업데이트된 경우 이 문제가 발생합니다. 따라서 최종 해결 방법으로는 이전 버전의 Windows로 롤백하거나, 운영체제의 더 안정적인 버전이 출시될 때까지 기다리는 것이 좋습니다.