RustDesk 릴레이 서버 구축 - 도커와 우분투로 나만의 원격 제어 환경 만들기

2025. 2. 24. 06:53· 운영체제 및 서버
목차
  1. RustDesk와 릴레이 서버: 왜 구축해야 할까?
  2. 왜 도커를 사용할까?
  3. RustDesk 릴레이 서버 구축 
  4. RustDesk 클라이언트에서 사용하기 
  5. 마무리 : 우분투, 도커와 함께한 나만의 릴레이 서버

rustdesk

글을 읽기 전 RustDesk에 대해 알고 싶으신 분은 아래 링크를 통해 확인 가능합니다.

https://god-logger.tistory.com/185

 

RustDesk: 강력한 오픈소스 원격 제어 도구의 모든 것

RustDesk란 무엇인가?RustDesk는 오픈소스 원격 데스크톱 소프트웨어로, 사용자가 다른 컴퓨터를 원격으로 제어할 수 있게 해줍니다.2021년에 처음 공개된 이 도구는 Rust 프로그래밍 언어로 작성되어

god-logger.tistory.com


RustDesk와 릴레이 서버: 왜 구축해야 할까?

RustDesk는 강력한 오픈소스 원격 데스크톱 소프트웨어로, 기본적으로 P2P(Point-to-Point) 연결을 통해 두 장치 간 직접 통신을 시도합니다. 하지만 방화벽, NAT(Network Address Translation), 또는 복잡한 네트워크 환경에서는 P2P 연결이 실패할 수 있습니다. 이때 릴레이 서버가 필요합니다.

릴레이 서버는 클라이언트 간 연결을 중계하는 중간 역할을 합니다. RustDesk는 공용 릴레이 서버를 무료로 제공하지만, 자체 릴레이 서버를 구축하면 다음과 같은 이점이 있습니다:

  • 속도 향상: 내부망에 릴레이 서버를 두면 공용 서버 대비 지연 시간 감소.
  • 보안 강화: 데이터가 외부 서버를 거치지 않아 프라이버시 확보.
  • 제어 가능성: 네트워크 환경에 맞게 커스터마이징 가능.

특히, 저처럼 회사 내부망이나 가정 네트워크에서 여러 장치를 관리한다면 자체 릴레이 서버는 필수입니다.

이번 글에서는 이를 도커(Docker)를 활용해 구축하는 방법을 다룹니다.

 

왜 도커를 사용할까?

도커는 컨테이너 기술을 통해 애플리케이션을 가볍고 일관되게 배포할 수 있게 해줍니다.

RustDesk 릴레이 서버를 도커로 설정하는 이유는 다음과 같습니다

  • 쉬운 설치: 복잡한 의존성 설치 없이 이미지로 바로 실행.
  • 이식성: 우분투뿐 아니라 다른 리눅스 배포판에서도 동일하게 동작.
  • 관리 용이: docker-compose로 여러 서비스를 한 번에 관리.

저는 Proxmox라는 가상화 플랫폼을 사용 중인데, 여기서 우분투 22.04 LXC (Proxmox의 경량 리눅스 컨테이너 기반 가상화) 를 띄워 릴레이 서버를 구축했습니다.

Proxmox를 활용하면 물리 서버 하나로 여러 VM을 관리할 수 있어 자원 활용도가 높아지는 장점도 있죠. 

Proxmox는 선택사항이며 일반 PC에 우분투를 설치하셔서 진행하셔도 무방하지만, 윈도우 환경에서 WSL에서는 직접 해보지 않아 확실히 된다고 말씀드리기는 어렵다는 점 참고 부탁드릴게요.

사전 준비

  • 환경: Proxmox VE(우분투 22.04 LXC) 또는 별도의 PC(우분투 22.04)
  • 목표: RustDesk 릴레이 서버(hbbs와 hbbr)를 도커로 실행.
  • 필요 도구: Docker, Docker Compose, 손, 의지 

 

RustDesk 릴레이 서버 구축 

1.Docker와 Docker Compose 설치

이전에 작성한 블로그 글을 참고하시기 바랍니다.

https://god-logger.tistory.com/117

 

Ubuntu 22.04 Docker ( with docker-compose) 설치

설치 환경Quick Install1. 패키지 업데이트 및 저장소 등록# Add Docker's official GPG key:sudo apt-get updatesudo apt-get install ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/u

god-logger.tistory.com

2. 작업 디렉토리 생성

mkdir ~/rustdesk-server
cd ~/rustdesk-server
mkdir data

3. docker-compose.yml 작성

version: '3'
services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:latest
    environment:
      - ALWAYS_USE_RELAY=Y
    command: hbbs
    volumes:
      - ./data:/root
    network_mode: "host"

    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: unless-stopped

chatGpt나 claude grok등이 알려주는건 대부분 잘못되었거나 과거 설정일 가능성이 높습니다.

아래 yml의 경우 공식문서에서 발췌하였으며 정상 작동 확인하였습니다. 

4. 도커를 통한 서버 실행

sudo docker-compose up -d

# 이후 실행 상태 확인 명령어
docker ps

#아래와 같이 나오면 정상입니다.

root@rustdesk-relay:~/rustdesk-server# docker ps
CONTAINER ID   IMAGE                             COMMAND   CREATED       STATUS       PORTS     NAMES
14817f******   rustdesk/rustdesk-server:latest   "hbbs"    2 hours ago   Up 2 hours             hbbs
0e3989******   rustdesk/rustdesk-server:latest   "hbbr"    2 hours ago   Up 2 hours             hbbr

로그를 보고 싶은 경우 아래 명령어를 사용할 수 있습니다.

docker-compose logs -f hbbr

또는

docker-compose logs -f hbbs

5. Key 파일 확인 

cat ~/rustdesk-server/data/id_ed25519.pub

위 사진과 같이 cat으로 보면 쉘에 [계정@호스트]가 사진처럼 붙어나오는 경우가 있는데 vi, vim, nano 등과 같은 에디터로 들어가 확인해도 됩니다.

사진과 같이 cat으로 조회하는 경우 '=' 까지가 키 값입니다. 

위 내용을 어떤 방식으로든 클라이언트 프로그램 ( 원격 받는 PC, 또는 원격 하고자 하는 PC ) 에게 전달하면 됩니다. 

내부 네트워크인 경우 SCP를 이용할 수 있을 것 같습니다. 

6. 방화벽 ( 예 : UFW 등 )이 활성화 된 경우, 특정 포트 허용 

# ubuntu의 ufw 기준으로 작성 

sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21117/tcp
sudo ufw allow 21118/tcp
sudo ufw allow 21119/tcp
sudo ufw status

RustDesk 클라이언트에서 사용하기 

1. 클라이언트 다운로드

클라이언트는 아래 링크를 통해 다운로드 받으실 수 있습니다. 

https://github.com/rustdesk/rustdesk/releases/tag/1.3.8

 

Release 1.3.8 · rustdesk/rustdesk

Architecture Windows Ubuntu Mac Android Flatpak iOS Web x86-64 (64-bit) EXE   MSI Download Download Universal Download Go AArch64 (ARM64) Download Download Download Download TestFlight A...

github.com

Portable 또는 설치형 파일을 받아 실행 후 아래 그림에서 가르키는 곳을 눌러 설정 화면에 들어갑니다.

여기 보이는 점 3개
또는 설정 버튼을 눌러주세요!

2. 클라이언트 설정 

아래 그림과 같이 [설정 - 네트워크]로 이동하여 설정합니다.

ID/릴레이 서버 클릭

이후 ID/릴레이 서버 항목을 클릭하여 접근 후 아래와 같이 설정값을 넣어줍니다.

ID 서버
<YOUR_SERVER_IP>:21116
Relay 서버
<YOUR_SERVER_IP>:21117
API 서버
<YOUR_SERVER_IP>:21118
Key
./data/id_ed25519.pub 내용

확인을 누루면 [성공] 혹은 [Ready] 라는 Toast 메세지가 뜬다면 이제 다른 클라이언트에서 ID를 입력해 접속 테스트를 해보시기 바랍니다.

마무리 : 우분투, 도커와 함께한 나만의 릴레이 서버

우분투 22.04 환경에서 도커로 RustDesk 릴레이 서버를 구축해보았습니다.

이렇게 하면 공용 서버 의존 없이 내부망에서도 빠르고 안전하게 원격 제어를 사용할 수 있습니다. 

릴레이 서버 구축이 처음이라면 약간의 시행착오가 있을 수 있지만, 도커 덕분에 설치 과정은 꽤 간단합니다.

여러분도 이 글을 따라 나만의 RustDesk 환경을 만들어 보세요.

사실 저도 잘 모르지만 질문이 있으신 분들은 언제든 댓글로 남겨 주시면 아는 범위 내에서 최대한 답변 드리겠습니다. 

반응형
저작자표시 비영리 변경금지 (새창열림)

'운영체제 및 서버' 카테고리의 다른 글

RustDesk: 강력한 오픈소스 원격 제어 도구의 모든 것  (0) 2025.02.23
윈도우11 인터넷 연결 없이 설치 (오프라인 설치)  (0) 2023.11.09
  1. RustDesk와 릴레이 서버: 왜 구축해야 할까?
  2. 왜 도커를 사용할까?
  3. RustDesk 릴레이 서버 구축 
  4. RustDesk 클라이언트에서 사용하기 
  5. 마무리 : 우분투, 도커와 함께한 나만의 릴레이 서버
'운영체제 및 서버' 카테고리의 다른 글
  • RustDesk: 강력한 오픈소스 원격 제어 도구의 모든 것
  • 윈도우11 인터넷 연결 없이 설치 (오프라인 설치)
신·기록
신·기록
개발 관련 이슈 해결방안, 활용 방법, 제품 리뷰 등을 기록하는 개인 블로그
신·기록
문제해결집
신·기록
전체
오늘
어제
  • 분류 전체보기 (175)
    • 뉴스 (9)
    • 제품 리뷰 (19)
    • 운영체제 및 서버 (53)
      • Linux (27)
      • Mac OS (8)
      • Proxmox (6)
      • Nginx (2)
      • Raspberry Pi (3)
      • Odroid M2 (4)
    • AI 인공지능 (7)
    • 모바일 (4)
      • Flutter (1)
      • 안드로이드 (1)
    • 데이터베이스 (11)
      • Mysql (9)
    • 자바 (11)
      • Spring Framework (9)
    • 자바스크립트 (19)
      • Node JS (4)
      • Electron Framework (10)
      • React & Next.js (4)
    • 클라우드 플랫폼 (4)
    • 학습 (4)
    • 이슈 (21)
    • 비디오게임 에뮬레이터 (2)
    • CPU 성능 순위 (1)
    • 그래픽카드 성능 순위 (1)
    • 기타 (7)

블로그 메뉴

  • 이용 원칙
  • 태그
  • 방명록

인기 글

최근 글

05-26 05:28
관련 문의는 방명록에 부탁드립니다.
본 블로그의 스킨 출처는 아래와 같습니다.
hELLO · Designed By 정상우.v4.2.2
신·기록
RustDesk 릴레이 서버 구축 - 도커와 우분투로 나만의 원격 제어 환경 만들기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.