فهرست محتوا
مقدمه:
RustDesk یک نرمافزار متنباز و رایگان برای دسترسی ریموت به دسکتاپ است که بهعنوان جایگزینی قدرتمند برای ابزارهایی مانند AnyDesk و TeamViewer شناخته میشود. برخلاف این ابزارهای تجاری که در ایران با مشکلات فیلترینگ و قطعی مواجه هستند، 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 بهصورت پیشفرض نصب است):
-
ابتدا بررسی کنید که فایروال فعال است یا خیر:
sudo ufw status
اگر فایروال فعال نیست، برای فعالسازی آن دستور زیر را اجرا کنید:
sudo ufw enable
- سپس برای بازکردن پورتهای موردنیاز، این دستورات را اجرا نمائید:
sudo ufw allow 21112/tcp sudo ufw allow 21113/tcp sudo ufw allow 21117/tcp
- برای اعمال تغییرات و اطمینان از اجرای آنها، دستور زیر را بزنید:
sudo ufw reload
- درنهایت برای مشاهده لیست قوانین فعالشده، این دستور را وارد کنید:
sudo ufw status numbered
اگر از iptables استفاده میکنید (بیشتر در Debian یا سیستمهای سفارشی):
-
برای باز کردن پورتها:
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
- برای ذخیرهسازی قوانین و اطمینان از باقیماندن آنها بعد از ریبوت، ابتدا بسته iptables-persistent را نصب کنید:
sudo apt install iptables-persistent -y
- سپس با اجرای دستور زیر، تنظیمات را ذخیره نمایید:
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)
پس از اجرای برنامه:
-
روی آیکون سهنقطه (بالای نرمافزار) یا گزینه “Settings” کلیک کنید.
-
در پنجره تنظیمات، به بخش 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 برای دامنه واقعی
-
نصب ابزار Certbot:
sudo apt update sudo apt install certbot -y
- دریافت گواهی SSL برای دامنه:
اگر دامنه شما روی Nginx یا Apache تنظیم نیست، میتوانید از حالت standalone استفاده کنید: