Giải pháp Remote Desktop Mã nguồn Mở, Tự Chủ và Bảo mật

Nội dung

    Bạn đang tìm kiếm một giải pháp điều khiển máy tính từ xa thay thế cho TeamViewer hay AnyDesk, nhưng vẫn muốn giữ toàn quyền kiểm soát dữ liệu của mình? RustDesk chính là câu trả lời.

    RustDesk là phần mềm remote desktop mã nguồn mở, miễn phí, viết bằng ngôn ngữ Rust, hỗ trợ đa nền tảng: Windows, macOS, Linux, Android, iOS và cả Web. Điểm đặc biệt là bạn có thể tự host máy chủ riêng (self-hosted), không phụ thuộc vào máy chủ công cộng của bên thứ ba, đảm bảo dữ liệu và quyền riêng tư tuyệt đối.

    Bài viết này sẽ hướng dẫn bạn từ A đến Z: từ cách thiết lập máy chủ RustDesk riêng, đến cấu hình client trên cả máy tính để bàn và thiết bị di động.

    PHẦN MỘT: THIẾT LẬP MÁY CHỦ RUSTDESK RIÊNG

    Để tự host máy chủ, bạn cần nắm rõ cấu trúc của nó bao gồm hai thành phần chính. Thành phần thứ nhất là hbbs, đóng vai trò là ID Server, chịu trách nhiệm xử lý đăng ký thiết bị, điểm danh và tín hiệu báo hiệu để thiết lập kết nối. Thành phần thứ hai là hbbr, hoạt động như Relay Server, có nhiệm vụ chuyển tiếp dữ liệu khi hai máy tính không thể kết nối trực tiếp với nhau qua kỹ thuật đi xuyên qua tường lửa. Nguyên lý hoạt động khá đơn giản: khi RustDesk chạy trên một thiết bị, thiết bị đó liên tục gửi tín hiệu đến ID Server để báo cáo địa chỉ IP và cổng của mình. Khi một thiết bị khác muốn kết nối, nó sẽ hỏi ID Server để tìm thiết bị đích, và nếu kết nối trực tiếp không thể thực hiện được, dữ liệu sẽ được định tuyến qua Relay Server.

    Thành phần Chức năng Cổng mặc định
    hbbs ID Server – xử lý đăng ký, điểm danh và báo hiệu (rendezvous/signaling) TCP 21115, 21116; UDP 21116
    hbbr Relay Server – chuyển tiếp dữ liệu khi hai máy không thể kết nối trực tiếp (hole punching thất bại) TCP 21117
    Nguyên lý hoạt động: Khi RustDesk chạy, máy tính liên tục “ping” đến ID Server (hbbs) để báo cáo địa chỉ IP và cổng của mình. Khi bạn muốn kết nối từ máy A đến máy B, máy A hỏi ID Server để tìm máy B. ID Server cố gắng kết nối trực tiếp A và B (hole punching). Nếu không được, dữ liệu sẽ đi qua Relay Server (hbbr).

    Yêu cầu về phần cứng cho máy chủ này rất khiêm tốn, chỉ cần một máy chủ ảo cơ bản hoặc thậm chí một chiếc Raspberry Pi là đủ. Về băng thông, kết nối chuyển tiếp tiêu tốn trung bình khoảng 100 kilobyte mỗi giây cho nhu cầu văn phòng thông thường, nhưng có thể dao động từ 30 kilobyte đến 3 megabyte mỗi giây tùy thuộc vào độ phân giải màn hình và chất lượng hình ảnh được thiết lập. Để máy chủ hoạt động, bạn cần mở các cổng sau trên tường lửa: cổng TCP 21115 dùng để kiểm tra NAT, cổng TCP và UDP 21116 phục vụ việc đăng ký ID và duy trì kết nối, cổng TCP 21117 cho dịch vụ Relay, ngoài ra còn có các cổng TCP 21118 và 21119 nếu bạn muốn hỗ trợ Web Client. Tóm lại, các cổng tối thiểu cần mở là TCP 21115, 21116, 21117 và UDP 21116.

    Yêu cầu hệ thống
    Phần cứng rất khiêm tốn: một máy chủ ảo (VPS) cấu hình cơ bản là đủ, thậm chí có thể chạy trên Raspberry Pi. Về băng thông, kết nối relay tiêu tốn khoảng 30 K/s – 3 M/s tùy độ phân giải, trung bình khoảng 100 K/s cho nhu cầu văn phòng.

    Cổng cần mở trên tường lửa:

    Cổng Giao thức Mục đích
    21115 TCP Kiểm tra NAT
    21116 TCP + UDP Đăng ký ID, heartbeat, hole punching TCP
    21117 TCP Dịch vụ Relay
    21118 TCP Hỗ trợ Web Client (tùy chọn)
    21119 TCP Hỗ trợ Web Client (tùy chọn)
    Tóm lại: Cổng tối thiểu cần mở là TCP 21115-21117 và UDP 21116.

    Các phương pháp cài đặt

    Phương pháp 1:Docker là cách được khuyến nghị nhất vì dễ nâng cấp, dễ sao chép và quản lý.

    Bước 1: Cài Docker (nếu chưa có)

    wget -qO- //get.docker.com

    Bước 2: Tải file cấu hình Compose và chạy

    wget //rustdesk.com/oss.yml -O compose.yml
    sudo docker compose up -d

    Bước 3: Lấy Public Key để cấu hình client

    sudo docker logs hbbs | grep “Key:”

    Phương pháp 2: Script cài đặt tự động (Linux/systemd)

    Dành cho ai muốn cài native service trên Linux: wget //raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh

    chmod +x install.sh
    ./install.sh

    Sau khi chạy, script sẽ hiển thịIP/DNSKey– hãy ghi lại để dùng cho client.

    Phương pháp 3: Cài trên Windows

    Có thể dùngPM2(đơn giản hơn) hoặcNSSMđể chạy RustDesk Server như một Windows Service.

    Phương pháp 4: Synology NAS

    Nếu bạn dùng NAS Synology, có thể cài RustDesk Server qua Docker trên DSM

    Có nhiều phương pháp để cài đặt RustDesk Server, trong đó sử dụng Docker là cách được khuyến nghị nhất vì tính đơn giản và dễ dàng nâng cấp. Nếu chọn Docker, bạn chỉ cần cài Docker trên hệ thống, tải file cấu hình compose bằng lệnh wget, sau đó chạy lệnh docker compose up -d để khởi động các container. Sau khi chạy thành công, bạn phải lấy Public Key bằng cách xem log của container hbbs để sử dụng cho bước cấu hình client sau này. Nếu bạn sử dụng Linux và muốn cài đặt như một service native, bạn có thể sử dụng script cài đặt tự động có sẵn để thiết lập và script này sẽ hiển thị địa chỉ IP và Key để bạn ghi lại. Đối với người dùng Windows, bạn có thể sử dụng PM2 hoặc NSSM để chạy RustDesk Server như một dịch vụ nền. Ngoài ra, nếu bạn sở hữu một chiếc Synology NAS, bạn hoàn toàn có thể cài đặt RustDesk Server thông qua Docker trên hệ điều hành DSM của thiết bị đó.

    PHẦN HAI: CẤU HÌNH CLIENT TRÊN MÁY TÍNH ĐỂ BÀN

    Đầu tiên, bạn cần truy cập trang chủ hoặc kho lưu trữ GitHub của RustDesk để tải xuống phiên bản phù hợp với hệ điều hành của mình. Đối với Windows, bạn tải file exe; đối với macOS, bạn tải file dmg và kéo vào thư mục Applications; đối với Linux, bạn tải file deb, rpm hoặc pkg.tar.zst tương ứng với bản phân phối của mình. Sau khi cài đặt, mặc định ứng dụng sẽ kết nối đến máy chủ công cộng, vì vậy bạn cần chuyển sang máy chủ riêng bằng cách mở phần Settings, chọn tab Network và nhấn Unlock Network Settings để mở khóa cài đặt. Tại đây, bạn nhập địa chỉ ID Server theo định dạng ip_của_bạn:21115, Relay Server theo định dạng ip_của_bạn:21117 và dán Public Key đã lấy từ máy chủ vào trường Key. Sau đó nhấn Apply để lưu lại. Để kết nối đến một máy tính khác, bạn chỉ cần chia sẻ ID và mật khẩu một lần hiển thị trên màn hình chính hoặc nhập ID của máy đích vào ô bên phải và nhấn Connect để bắt đầu phiên điều khiển.

    Kết nối đến máy chủ riêng
    Sau khi cài đặt, mở RustDesk. Mặc định ứng dụng sẽ kết nối đến máy chủ công cộng. Để chuyển sang dùng server riêng:

    Mở Settings: Nhấn vào nút menu [ ⋮ ] bên cạnh ID của bạn.

    Vào Network: Chọn tab Network.

    Mở khóa cài đặt: Nhấn Unlock Network Settings (cần quyền admin).

    Nhập thông tin server:

    ID Server: địa_chỉ_ip_hoặc_domain_của_bạn:21115

    Relay Server: địa_chỉ_ip_hoặc_domain_của_bạn:21117

    Key: Dán Public Key đã lấy từ server

    (Các trường API để trống nếu dùng OSS)

    Nhấn Apply để lưu.

    Mẹo: Nếu dùng RustDesk Server Pro, bạn có thể nhận được một chuỗi cấu hình mã hóa và import trực tiếp qua Settings → Network → Import Server Config.

    Kết nối đến máy tính khác
    Để được điều khiển: Chia sẻ ID và One‑Time Password (hiển thị trên màn hình chính) với người cần kết nối.

    Để điều khiển máy khác: Nhập ID của máy đích vào ô bên phải và nhấn Connect.

     

    PHẦN BA: CẤU HÌNH CLIENT TRÊN THIẾT BỊ DI ĐỘNG

    Đối với hệ điều hành Android, bạn có thể tải file APK từ kho lưu trữ GitHub hoặc từ các cửa hàng ứng dụng thay thế, sau đó cài đặt và mở ứng dụng. Cũng giống như trên máy tính để bàn, bạn vào Settings, chọn Network và nhập các thông tin ID Server, Relay Server cùng với Key để chuyển sang dùng máy chủ riêng. Đối với người dùng iOS và iPadOS, bạn tải ứng dụng từ App Store và cũng thực hiện cấu hình Network tương tự. Tuy nhiên, cần lưu ý một điểm rất quan trọng trên nền tảng của Apple: thiết bị chạy iOS chỉ có thể được sử dụng để điều khiển các máy tính khác từ xa, mà không thể bị điều khiển ngược lại do giới hạn của hệ điều hành. Sau khi cấu hình xong, bạn chỉ cần nhập ID của máy tính đích và mật khẩu để bắt đầu điều khiển từ xa ngay trên màn hình điện thoại hoặc máy tính bảng của mình.

     

    NHỮNG LƯU Ý QUAN TRỌNG VỀ BẢO MẬT VÀ VẬN HÀNH

    Mọi kết nối trong RustDesk đều được mã hóa đầu cuối, đảm bảo an toàn tuyệt đối cho dữ liệu truyền tải. Khi bạn tự host máy chủ, toàn bộ luồng dữ liệu kết nối nằm hoàn toàn trong hệ thống của bạn và không phải đi qua bất kỳ máy chủ trung gian nào của bên thứ ba, đây chính là lợi thế lớn nhất về mặt bảo mật. Một lưu ý quan trọng dành cho những ai đặt máy chủ tại nhà trong mạng nội bộ mà không có địa chỉ IP công cộng hoặc tên miền tĩnh, bạn sẽ cần cấu hình NAT loopback hoặc sử dụng VPN để các thiết bị từ bên ngoài có thể truy cập được vào server. Việc cập nhật cho máy chủ cũng rất đơn giản, đặc biệt với phương pháp Docker, bạn chỉ cần pull image mới và chạy lại lệnh docker compose up -d để áp dụng phiên bản mới nhất.

     

    RustDesk thực sự là một giải pháp mạnh mẽ và đáng tin cậy giúp bạn thoát khỏi sự phụ thuộc vào các dịch vụ thương mại đắt đỏ, đồng thời trao cho bạn toàn quyền kiểm soát dữ liệu và chi phí vận hành. Chỉ với vài thao tác thiết lập máy chủ và cấu hình client trên cả máy tính lẫn điện thoại, bạn đã có ngay một hệ thống điều khiển từ xa an toàn, nhanh chóng và hoàn toàn miễn phí. Hy vọng hướng dẫn này sẽ giúp bạn tự tin xây dựng hạ tầng remote desktop riêng cho công việc và cuộc sống.

    Để lại một bình luận

    Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

    Chat with us
    Hello! How can I help you today?