RustDesk

مقدمه:

RustDesk یک نرم‌افزار متن‌باز و رایگان برای دسترسی ریموت به دسکتاپ است که به‌عنوان جایگزینی قدرتمند برای ابزارهایی مانند AnyDesk و TeamViewer شناخته می‌شود. برخلاف این ابزارهای تجاری که در ایران با مشکلات فیلترینگ و قطعی مواجه هستند، RustDesk این امکان را فراهم می‌کند که بدون وابستگی به سرورهای خارجی و با راه‌اندازی یک سرور خصوصی، دسترسی ریموت پایدار و امنی به سیستم‌های خود داشته باشید.

RustDesk

با پشتیبانی از رمزنگاری سرتاسری (End-to-End Encryption)، پلتفرم‌های مختلف (ویندوز، لینوکس، macOS، اندروید) و قابلیت self-hosting، RustDesk انتخابی مناسب برای سازمان‌ها، تیم‌های فنی، یا کاربران حرفه‌ای است که به دنبال کنترل کامل بر ارتباط ریموت خود هستند.

مزایای استفاده از سرور خصوصی RustDesk

راه‌اندازی سرور خصوصی RustDesk روی سرور مجازی، مزایای قابل‌توجهی را برای کاربران حرفه‌ای، سازمان‌ها و تیم‌های فنی به همراه دارد. برخلاف سرویس‌های ابری عمومی که وابسته به زیرساخت شرکت‌های ثالث هستند، نسخه self-hosted این ابزار امکان کنترل کامل بر ارتباطات و داده‌ها را فراهم می‌کند.

برخی از مهم‌ترین مزایای استفاده از سرور خصوصی RustDesk عبارت‌اند از:

 ۱. کنترل کامل بر زیرساخت ارتباطی

با داشتن سرور اختصاصی، تمام ارتباطات از طریق زیرساخت خودتان هدایت می‌شود. این موضوع به شما اجازه می‌دهد تنظیمات امنیتی، محدودیت‌های دسترسی، و عملکرد سرور را مطابق با نیاز خود مدیریت کنید.

 ۲. حفظ حریم خصوصی و امنیت اطلاعات

RustDesk از رمزنگاری سرتاسری پشتیبانی می‌کند، اما زمانی که سرور را خودتان میزبانی کنید، دیگر نیازی به اعتماد به سرویس‌های ثالث برای انتقال داده‌های حساس نخواهید داشت.

 ۳. پایداری اتصال و کاهش قطعی‌ها

در ایران، سرویس‌هایی مانند AnyDesk و TeamViewer با اختلالات فزاینده‌ای روبه‌رو هستند. راه‌اندازی RustDesk روی VPS خارج از کشور باعث می‌شود اتصال ریموت شما بدون وقفه و با کیفیت پایدارتری برقرار شود.

 ۴. حذف وابستگی به سرویس‌های خارجی

با میزبانی سرور RustDesk، دیگر نیازی به تکیه بر سرورهای مرکزی شرکت‌های خارجی نیست. این موضوع به‌ویژه در مواقع بحران‌های اینترنتی یا محدودیت‌های حکومتی اهمیت ویژه‌ای دارد.

 ۵. مقیاس‌پذیری و انعطاف‌پذیری

شما می‌توانید تعداد کلاینت‌ها، قدرت سرور، و حتی سیاست‌های امنیتی را متناسب با رشد تیم یا سازمان خود توسعه دهید؛ چیزی که در نسخه‌های تجاری ابزارهای مشابه، محدود و هزینه‌بر است.

پیش‌نیازهای راه‌اندازی RustDesk سرور

برای راه‌اندازی یک سرور اختصاصی RustDesk که بتواند به‌صورت پایدار و امن پاسخ‌گوی نیاز شما در دسترسی ریموت باشد، لازم است برخی پیش‌نیازهای فنی را رعایت کنید. در این بخش، به‌صورت گام‌به‌گام بررسی می‌کنیم که برای شروع به چه زیرساختی نیاز دارید.

۱. خرید سرور مجازی (VPS)

