원격 제어 유목민의 종착역? 아니면 또 다른 간이역?
일을 하다 보면 원격으로 다른 컴퓨터를 만져야 할 일이 꼭 생긴다. 사무실 내 자리에서 서버실 컴퓨터를 보거나, 집에 있는데 급하게 회사 PC에 있는 파일을 꺼내야 할 때 말이다. 처음엔 누구나 그렇듯 팀뷰어를 썼다. 그런데 어느 날 갑자기 ‘상업적 이용이 의심됩니다’라는 경고와 함께 연결이 5분마다 툭툭 끊기기 시작했다. 나는 그냥 내 일을 하려는 것뿐인데 졸지에 라이선스 위반자가 된 기분이었다. 그래서 대안으로 찾은 게 애니데스크였다. 한동안 잘 썼다. 하지만 이것도 시간이 지나니 비슷한 제약이 생기거나 속도가 예전만 못하다는 느낌을 지울 수 없었다.
결국 ‘내 마음대로 쓸 수 있는 가볍고 확실한 건 없나?’ 하고 뒤지다가 발견한 게 바로 RustDesk였다. 오픈소스라는 말에 일단 신뢰가 갔다. 누군가 내 화면을 훔쳐보지 않을 것 같고, 기업에서 돈 내라고 협박(?)하지도 않을 것 같았다. 그렇게 가벼운 마음으로 시작했는데, 이 프로그램이 나에게 줄 시련은 이때까지만 해도 전혀 예상하지 못했다.
첫 번째 삽질: “설치 안 해도 된다며?”라는 달콤한 유혹과 공용 서버의 한계
RustDesk의 가장 큰 장점은 설치가 필요 없다는 거다. 그냥 실행 파일 하나 받아서 누르면 끝이다. 처음 실행했을 때의 그 깔끔한 인터페이스는 정말 감동적이었다. 왼쪽에는 내 ID와 비밀번호가 보이고, 오른쪽에는 접속할 대상의 ID를 넣는 칸이 있다. ‘오, 이거 진짜 물건인데?’ 싶었다.
첫 시도는 아주 좋았다. 옆자리에 있는 노트북에 접속해 봤는데 반응 속도가 나쁘지 않았다. 문제는 그날 오후, 집에서 회사 컴퓨터로 접속을 시도했을 때 터졌다. 화면이 뚝뚝 끊기다 못해 아예 멈춰버렸다. 마우스 커서 하나 움직이는데 3초 뒤에 반응이 오니 미칠 노릇이었다. 알고 보니 RustDesk에서 기본으로 제공하는 공용 릴레이 서버가 해외에 있거나 사용자가 몰리면 지연 시간이 어마어마해진다는 사실을 간과한 것이다.
이게 첫 번째 기술적 실패였다. ‘가볍다’는 말만 믿고 환경 설정을 무시한 대가였다. 업무용으로 쓰기엔 공용 서버의 불확실성이 너무 컸다. 중요한 회의 중에 화면이 멈췄을 때의 그 식은땀 흐르는 경험은 다시는 겪고 싶지 않았다. 여기서 첫 번째 판단을 내렸다. ‘공용 서버는 못 쓰겠다. 내 서버를 직접 구축해야겠다.’
두 번째 삽질: “내 서버 내가 만든다”는 오만이 불러온 네트워크 지옥
RustDesk는 자체 서버를 구축할 수 있는 기능을 제공한다. 개발사에서 제공하는 가이드를 보니 hbbs, hbbr이라는 파일을 받아서 실행만 하면 된다고 아주 쉽게 설명되어 있었다. 나는 집에 굴러다니는 구형 노트북을 서버로 쓰기로 했다. 이게 두 번째 실패, 즉 ‘선택의 잘못’이었다.
윈도우용 바이너리를 받아서 노트북에 띄우고, 공유기 설정에 들어가 포트 포워딩을 시작했다. 21115부터 21119까지 포트를 하나하나 열어주는데, 이게 생각보다 잘 안 됐다. 공유기 설정 페이지는 왜 이렇게 복잡한지, 분명히 열었는데도 외부 포트 체크 사이트에서는 ‘Closed’라고만 떴다. 몇 시간을 씨름하다가 겨우 연결에 성공했는데, 이번에는 노트북의 전원 관리가 발목을 잡았다. 서버로 쓰려던 노트북이 절전 모드로 들어가면서 원격 접속 통로가 아예 차단된 것이다.
밤늦게 집에서 회사 컴퓨터를 보려고 접속을 눌렀는데 ‘연결할 수 없음’ 메시지를 봤을 때의 그 허탈함이란. 결국 윈도우 노트북으로 서버를 돌리겠다는 생각 자체가 오산이었다는 걸 깨달았다. 불안정한 가정용 회선과 언제 꺼질지 모르는 하드웨어에 내 업무 환경을 맡길 수는 없었다. 여기서 다시 한번 방향을 틀었다. ‘제대로 된 클라우드 VPS(가상 사설 서버)를 빌리자.’
결국 클라우드로 도망치다: 조금은 비싼(?) 평화를 찾아서
한 달에 몇 달러 정도 하는 싼 클라우드 서버를 하나 빌렸다. 리눅스 환경이었지만, 이번에는 도커(Docker)를 써보기로 했다. (문제 상황: 여전히 연결이 불안정하고 관리가 안 됨 → 판단: 안정적인 리눅스 서버와 쉬운 관리 도구가 필요함 → 선택: 클라우드 VPS와 도커 사용 → 실행: 도커 컴포즈로 한 번에 서버 구성 → 결과: 드디어 끊김 없는 연결 성공)
리눅스 명령어를 하나하나 복사해서 붙여넣고, 방화벽 설정까지 마친 뒤 RustDesk 클라이언트 설정에서 ‘ID 서버’ 주소에 내 서버 IP를 넣었다. 그리고 접속을 누르는 순간, 거짓말처럼 화면이 빠릿빠릿하게 움직였다. 마우스의 움직임이 내 손과 동기화되는 그 쾌감! 파일 전송도 공용 서버를 쓸 때보다 훨씬 빨랐다.
비밀번호 설정 부분에서도 약간 헤맸다. 기본 비밀번호가 너무 자주 바뀌어서 고정 비밀번호를 설정하려고 했는데, 옵션 메뉴가 어디 있는지 한참 찾았다. 알고 보니 ID 옆의 연필 모양 아이콘을 눌러야 하더라. 이런 사소한 UI의 불친절함이 곳곳에 있었지만, 그래도 내 서버를 통해 연결된다는 안도감이 모든 걸 상쇄해 주었다.
써보니까 알겠는 것들: 의외의 꿀기능과 여전히 삐걱거리는 구석들
RustDesk를 쓰면서 가장 좋았던 건 ‘화면 품질 조절’ 기능이다. 인터넷이 좀 느린 곳에 가면 품질을 ‘Balance’나 ‘Low’로 낮출 수 있는데, 이게 꽤나 실용적이다. 그리고 채팅 기능도 의외로 쓸모가 많다. 원격지에 있는 사람에게 “지금 제가 이 파일 옮길게요”라고 바로 말할 수 있어서 메신저를 따로 켤 필요가 없다.
하지만 완벽한 건 아니다. 다른 유료 프로그램들과 비교하면 아쉬운 점이 분명히 보인다. 예를 들어, 애니데스크는 모바일 앱에서 손가락 터치 제스처가 굉장히 직관적인데, RustDesk는 모바일로 접속했을 때 마우스 커서를 조작하는 게 조금 뻑뻑하다는 느낌을 준다. 그리고 클립보드 공유 기능이 가끔 먹통이 될 때가 있다. 분명히 복사했는데 원격지 PC에는 붙여넣기가 안 돼서 메모장에 직접 타이핑했던 적이 한두 번이 아니다.
보안 설정도 조금 더 세밀했으면 좋겠다. 특정 IP만 접속 가능하게 하거나, 화이트리스트 관리가 좀 더 쉬우면 좋겠는데 지금은 서버 단에서 일일이 제어해야 하는 느낌이다. 초보자가 쓰기엔 ‘서버 설정’이라는 장벽이 너무 높고, 전문가가 쓰기엔 UI의 마감이 2% 부족한, 그런 묘한 경계에 서 있는 프로그램이다.
그래서 이게 정답일까? (솔직히 아직도 모르겠다)
우여곡절 끝에 지금은 RustDesk를 주력으로 쓰고 있다. 하지만 이게 내 인생의 마지막 원격 도구라고는 말 못 하겠다. 가끔 서버가 이유 없이 멈추거나, 업데이트 이후에 설정이 꼬이면 다시 팀뷰어의 그 편리함이 그리워지기도 한다.
어떤 상황에서는 RustDesk가 압도적으로 편하다. 특히 보안이 중요한 개인 프로젝트나, 라이선스 걱정 없이 가볍게 누군가를 도와줘야 할 때는 이만한 게 없다. 하지만 손이 많이 가는 것도 사실이다. 서버를 직접 관리해야 한다는 건, 그만큼 신경 쓸 거리가 하나 더 늘어난다는 뜻이기도 하니까.
결국 완벽한 도구는 없는 것 같다. 그냥 내 상황에 맞춰서 조금 더 덜 불편한 쪽을 택하는 과정일 뿐이다. 지금의 나는 RustDesk의 가벼움과 자유로움을 선택했지만, 내일 또 어떤 네트워크 에러가 나를 괴롭힐지는 아무도 모르는 일이다. 여전히 연결 기록을 보며 ‘오늘은 잘 되겠지?’ 하고 기도하는 마음으로 접속 버튼을 누른다.