참고용

RustDesk 중계 서버 구축하기

tierr 2025. 7. 12. 18:28

📄 RustDesk 중계 서버 구축 및 systemd 서비스 등록 가이드 (Ubuntu)

🧩 구성 목표

  • RustDesk 자체 서버 구성 (브로커 + 릴레이)
  • hbbs (ID/브로커 서버)와 hbbr (Relay 서버) systemd 서비스 등록
  • 클라우드 환경에서 항상 실행되고, 재부팅 후 자동 시작

✅ 1. 서버 요구사항

  • Ubuntu 20.04+ VM
  • 공인 IP 또는 도메인
  • 포트 개방 (클라우드 방화벽 + UFW)
    • TCP: 21115, 21116, 21117
    • UDP: 21116
sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21117/tcp

✅ 2. RustDesk 서버 바이너리 설치

# 예시 위치: ~/amd64
cd ~
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.9/rustdesk-server-linux-amd64.zip
unzip rustdesk-server-linux-amd64.zip
cd amd64
chmod +x hbbs hbbr

✅ 3. 수동 테스트 실행

my-public-ip 에 자신의 public ip 등록

./hbbs -r {my-public-ip}:21117
./hbbr

이 상태에서 접속이 잘 되면 systemd 등록 준비 완료.


✅ 4. systemd 서비스 등록

🔧 /etc/systemd/system/hbbs.service

my-public-ip 에 자신의 public ip 등록

[Unit]
Description=RustDesk Broker Service
After=network.target

[Service]
ExecStart=/home/ubuntu/amd64/hbbs -r {my-public-ip}:21117
WorkingDirectory=/home/ubuntu/amd64
Restart=always
User=ubuntu

[Install]
WantedBy=multi-user.target

🔧 /etc/systemd/system/hbbr.service

[Unit]
Description=RustDesk Relay Service
After=network.target

[Service]
ExecStart=/home/ubuntu/amd64/hbbr
WorkingDirectory=/home/ubuntu/amd64
Restart=always
User=ubuntu

[Install]
WantedBy=multi-user.target

✅ 5. 서비스 적용 및 실행

sudo systemctl daemon-reload
sudo systemctl enable hbbs hbbr
sudo systemctl start hbbs hbbr

 

정상 실행 확인 : 

sudo systemctl status hbbs
sudo systemctl status hbbr

✅ 6. RustDesk 클라이언트 설정

클라이언트 앱의 Settings > Network 항목에 다음 입력:

  • ID Server: 61.109.236.157
  • Relay Server: 61.109.236.157

✅ 7. 운영/모니터링 명령

  • 실시간 로그 보기:
journalctl -u hbbs -f
journalctl -u hbbr -f
  • 서비스 수동 제어:
sudo systemctl restart hbbs
sudo systemctl restart hbbr
  • 네트워크 모니터링:
sudo apt install iftop
sudo iftop -i eth0

✅ 부록: 포트 요약

포트 프로토콜 설명
21115 TCP hbbs – ID 등록/조회
21116 TCP/UDP hbbr – 데이터 중계
21117 TCP hbbs ↔ hbbr 내부 통신

📌 추가 고려사항

  • 서버에 TLS 인증서 적용 가능 (Let's Encrypt)
  • 고정 도메인 연결 시 DDNS 또는 도메인 등록 필요
  • 클라이언트에 기본 서버 주소가 포함된 RustDesk 빌드 가능