نخستین قدم برای راه‌اندازی RustDesk، خرید سرور مجازی مناسب است. این سرور باید همیشه روشن باشد و اتصال دائمی به اینترنت داشته باشد تا کلاینت‌ها بتوانند در هر زمان به آن متصل شوند.

اگر از قبل سرور ندارید، پیشنهاد می‌شود یک VPS با منابع پایه تهیه کنید. برای شروع، این مشخصات کافی است:

  • پردازنده: حداقل 1 هسته مجازی (vCPU)

  • رم: 1 تا 2 گیگابایت

  • فضای ذخیره‌سازی: حداقل 5 گیگابایت

  • سیستم‌عامل پیشنهادی: Ubuntu 20.04 یا 22.04

  • آی‌پی اختصاصی: برای دسترسی کلاینت‌ها ضروری است

 ۲. باز بودن پورت‌های لازم

برای عملکرد صحیح RustDesk، سرور باید به اینترنت متصل بوده و پورت‌های زیر در آن باز باشند:

  • پورت 21112 برای سرویس hbbs (signaling server)

  • پورت 21113 برای سرویس hbbr (relay server)

  • در صورت نیاز، پورت‌های دیگری برای مدیریت فایل یا دسترسی‌های خاص نیز باید باز شوند.

تنظیم این پورت‌ها در فایروال سرور (UFW یا iptables) و همچنین اطمینان از باز بودن آن‌ها در سمت ارائه‌دهنده VPS بسیار مهم است.

 ۳. دامنه یا آی‌پی عمومی ثابت

اگرچه استفاده از آی‌پی کافی است، اما در صورت تمایل می‌توانید از یک دامنه اختصاصی نیز استفاده کنید تا کلاینت‌ها راحت‌تر متصل شوند و بتوانید از SSL برای امنیت بیشتر بهره ببرید. این مورد به‌ویژه برای استفاده سازمانی یا اتصال از موقعیت‌های متغیر مفید خواهد بود.

نصب RustDesk سرور (hbbs و hbbr) روی VPS لینوکس

در معماری self-hosted RustDesk، دو مؤلفه اصلی باید نصب و اجرا شوند:

  • hbbs: سرور signaling (ارتباط اولیه بین کلاینت‌ها)

  • hbbr: سرور relay (انتقال ترافیک ریموت بین کلاینت‌ها)

در این آموزش، نحوه دانلود، اجرای اولیه و مدیریت این دو سرویس روی سرور لینوکسی (Ubuntu 20.04 یا 22.04) را به‌صورت کامل شرح می‌دهیم.

گام ۱: آماده‌سازی سرور

ابتدا با SSH وارد سرور مجازی خود شوید و سیستم را به‌روز کنید:

sudo apt update && sudo apt upgrade -y

نصب ابزارهای پایه:

sudo apt install wget unzip ufw -y

گام ۲: دانلود فایل‌های RustDesk Server

وارد ریپو رسمی RustDesk در GitHub شوید یا از دستورات زیر برای دانلود مستقیم نسخه باینری استفاده کنید (مثلاً نسخه v1.1.9):

wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.9/rustdesk-server-linux-x64.zip
unzip rustdesk-server-linux-x64.zip
cd rustdesk-server-linux-x64

گام ۳: اجرای hbbs و hbbr

برای اجرای سرورها، از IP یا دامنه سرور خود استفاده کنید. فرض کنیم آی‌پی سرور شما 1.2.3.4 باشد:

./hbbs -r 1.2.3.4:21117
./hbbr

اگر از دامنه استفاده می‌کنید:

./hbbs -r yourdomain.com:21117
./hbbr

hbbs نیاز دارد تا به hbbr اشاره کند. پورت 21117 برای ارتباط داخلی بین آن‌هاست.

گام ۴: باز کردن پورت‌های لازم در فایروال

اگر فایروال UFW فعال است، پورت‌های موردنیاز را باز کنید:

sudo ufw allow 21112/tcp
sudo ufw allow 21113/tcp
sudo ufw allow 21117/tcp
sudo ufw reload

گام ۵: اجرای دائم با systemd (اختیاری ولی توصیه‌شده)

برای اجرای دائمی hbbs و hbbr به‌عنوان سرویس سیستم، می‌توانید فایل‌های systemd بسازید. مثال:

ساخت سرویس برای hbbs:

sudo nano /etc/systemd/system/hbbs.service

محتوای فایل:

[Unit]
Description=RustDesk Signal Server (hbbs)
After=network.target

[Service]
ExecStart=/root/rustdesk-server-linux-x64/hbbs -r 1.2.3.4:21117
Restart=always

[Install]
WantedBy=multi-user.target

و برای hbbr:

sudo nano /etc/systemd/system/hbbr.service
[Unit]
Description=RustDesk Relay Server (hbbr)
After=network.target

[Service]
ExecStart=/root/rustdesk-server-linux-x64/hbbr
Restart=always

[Install]
WantedBy=multi-user.target

سپس فعال‌سازی:

sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable --now hbbs hbbr

تست اجرا

برای اطمینان از اجرا شدن سرویس‌ها:

sudo systemctl status hbbs
sudo systemctl status hbbr

یا بررسی پورت‌های باز

sudo lsof -i -P -n | grep LISTEN

تنظیم فایروال و پورت‌های شبکه برای RustDesk

پس از نصب و اجرای سرورهای RustDesk یعنی hbbs (signaling server) و hbbr (relay server)، لازم است پورت‌های مربوط به این سرویس‌ها روی فایروال سرور باز باشند. اگر پورت‌ها به‌درستی باز نشوند، کلاینت‌ها قادر به اتصال به سرور نخواهند بود، حتی اگر سرویس‌ها به‌صورت کامل و بدون خطا اجرا شده باشند.

RustDesk برای عملکرد صحیح به سه پورت TCP نیاز دارد:

  • پورت 21112 برای اتصال کلاینت‌ها به سرویس signaling (hbbs)

  • پورت 21113 برای انتقال ترافیک ریموت از طریق relay (hbbr)

  • پورت 21117 برای ارتباط داخلی بین hbbs و hbbr (اجباری نیست ولی در اغلب موارد لازم است)

در این بخش، نحوه باز کردن این پورت‌ها در دو سیستم فایروال رایج یعنی UFW و iptables شرح داده می‌شود.

اگر از UFW استفاده می‌کنید (در Ubuntu به‌صورت پیش‌فرض نصب است):

  1. ابتدا بررسی کنید که فایروال فعال است یا خیر:

    sudo ufw status
    

    اگر فایروال فعال نیست، برای فعال‌سازی آن دستور زیر را اجرا کنید:

    sudo ufw enable
    

     

  2. سپس برای بازکردن پورت‌های موردنیاز، این دستورات را اجرا نمائید:
    sudo ufw allow 21112/tcp
    sudo ufw allow 21113/tcp
    sudo ufw allow 21117/tcp
    

     

  3. برای اعمال تغییرات و اطمینان از اجرای آن‌ها، دستور زیر را بزنید:
    sudo ufw reload
    

     

  4. درنهایت برای مشاهده لیست قوانین فعال‌شده، این دستور را وارد کنید:
    sudo ufw status numbered
    

     

اگر از iptables استفاده می‌کنید (بیشتر در Debian یا سیستم‌های سفارشی):

  1. برای باز کردن پورت‌ها:

    sudo iptables -A INPUT -p tcp --dport 21112 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 21113 -j ACCEPT
    sudo iptables -A INPUT -p tcp --dport 21117 -j ACCEPT
    

     

  2. برای ذخیره‌سازی قوانین و اطمینان از باقی‌ماندن آن‌ها بعد از ریبوت، ابتدا بسته iptables-persistent را نصب کنید:
    sudo apt install iptables-persistent -y
    

     

  3. سپس با اجرای دستور زیر، تنظیمات را ذخیره نمایید:
    sudo netfilter-persistent save
    

    نکته امنیتی مهم

    اگر سرور شما به‌صورت عمومی در اینترنت قرار دارد، و تنها کاربر شما یا تیم‌تان قرار است از آن استفاده کنند، توصیه می‌شود دسترسی به این پورت‌ها را به IPهای خاص محدود کنید. برای مثال می‌توانید فقط به IP شرکت یا کاربران ثابت اجازه اتصال بدهید تا از حملات احتمالی جلوگیری شود.

    همچنین می‌توانید در مراحل بعد از SSL یا روش‌هایی مانند SSH Tunnel برای رمزنگاری و محدودسازی بیشتر استفاده کنید.

اتصال کلاینت‌ها به سرور RustDesk شخصی

پس از راه‌اندازی کامل سرور RustDesk، برای استفاده از آن باید کلاینت‌ها را به‌گونه‌ای پیکربندی کنید که از سرور شما برای ارتباط استفاده کنند، نه سرورهای پیش‌فرض RustDesk. این کار به‌ویژه زمانی اهمیت دارد که می‌خواهید ارتباط‌ها رمزنگاری‌شده، امن، بدون وابستگی خارجی و مقاوم در برابر فیلترینگ باشند.

گام ۱: دانلود و نصب RustDesk روی دستگاه کلاینت

ابتدا به سایت رسمی RustDesk به نشانی https://rustdesk.com مراجعه کرده و نسخه متناسب با سیستم‌عامل مورد نظر خود را دانلود و نصب کنید:

  • Windows: نسخه نصبی (Installer) یا پرتابل (Portable) در دسترس است

  • Linux: فایل‌های AppImage یا DEB/Flatpak در دسترس هستند

  • macOS و Android نیز پشتیبانی می‌شوند

گام ۲: باز کردن نرم‌افزار و ورود به بخش تنظیمات (Settings)

پس از اجرای برنامه:

  1. روی آیکون سه‌نقطه (بالای نرم‌افزار) یا گزینه “Settings” کلیک کنید.

  2. در پنجره تنظیمات، به بخش ID/Relay Server یا Network Settings بروید (ممکن است بسته به نسخه نرم‌افزار کمی متفاوت باشد).

گام ۳: وارد کردن آدرس سرور شخصی

در این بخش باید آدرس IP یا دامنه سرور RustDesk خود را وارد کنید:

  • Relay Server (hbbr): آدرس IP یا دامنه‌ای که hbbr روی آن اجرا می‌شود (مثلاً yourdomain.com یا 1.2.3.4)

  • ID Server (hbbs): همان آدرس، چون هر دو سرویس روی یک VPS اجرا شده‌اند

  • در صورت استفاده از پورت غیراستاندارد، می‌توانید به‌صورت yourdomain.com:21112 وارد کنید

مثال:

ID Server: 1.2.3.4
Relay Server: 1.2.3.4

یا اگر دامنه دارید:

ID Server: remote.example.com
Relay Server: remote.example.com

پس از وارد کردن این مقادیر، تنظیمات را ذخیره کنید یا از نرم‌افزار خارج و مجدداً وارد شوید تا تغییرات اعمال شوند.

گام ۴: تست اتصال

اکنون باید در صفحه اصلی RustDesk یک شناسه (ID) و رمز (Password) ظاهر شود. این نشان‌دهنده موفقیت اتصال به سرور شماست. حالا می‌توانید:

  • از روی دستگاهی دیگر، با وارد کردن این ID به دستگاه متصل شوید

  • یا از طریق کادر پایین، به دستگاهی دیگر متصل شوید (با وارد کردن ID مقصد)

در صورت بروز خطا (مانند عدم نمایش ID یا پیام “Disconnected”)، اتصال به سرور را بررسی کرده و اطمینان حاصل کنید که پورت‌ها باز و سرویس‌ها فعال هستند.

فعال‌سازی گواهینامه SSL (اختیاری ولی پیشنهادی)

سرور RustDesk به‌صورت پیش‌فرض از ارتباط رمزنگاری‌نشده TCP استفاده می‌کند، اما شما می‌توانید با راه‌اندازی یک گواهینامه SSL (چه رایگان با Let’s Encrypt یا self-signed)، ارتباط بین کلاینت‌ها و سرور را رمزنگاری کنید. این کار به‌ویژه در زمانی که سرور به‌صورت عمومی در دسترس است یا در معرض شنود قرار دارد، بسیار مهم خواهد بود.

داشتن دامنه معتبر

برای استفاده از گواهینامه Let’s Encrypt، شما باید یک دامنه اختصاصی داشته باشید که به IP سرور مجازی (VPS) شما اشاره کند. در صورتی که فقط از IP استفاده می‌کنید، باید از گواهی self-signed استفاده نمایید.

روش اول: استفاده از Let’s Encrypt برای دامنه واقعی

  1. نصب ابزار Certbot:

    sudo apt update
    sudo apt install certbot -y
    

     

  2. دریافت گواهی SSL برای دامنه:

اگر دامنه شما روی Nginx یا Apache تنظیم نیست، می‌توانید از حالت standalone استفاده کنید:

sudo certbot certonly --standalone -d remote.example.com

در صورت موفقیت، فایل‌های زیر ایجاد خواهند شد:

  • /etc/letsencrypt/live/remote.example.com/fullchain.pem

  • /etc/letsencrypt/live/remote.example.com/privkey.pem

  1. اجرایRustDesk با SSL:

هنگام اجرای hbbs، از گزینه‌های زیر برای فراخوانی گواهی‌ها استفاده کنید:

./hbbs -r remote.example.com:21117 --key /etc/letsencrypt/live/remote.example.com/privkey.pem --cert /etc/letsencrypt/live/remote.example.com/fullchain.pem

روش دوم: استفاده از گواهی Self-Signed

اگر دامنه ندارید و فقط از IP استفاده می‌کنید، می‌توانید یک گواهینامه محلی ایجاد کنید:

  1. تولید کلید و گواهی:

    openssl req -x509 -newkey rsa:2048 -nodes -keyout rustdesk.key -out rustdesk.crt -days 365
    

     

  2. اجرای سرور hbbs با فایل‌های تولیدشده:
    ./hbbs -r 1.2.3.4:21117 --key rustdesk.key --cert rustdesk.crt
    

    در این حالت، هنگام اتصال کلاینت، ممکن است هشدار «certificate not trusted» نمایش داده شود که طبیعی است.

نکته امنیتی مهم

اگر از Let’s Encrypt استفاده می‌کنید، گواهی‌ها به‌صورت پیش‌فرض هر ۹۰ روز منقضی می‌شوند. توصیه می‌شود یک کرون‌جاب برای تمدید خودکار گواهی‌ها تنظیم کنید.با فعال‌سازی SSL، نه‌تنها ارتباط کلاینت‌ها با سرور شما رمزنگاری می‌شود، بلکه احتمال شنود، جعل سرور (MITM)، یا حملات مبتنی بر شبکه نیز به شکل قابل توجهی کاهش می‌یابد.

نکات امنیتی در استفاده از RustDesk سرور خصوصی

✅ ۱. جلوگیری از دسترسی غیرمجاز

به‌صورت پیش‌فرض، کلاینت‌ها پس از اتصال به سرور شما شناسه (ID) دریافت می‌کنند و می‌توانند به دستگاه‌های دیگر متصل شوند. برای جلوگیری از سوء‌استفاده:

  • همیشه برای دستگاه‌ها رمز عبور تنظیم کنید.

  • در کلاینت‌ها قابلیت تأیید دستی اتصال (Accept manually) را فعال نگه دارید.

  • از نسخه‌هایی از RustDesk استفاده کنید که امکان احراز هویت سطح سرور را ارائه می‌دهند (ویژگی‌های Enterprise یا سفارشی).

✅ ۲. محدودسازی IPهای مجاز

در صورتی که تنها چند کاربر مشخص باید به سرور دسترسی داشته باشند، می‌توانید دسترسی به پورت‌های RustDesk را فقط به IPهای خاص محدود کنید.

برای مثال در UFW:

sudo ufw allow from 203.0.113.10 to any port 21112 proto tcp
sudo ufw allow from 203.0.113.10 to any port 21113 proto tcp
sudo ufw allow from 203.0.113.10 to any port 21117 proto tcp

و در iptables:

sudo iptables -A INPUT -p tcp -s 203.0.113.10 --dport 21112 -j ACCEPT

سایر درخواست‌ها را می‌توانید رد یا بلاک کنید. این روش در جلوگیری از اسکن پورت و حملات خودکار بسیار مؤثر است.

 ۳. فعال‌سازی گواهی SSL

