1. مقدمه
RustDesk یک نرمافزار متنباز و مدرن برای دسترسی از راه دور است که بهعنوان جایگزینی جدی برای ابزارهایی مثل TeamViewer و AnyDesk شناخته میشود. مزیت اصلی RustDesk در این است که شما میتوانید سرور اختصاصی خودتان را راهاندازی کنید؛ یعنی تمام ترافیک، احراز هویت و دادهها از زیرساخت خودتان عبور میکند، نه سرورهای شخص ثالث.
برای تیمهای فنی، شرکتها و حتی کاربران حرفهای، این موضوع یعنی کنترل بیشتر، امنیت بالاتر و استقلال واقعی.
2. پیشنیازها
قبل از شروع، مطمئن شوید موارد زیر را در اختیار دارید:
-
سیستمعامل: Ubuntu 24.04 LTS (نصب تمیز و بهروز)
-
دسترسی مدیریتی: کاربر دارای sudo و دسترسی SSH پایدار
-
دامنه یا زیردامنه: مثلاً rustdesk.example.com که به IP سرور اشاره کند
-
Docker و Docker Compose v2
-
پورتهای مورد نیاز RustDesk:
21115، 21116 (TCP و UDP)، 21117، 21118، 21119
(در صورت استفاده از HTTPS، پورتهای 80 و 443 هم لازم هستند) -
فضای ذخیرهسازی: حداقل 5 گیگابایت برای دادهها و لاگها
-
برنامه بکاپ: ترجیحاً بکاپ دورهای از پوشه تنظیمات و کلیدها
3. نصب Docker و Docker Compose
ابتدا سیستم را بهروزرسانی و Docker را نصب میکنیم:
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt install -y docker.io docker-compose && sudo systemctl enable --now docker
sudo apt updateبرای اطمینان از نصب صحیح:
docker --version
docker-compose --version4. آمادهسازی دایرکتوریها و متغیرهای محیطی
برای نظم بیشتر، تمام فایلهای RustDesk را در مسیر /opt/rustdesk نگه میداریم:
sudo mkdir -p /opt/rustdesk/data
cd /opt/rustdeskسپس فایل env را میسازیم:
sudo tee .env >/dev/null <<'EOF'
RUSTDESK_DOMAIN=rustdesk.example.com
RUSTDESK_RELAY=rustdesk.example.com
RUSTDESK_KEY_SECRET=change_me_to_strong_key
EOFمقدار RUSTDESK_KEY_SECRET را حتماً به یک کلید قوی و یکتا تغییر دهید؛ این کلید نقش مهمی در امنیت ارتباطات دارد.
5. فایل Docker Compose
در این مرحله، سرویسهای اصلی RustDesk یعنی hbbs (ID Server) و hbbr (Relay Server) را تعریف میکنیم.
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: hbbs
restart: always
env_file: .env
command: hbbs -r ${RUSTDESK_RELAY}:21117
ports:
- "21115:21115"
- "21116:21116/tcp"
- "21116:21116/udp"
- "21118:21118"
volumes:
- ./data:/root/.config/rustdesk
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: hbbr
restart: always
env_file: .env
command: hbbr
ports:
- "21117:21117"
- "21119:21119"
volumes:
- ./data:/root/.config/rustdeskدر صورت نیاز، میتوانید بعداً Nginx را برای TLS و ریورسپراکسی به این فایل اضافه کنید.
6. اجرای سرویسها
برای بالا آوردن کانتینرها:
sudo docker-compose up -d
sudo docker psاگر هر دو کانتینر در وضعیت Up باشند، هسته اصلی RustDesk آماده است.
7. تنظیم فایروال (UFW)
برای محدود کردن دسترسیها، فقط پورتهای لازم را باز میکنیم:
sudo ufw allow ssh
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 enable
sudo ufw status8. HTTPS و Nginx (اختیاری ولی توصیهشده)
اگر قصد دارید ارتباطات مدیریتی را امنتر کنید، استفاده از HTTPS پیشنهاد میشود. در این حالت، Nginx بهعنوان ریورسپراکسی عمل میکند و گواهی Let’s Encrypt روی آن قرار میگیرد.
در صورت نداشتن دامنه، میتوانید این بخش را فعلاً رد کنید و مستقیماً از IP استفاده کنید.
(تنظیمات Nginx و Certbot مشابه متن اولیه شما باقی میماند و از نظر فنی صحیح است.)
9. اتصال کلاینتها
در نرمافزار RustDesk کلاینت:
-
مقدار ID Server را برابر دامنه یا IP سرور بگذارید
-
مقدار Relay Server را نیز مطابق تنظیمات سرور وارد کنید
از این لحظه به بعد، تمام اتصالها از طریق سرور اختصاصی شما انجام میشود.
10. نگهداشت و نکات امنیتی
-
کانتینرها را بهصورت دورهای بهروز نگه دارید:
sudo docker-compose pull
sudo docker-compose up -dلاگها را بررسی کنید:
sudo docker logs -f hbbs
sudo docker logs -f hbbrاز پوشه /opt/rustdesk/data بهصورت منظم بکاپ بگیرید.
در صورت نیاز به امنیت بیشتر، اجرای کانتینرها با user غیر-root را در Compose فعال کنید.
11. جمعبندی
با اجرای این مراحل، یک سرور RustDesk پایدار، امن و قابل اتکا روی Ubuntu 24 خواهید داشت؛ مناسب برای استفاده سازمانی، تیمهای پشتیبانی یا حتی ارائه سرویس به مشتریان. این ساختار بهراحتی مقیاسپذیر است و میتواند با زیرساخت شما رشد کند.
اگر بهدنبال راهاندازی سریع هستید، میتوانید از ماشین های ابری کرگدن استفاده کنید.