Guacamole là gì ? Tìm hiểu dịch vụ Remote Desktop Gateway – Apache Guacamole

Guacamole là gì ? Tìm hiểu dịch vụ Remote Desktop Gateway – Apache Guacamole | Nếu bạn là một quản trị viên và làm việc trên một môi trường hệ thống mạng bao gồm rất nhiều server WindowsLinux. Một mình bạn và vài người quản trị thì không sao, nhưng giờ bạn muốn chỉ một nguồn server Gateway làm máy chủ Remote Desktop, tất cả các người khác đều phải chứng thực kết nối qua Gateway và Gateway sẽ kết nối VNC/RDP, Terminal SSH đến các server bên trong nhằm hiển thị lên web trực tiếp cho bạn thao tác… thì liệu có giải pháp nào tích hợp không ?

Vâng Guacamole Apache được sinh ra để hỗ trợ bạn như một Remote Desktop Gateway Server và rất tiện lợi. Bài viết này sẽ giúp bạn hiểu cơ bản Guacamole là gì ?

guacamole la gi

1. Guacamole là gì ?

guacamole la gi

Trang chủ: http://guacamole.apache.org/
Video giới thiệu : https://vimeo.com/116207678

Guacamole là một chương trình remote desktop gateway được viết bằng ngôn ngữ Java và hỗ trợ bởi Tomcat. Guacamole hỗ trợ ứng dụng Web HTML5 mà từ ứng dụng web sẽ tạo môi trường desktop hiển thị kết nối đến các máy chủ remote sử dụng giao diện (VNC,RDP) hoặc terminal (SSH Shell) ngay trên Web cho phép bạn thao tác như các trình remote desktop client.

Điểm hay của Guacamole là người dùng/quản trị viên tương tác chỉ thông qua ứng dụng trình duyệt web Guacamole, không cần cài đặt plugin, chương trình hỗ trợ,… Bạn chỉ cần vào web, chứng thực và sử dụng thao tác. Quá tuyệt phải không nào.

Một số hình ảnh về Guacamole

hình ảnh guacamolehình ảnh session guacamole

2. Các ưu điểm của Guacamole

  • Bạn có thể truy cập máy tính client từ bất kì thiết bị nào, chỉ cần có internet truy cập vào service web frontend Guacamole. Web giao diện của được viết bằng ngôn ngữ HTML5 nên rất nhanh gọn.
  • Apache Guacamole được tổ chức Apache phát triển và luôn theo tôn chỉ đó là : miễn phí và mã nguồn mở.
  • Guacamole hỗ trợ hệ thống API rất tiện lợi và có kèm tài liệu API chi tiết (http://guacamole.apache.org/api-documentation/)
  • Nếu cần sử dụng mục đích thương mại, thì đã có một số tổ chức thứ 3 hỗ trợ phát triển và bán hàng cho bạn (http://guacamole.apache.org/support/#commercial-support)
  • Guacamole hỗ trợ chuyển đổi các session remote giữa các máy chủ rất tiện lợi trong cùng 1 cửa sổ trình duyệt web.
  • Guacamole hỗ trợ các giao thức remote phổ biến : VNC/RDP, telnet, ssh,..

3. Kiến trúc của Guacamole

3.1 Mô hình hoạt động Guacamole

kiến trúc guacamole

Người dùng sẽ kết nối đến Guacamole Server thông qua giao diện ứng dụng web. Chương trình Guacamole client được viết bằng ngôn ngữ Javascript và sử dụng bởi web server sẽ thực hiện kết nối ‘giao thức guacamole’ (guacamole protocol) đến Guacamole Server.

Guacamole server sẽ đọc các dữ liệu, thông tin từ ứng dụng web gửi xuống qua giao thức guacamole. Thực hiện chứng thực, nếu ok thì dựa vào các cấu hình lựa chọn server cùng giao thức kết nối, sẽ gửi thông tin qua cho dịch vụ ‘guacd’ bằng giao thức guacamole (Guacamole proxy).

Dịch vụ proxy ‘guacd’ sẽ đọc thông tin và lựa chọn thư viện remote desktop phù hợp và thực hiện kết nối đến các máy chủ remote. Sau đó sẽ chuyển nội dung remote protocol về và diễn dịch lại qua giao thức Guacamole để Server Guacamole hiểu theo chuẩn chung của Apache phát triển cho Guacamole. Sau cùng, web Guacamole sẽ hiển thị nội dung remote desktop/protocol cho người dùng thao tác trên ứng dụng web HTML5.

3.2 Các thành phần trong Guacamole

+ Giao thức Guacamole
Ứng dụng web của Guacamole vốn dĩ không thể hiểu và xử lý bất kì giao thức remote desktop nào như VNC/RDP,… Vậy giao thức Guacamole dùng để làm gì ? giao thức Guacamole chỉ dùng để hiển thị (render) giao diện từ xa và vận chuyển các thông tin, sự kiện.

Theo thiết kế của Guacamole thì giao thức Guacamole thường đảm nhận nhiệm vụ hiển thị nội dung giao diện từ một lớp trung gian khác hỗ trợ “diễn dịch” các giao thức remote desktop khác sang dữ liệu mà giao thức Guacamole có thể hiểu được. Lớp trung gian đó có tên là ‘guacd’ mà bạn thấy trong mô hình Guacamole trên.

+ Dịch vụ ‘guacd’

guacd‘ chính là trái tim của chương trình dịch vụ Guacamole, ‘gucad‘ proxy sẽ nạp các thư viện hỗ trợ các giao thức kết nối remote desktop và kết nối đến các máy chủ theo chỉ thị từ Guacamole Server. Từ đó cũng quản lý kênh kết nối giữa ứng dụng web và kết nối remote desktop.

guacd‘ là một chương trình dịch vụ được cài đặt theo gói Guacamole và chạy ngầm để lắng nghe các kết nối TCP từ Guacamole Server.

+ Ứng dụng web

Giao diện ứng dụng web html5 , chỉ làm đúng nhiệm vụ hiển thị website, chứng thực, hiển thị giao diện remote desktop,.. Backend mã nguồn ứng dụng web được viết bằng ngôn ngữ Java.

Vậy là bạn đã tìm hiểu hoàn thành về chương trình dịch vụ Guacamole – Remote Desktop Gateway. Ở bài kế tiếp, chúng ta sẽ tìm hiểu cách cài đặt chương trình Guacamole trên Linux nhé.

Nguồn: https://cuongquach.com/

Previous article[HP] Hướng dẫn nâng cấp firmware iLO HP qua SSH
Next articleSinh viên Mạng Máy Tính nên học CCNA hay MCSA trước ?
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !