"RDP 를 외부에 직접 열지 않고 브라우저로 들어가게 하자" 는 요구에서 출발한다. 이때 후보는 성격이 셋으로 갈린다. 섞어서 비교하면 판단이 흐려진다.
| 성격 | 동작 | 대표 |
|---|---|---|
| 게이트웨이형 | 서버가 RDP·VNC·SSH 를 받아 HTML5 로 중계한다. 대상 장비에 에이전트를 설치하지 않는다 | Apache Guacamole, Myrtille |
| 에이전트형 | 대상 장비에 에이전트를 깔고 중앙 서버가 관리한다 | MeshCentral, RustDesk |
| 전용 프로토콜형 | 자체 프로토콜로 성능을 올린다. 클라이언트 프로그램이 필요하다 | NoMachine |
에이전트를 못 깔거나 대상이 자주 바뀌는 환경이면 게이트웨이형이 맞다. 장비를 지속적으로 관리하고 원격 지원까지 하려면 에이전트형이 편하다.
Apache Guacamole 가 사실상 표준이다. 아파치 소프트웨어 재단 프로젝트이고 Apache License 2.0 이다. guacd 데몬이 RDP·VNC·SSH·Telnet·Kubernetes 를 말하고, 자바 웹 애플리케이션이 브라우저에 HTML5 로 내보낸다. 인증은 확장으로 붙이며 JDBC(MySQL·PostgreSQL·SQL Server), LDAP, SAML, TOTP 를 지원한다.
"Guacamole" 과 "Apache Guacamole" 은 같은 소프트웨어다. 재단으로 들어오기 전 이름과 이후 이름의 차이일 뿐, 별도의 판이 두 개 있는 것이 아니다.
Myrtille 는 .NET 기반의 HTML5 RDP·SSH 게이트웨이다. Windows 서버 위에 올리는 구성이면 선택지가 된다.
FreeRDP-WebConnect 는 더 이상 유지되지 않는다. GitHub 저장소가 보관 처리된 지 오래이므로 새로 시작하는 구성에 쓰지 않는다.
MeshCentral 은 웹 기반 원격 관리 도구다. 에이전트를 설치한 장비를 한 화면에서 관리하고, 원격 데스크톱·터미널·파일 전송을 제공한다. 방화벽 안쪽 장비가 바깥으로 연결을 맺는 구조라 인바운드 포트를 열지 않아도 되는 것이 장점이다.
RustDesk 는 가벼운 원격 데스크톱 프로그램이고 릴레이 서버를 직접 운영할 수 있다. 다만 브라우저만으로 쓰는 도구가 아니다. 양쪽에 클라이언트를 설치하는 방식이 기본이다. 웹 클라이언트가 있지만 기능이 제한된다. "웹 RDP" 를 찾는 상황에서 Guacamole 의 대체재로 보기는 어렵다.
| 도구 | 브라우저만으로 | 에이전트 | RDP | VNC | SSH | 라이선스 |
|---|---|---|---|---|---|---|
| Apache Guacamole | 가능 | 불필요 | 지원 | 지원 | 지원 | Apache-2.0 |
| Myrtille | 가능 | 불필요 | 지원 | 미지원 | 지원 | Apache-2.0 |
| MeshCentral | 가능 | 필요 | 지원 | 지원 | 지원 | Apache-2.0 |
| RustDesk | 제한적 | 필요 | 자체 프로토콜 | 자체 프로토콜 | 미지원 | AGPL-3.0 |
| NoMachine | 제품 구성에 따라 다름 | 필요 | 자체 프로토콜 | 자체 프로토콜 | 미지원 | 상용 (무료 판 있음) |
라이선스와 지원 프로토콜은 버전에 따라 바뀐다. 도입 전에 각 프로젝트의 현행 문서를 확인한다 (확인 필요 — 위 표는 대조 시점 기준이다).
게이트웨이 자체가 인터넷에 열리므로, 앞단에 리버스 프록시와 TLS 를 두고 다중 인증을 건다.