Headscale, một triển khai mã nguồn mở của Tailscale

Vài ngày trước chúng tôi đã nói chuyện ở đây trên blog về Firezone, là một tiện ích tuyệt vời để tạo máy chủ VPN dựa trên WireGuard.

Và bây giờ là lúc nói về một tiện ích khá tương tự được gọi là "Headscale", đó là một dự án được phát triển dưới dạng triển khai mã nguồn mở thành phần máy chủ từ mạng Tailscale VPN, cho phép bạn tạo các mạng VPN tương tự như Tailscale tại cơ sở của riêng bạn mà không cần liên kết với các dịch vụ của bên thứ ba.

cấp độ đuôi cho phép kết hợp một số lượng máy chủ phân tán theo địa lý tùy ý trong một mạng, được xây dựng trên hình ảnh của một mạng lưới, trong đó mỗi nút giao tiếp với các nút khác trực tiếp (P2P) hoặc thông qua các nút lân cận, mà không truyền lưu lượng truy cập thông qua các máy chủ bên ngoài tập trung của nhà cung cấp VPN.

bên cạnh đó Đường dẫn dựa trên ACL và kiểm soát truy cập được hỗ trợ và để thiết lập các kênh liên lạc trong điều kiện sử dụng trình dịch địa chỉ (NAT), các cơ chế STUN, ICE và DERP (tương tự như TURN, nhưng dựa trên HTTPS) được hỗ trợ. Nếu kênh liên lạc giữa các nút nhất định bị chặn, mạng có thể định tuyến lại để định tuyến lưu lượng qua các nút khác.

tailscale svà sự khác biệt so với dự án Nebula cũng được thiết kế để tạo mạng VPN phân tán với định tuyến lưới, sử dụng giao thức Wireguard để tổ chức truyền dữ liệu giữa các nút, trong khi Nebula sử dụng sự phát triển của dự án Tinc, trong đó sử dụng thuật toán AES-256 để mã hóa các gói GSM (Wireguard sử dụng mã hóa ChaCha20, trong thử nghiệm cho thấy hiệu suất và khả năng đáp ứng cao hơn).

Một dự án tương tự khác, Innernet, đang được phát triển riêng, trong đó giao thức Wireguard nó cũng được sử dụng để trao đổi dữ liệu giữa các nút. Ngược lại, từ Tailscale và Nebula trên Innernet, một hệ thống phân tách truy cập khác dựa trên ACL đã được sử dụng Các thẻ không bị ràng buộc với các nút và mạng con riêng lẻ trong việc phân tách và cô lập các dải địa chỉ IP khác nhau, như trong mạng Internet thông thường.

Ngoài ra, Innernet sử dụng Rust thay vì Go và điều đáng nói là Innernet 1.5 với hỗ trợ truyền tải NAT được cải thiện đã được phát hành cách đây vài ngày. Ngoài ra còn có một dự án Netmaker, cho phép bạn kết nối các mạng có cấu trúc liên kết khác nhau bằng cách sử dụng Wireguard, nhưng mã của nó được cung cấp theo SSPL (Giấy phép Công cộng phía Máy chủ), không được mở do có các yêu cầu phân biệt đối xử.

Tailscale được phân phối bằng mô hình Freemium sử dụng miễn phí cho các cá nhân và quyền truy cập trả phí cho các công ty và nhóm. Các thành phần của máy khách Tailscale, ngoại trừ các ứng dụng đồ họa cho Windows và macOS, được phát triển dưới dạng các dự án mã nguồn mở theo giấy phép BSD.

Phần mềm máy chủ thuê ngoài của Tailscale xác thực các khách hàng mới, điều phối quản lý chínhs và tổ chức giao tiếp giữa các nút là độc quyền. Dự án Headscale giải quyết vấn đề này và cung cấp triển khai mã nguồn mở riêng biệt của các thành phần máy chủ Tailscale.

Headscale tiếp quản các chức năng trao đổi khóa công khai của núts và cũng thực hiện các hoạt động gán địa chỉ IP và phân phối bảng định tuyến giữa các nút.

Ở dạng hiện tại, Headscale triển khai tất cả các tính năng chính của máy chủ quản lý, ngoại trừ hỗ trợ MagicDNS và Smart DNS. Đặc biệt, hỗ trợ các chức năng đăng ký các nút (thậm chí trên web), điều chỉnh mạng để thêm hoặc xóa các nút, phân chia mạng con bằng cách sử dụng không gian tên (bạn có thể tạo mạng VPN cho nhiều người dùng), tổ chức truy cập được chia sẻ từ các nút đến mạng con trong các không gian tên khác nhau, kiểm soát định tuyến (bao gồm cả việc chỉ định các nút thoát để truy cập thế giới bên ngoài), truy cập được chia sẻ qua ACL và thực thi DNS.

Mã Headscale được viết bằng Go và được phân phối theo giấy phép BSD. Dự án đang được phát triển bởi Juan Font thuộc Cơ quan Vũ trụ Châu Âu.

Cuối cùng, nếu bạn quan tâm có thể biết thêm về nó, bạn có thể tham khảo chi tiết Trong liên kết sau đây.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.