همان‌طور که در بخش قبل توضیح داده شد، توصیه می‌شود برای رمزنگاری ارتباطات، از گواهینامه SSL معتبر یا self-signed استفاده کنید. این کار از حملات MITM (مرد میانی) جلوگیری می‌کند.

۴. بررسی لاگ‌ها و پایش فعالیت سرور

RustDesk به‌صورت مستقیم لاگ مفصلی ایجاد نمی‌کند، اما شما می‌توانید:

  • خروجی سرورها (hbbs و hbbr) را به فایل لاگ هدایت کنید:

    ./hbbs >> /var/log/hbbs.log 2>&1 &
    

     

  • از ابزارهای پایش سیستم مانند fail2ban, logwatch, یا rsyslog برای نظارت کلی استفاده کنید.

  • به‌صورت منظم پورت‌های باز، تعداد اتصالات، و مصرف منابع را پایش کنید.

✅ ۵. تعریف سرویس systemd با دسترسی محدود

برای افزایش امنیت در سطح سیستم‌عامل، اجرای سرویس‌های hbbs و hbbr را با کاربری غیر از root انجام دهید. همچنین می‌توانید در فایل سرویس systemd از گزینه‌هایی مانند ProtectSystem=true و NoNewPrivileges=true استفاده کنید.

✅ ۶. پشتیبان‌گیری منظم از فایل‌ها و تنظیمات

هرچند RustDesk سرور اطلاعات زیادی ذخیره نمی‌کند، اما در صورتی که از نسخه‌های پیشرفته یا سفارشی با دیتابیس کاربری استفاده می‌کنید، تهیه پشتیبان منظم از:

  • تنظیمات سرویس‌ها

  • گواهی‌های SSL

  • لاگ‌ها

  • اسکریپت‌های startup

بسیار ضروری است تا در صورت اختلال یا مهاجرت، امکان بازیابی سریع فراهم باشد.

جمع‌بندی و توصیه‌های نهایی

در دنیای امروز که دسترسی ریموت به سیستم‌ها بخش جدایی‌ناپذیری از فعالیت‌های سازمانی، فنی و پشتیبانی شده، داشتن یک راه‌کار امن، پایدار و مستقل اهمیت زیادی پیدا کرده است. ابزارهای مشهوری مانند AnyDesk و TeamViewer اگرچه رایج و کاربرپسند هستند، اما در شرایط خاص مانند اختلالات اینترنتی در ایران، فیلترینگ سراسری، یا محدودیت‌های امنیتی سازمانی، دیگر گزینه‌ای قابل اتکا محسوب نمی‌شوند.

در چنین شرایطی، RustDesk به‌عنوان یک جایگزین متن‌باز و قدرتمند، این امکان را فراهم می‌کند که یک سرور ریموت دسکتاپ کاملاً مستقل راه‌اندازی کرده و بدون وابستگی به شرکت‌های ثالث، به دستگاه‌های خود یا دیگر کاربران متصل شوید.

با راه‌اندازی سرور خصوصی RustDesk بر بستر سرور مجازی (VPS) و انجام تنظیمات امنیتی لازم، می‌توانید از مزایای زیر بهره‌مند شوید:

  • دسترسی پایدار حتی در زمان اختلال اینترنت بین‌الملل

  • کنترل کامل بر ارتباطات، داده‌ها و لاگ‌ها

  • رمزنگاری سرتاسری و امکان استفاده از SSL

  • حذف محدودیت‌های تجاری و امنیتی ابزارهای دیگر

  • مقیاس‌پذیری برای تیم‌های پشتیبانی یا دفاتر راه‌دور

اگر به دنبال یک راه‌حل حرفه‌ای، امن و قابل‌اعتماد برای ارتباط از راه دور هستید، نصب و راه‌اندازی RustDesk سرور اختصاصی یکی از بهترین گزینه‌ها در شرایط فعلی ایران و جهان محسوب می‌شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

خرید سرور مجازی

🔥 پربازدیدترین مطالب

دسته‌بندی

جدید‌ترین‌ها