2 điểm bởi GN⁺ 2023-08-18 | 1 bình luận | Chia sẻ qua WhatsApp
  • Netmaker là một nền tảng cung cấp truy cập mạng zero-trust bằng cách liên kết thiết bị, đám mây, văn phòng và môi trường edge qua các đường hầm dựa trên WireGuard, đồng thời bổ sung kiểm soát truy cập chi tiết
  • Nền tảng nhấn mạnh rằng nhanh hơn 10–20 lần so với các lựa chọn thay thế nhờ WireGuard trong nhân và relay đồng đặt chỗ, đồng thời có thể duy trì quyền riêng tư dữ liệu với triển khai on-premise và relay chuyên dụng
  • Các trường hợp sử dụng chính gồm truy cập cho nhóm làm việc từ xa, hợp nhất mạng văn phòng, quản lý thiết bị edge, thay thế VPN legacy, lưu trữ trên hạ tầng riêng và kết nối các workload AI phân tán
  • Với Mesh VPN, quản lý node, định tuyến lưu lượng, ACL và quản lý người dùng, có thể vận hành tách biệt nhiều mạng ảo và áp dụng OIDC, 2FA cùng chính sách hết hạn phiên
  • Vì cấu hình WireGuard và các quy tắc định tuyến thông qua dashboard, CLI, API và tác nhân Netclient, có thể quản lý mạng overlay phân tán theo trạng thái mong muốn

Cách Netmaker triển khai mạng bảo mật

  • Netmaker là nền tảng mạng zero-trust giúp giảm bớt cấu hình VPN phức tạp, cho phép các nhóm kết nối từ bất kỳ đâu chỉ trong vài phút
  • Dựa trên sự đơn giản và tốc độ của WireGuard, nền tảng tập trung vào việc kết nối an toàn giữa thiết bị, đám mây và các địa điểm
  • Công ty cho biết đang được hơn 500 doanh nghiệp trên toàn thế giới sử dụng
  • Có ba ưu điểm cốt lõi
    • Tốc độ: nhanh hơn 10–20 lần so với các lựa chọn thay thế nhờ WireGuard trong nhân và relay đồng đặt chỗ
    • Quyền riêng tư: có thể giữ dữ liệu trong môi trường riêng nhờ các tùy chọn on-premise và relay chuyên dụng
    • Kiểm soát: cung cấp một nền tảng linh hoạt để triển khai, cấu hình và tự động hóa mạng cũng như endpoint

Các trường hợp sử dụng chính

  • Truy cập bảo mật cho nhóm làm việc từ xa

    • Hỗ trợ các nhóm phân tán truy cập ổn định vào tài nguyên công ty
    • Tập trung vào việc giảm độ phức tạp phát sinh khi vận hành VPN truyền thống
  • Hợp nhất mạng văn phòng

    • Kết nối nhiều địa điểm bằng mạng vừa an toàn vừa có hiệu năng tốt
    • Có thể mở rộng theo sự tăng trưởng của doanh nghiệp
  • Quản lý fleet và thiết bị edge

    • Có thể triển khai, giám sát và bảo vệ tập trung hàng nghìn thiết bị edge ở các địa điểm phân tán
    • Hỗ trợ tự động hóa kết nối và duy trì chính sách bảo mật nhất quán từ một dashboard duy nhất
  • Thay thế VPN legacy

    • Cung cấp mạng mesh vượt qua các giới hạn của VPN hiện có
    • Nhấn mạnh hiệu năng tốt hơn, quản trị dễ hơn và bảo mật mạnh hơn
  • Lưu trữ Netmaker trên hạ tầng riêng

    • Có thể kiểm soát hoàn toàn hạ tầng mạng bằng triển khai on-premise
    • Có thể giữ dữ liệu nhạy cảm trong môi trường riêng và đáp ứng các yêu cầu tuân thủ nghiêm ngặt trên phần cứng tự quản lý
  • Bảo mật mạng cho hạ tầng AI

    • Kết nối các workload AI phân tán trên đám mây và GPU on-premise bằng bảo mật zero-trust
    • Phù hợp với các nhóm ML chạy tác vụ huấn luyện trên nhiều nhà cung cấp đám mây hoặc môi trường hybrid
    • Bao gồm các mục đích như truyền mô hình, huấn luyện phân tán và bảo vệ suy luận quy mô lớn

Mesh VPN và tách biệt mạng

  • Thiết kế đa mạng của Netmaker cho phép tạo nhiều mạng ảo tách biệt và quản lý chúng tại một nơi
  • Các công ty B2B có thể quản lý nhiều khách hàng trong một tài khoản, đồng thời tách biệt và bảo vệ lưu lượng
  • Cũng có thể tách theo từng trường hợp sử dụng
    • truy cập Internet an toàn
    • quản lý thiết bị edge
    • cấu hình mesh cho máy chủ đám mây
    • truy cập từ xa vào văn phòng

Node, định tuyến và kiểm soát truy cập

  • Có ba tùy chọn VPN client để thêm endpoint vào mạng
    • Cài netclient làm tác nhân headless trên Linux, Docker, Windows, Mac để cấu hình các node peer-to-peer
    • Tích hợp các thiết bị tương thích WireGuard, bao gồm cả router, vào mạng bằng tệp cấu hình WireGuard đơn giản
    • Chạy Remote Access Client trên desktop hoặc di động để cung cấp ứng dụng truy cập từ xa cho người dùng, bao gồm xác thực và hết hạn phiên
  • Định tuyến lưu lượng và ACL kiểm soát đường mạng cũng như quyền hạn
    • Có thể đặt node làm Hub để relay kết nối
    • Có thể đặt node làm Forwarder để cung cấp truy cập từ xa tới các mạng bên ngoài như văn phòng, đám mây hoặc Internet
    • Có thể đặt ACL cho mạng để cấu hình quyền giữa các thiết bị và triển khai kiến trúc zero-trust
  • Quản lý người dùng bao gồm onboarding người dùng cuối, gán vai trò và quyền, và cấp quyền truy cập mạng
    • Có thể tích hợp với nhà cung cấp xác thực tương thích OIDC
    • Có thể bật 2FA
    • Có thể thiết lập quy tắc hết hạn phiên

Luồng vận hành và cách mở rộng

  • Quản trị viên đăng nhập vào dashboard hoặc CLI để tạo mạng và thêm host bằng Netclient
  • Chỉ định trạng thái mạng mong muốn bằng các tính năng như Egress, Ingress, Relays, ACL
  • Trạng thái đã chỉ định được truyền tới các tác nhân Netclient đang chạy trên thiết bị và máy chủ
  • Netclient cấu hình WireGuard và các quy tắc định tuyến theo đúng trạng thái cuối cùng mong muốn
  • Sau khi cấu hình hoàn tất, mạng overlay phân tán sẽ hoạt động
  • Có thể bổ sung khả năng mạng cấp enterprise vào nền tảng thông qua API
  • Tùy chọn mã nguồn mở hướng đến cá nhân và nhóm nhỏ, bao gồm sử dụng cá nhân không giới hạn và các tính năng bảo mật cốt lõi

1 bình luận

 
GN⁺ 2023-08-18
Ý kiến trên Hacker News
  • Bài viết liên quan đăng hồi đầu năm nay: https://news.ycombinator.com/item?id=35584533
    Tác giả đã so sánh Yggdrasil, tinc, Tailscale, Zerotier, Netmaker, Nebula và cuối cùng lại thích Yggdrasil hơn. Chính nhờ bài so sánh đó mà tôi mới xem thử Netmaker, rồi sau khi chạy thử nghiệm trơn tru thì lại càng thích nó hơn. Mong Netmaker được bàn lại lần nữa
    Dự án tiến triển nhanh nên mỗi bản phát hành đều phải theo các thay đổi cấu hình, nhưng vì vẫn là bản phát hành 0.xx nên đây là điều có thể dự đoán được
    Về cơ bản, Netmaker là WireGuard thông thường được thêm điều chỉnh định tuyến và STUN/TURN, nên khá dễ hiểu kiến trúc; tài liệu cũng được viết với người dùng tự host trong đầu, đây có vẻ là tín hiệu tốt

    • Tài liệu dành cho người dùng tự host là tốt, nhưng ở thời điểm viết, Netmaker không phải FOSS: https://github.com/gravitl/netmaker/blob/16d5b5807/LICENSE.txt
    • Tôi cũng muốn thêm Netbird vào danh sách đó. Sau khi thử tất cả các sản phẩm trên, cuối cùng tôi đã dùng Netbird
      https://netbird.io/
    • Khi kết nối VPN trong các môi trường như mạng doanh nghiệp, nơi chỉ cho phép lưu lượng ra ngoài qua 80/443, việc dùng relay là phổ biến. Dù không phải lúc nào cũng dùng relay, nó vẫn có thể được dùng cho một số kết nối trong ngày; nếu có lỗ hổng, chỉ một lần kết nối cũng có thể phá vỡ bảo mật
    • Đọc README trên GitHub vẫn không rõ điều chỉnh định tuyến có proxy toàn bộ lưu lượng qua máy chủ của họ hay không
  • Danh sách tính năng gợi nhớ đến Tailscale nên tôi tìm thử và thấy trên website có bài so sánh này: https://www.netmaker.io/resources/tailscale-vs-zerotier
    Nhìn bảng so sánh ở cuối, các điểm khác biệt với Tailscale được nêu là không thể tự host (bỏ qua sự tồn tại của headscale) và hỗ trợ WireGuard bị hạn chế. Điểm sau có vẻ ám chỉ cấu hình mặc định của Tailscale, nơi mọi node đều kết nối với nhau, còn NetMaker có thể cấu hình mạng theo cách khác
    Nhưng với ACL của Tailscale cũng có thể tái cấu trúc mạng theo ý muốn, nên tôi không rõ phê bình đó còn hợp lệ không. Tuyên bố “dữ liệu đi qua máy chủ relay DERP khá thường xuyên” cũng đáng nghi. Điều đó chỉ đúng với các mạng mà lưu lượng UDP giữa client không đi được bất chấp STUN/TURN, và thực tế thì khá hiếm
    Ưu điểm tôi tìm thấy chỉ là gói miễn phí của NetMaker phong phú hơn và nếu có thể thì dùng module kernel WireGuard. Không hiểu sao họ không đưa những điểm này lên trước

    • Nhìn vào so sánh thì WireGuard giờ đã là mức nền tảng, còn tuyên bố Netmaker nhanh hơn vì dùng WireGuard kernel không đúng với mọi cấu hình hệ thống, đặc biệt là trên macOS
      Độ linh hoạt trông có vẻ tương tự Tailscale, và có cảm giác họ đang marketing khác đi cho các trường hợp dùng phổ biến là gateway gửi/nhận. Với Tailscale cũng có thể tạo hình dạng mạng bằng ACL
      Về giá, đề xuất của Tailscale cũng đủ cho hầu hết người dùng và các giới hạn cũng khá “mềm”. Tôi trả 45 USD/năm không phải vì nó miễn phí mà vì muốn tính bền vững. Tôi đang tìm lý do để chuyển, nhưng vẫn chưa tìm được
    • Theo tôi biết, Tailscale không cung cấp máy chủ điều khiển tự host chính thức. Đây có vẻ là lợi thế của NetMaker
      Tuy nhiên theo tôi thấy thì không có tính năng tương ứng với tailnet lock
    • Tôi tò mò cơ sở để Netmaker tuyên bố hiệu năng gấp 5 lần so với Tailscale có phải là module kernel không. Tôi chưa đo hiệu năng Tailscale một cách nghiêm túc, nhưng nếu không phải khác biệt về hiệu năng hạ tầng thì tôi khó thấy cách nào khác để đưa ra tuyên bố như vậy
    • Netmaker có Client Gateways, cho phép tạo và chỉnh sửa file cấu hình WireGuard thô. Nó rất hữu ích khi tích hợp với cấu hình WireGuard tùy chỉnh
      Ví dụ, tạo rồi chỉnh sửa file cấu hình, sau đó đưa vào router là có ngay kết nối site-to-site: https://www.netmaker.io/features/ingress
    • Việc lưu lượng trong Tailscale bị relay thường xuyên đến mức nào đáng để tự điều tra. Không có con số, nhưng từng có người dùng gặp độ trễ rất cao trên Tailscale; sau khi phân tích lưu lượng, họ phát hiện lưu lượng đang bị relay sang tận phía bên kia đất nước
      NAT traversal của Tailscale rất tốt, nhưng đây vẫn là yếu tố đáng cân nhắc
  • Có thể là câu hỏi ngớ ngẩn, nhưng tôi tò mò ưu điểm của các sản phẩm kiểu này so với việc tự cấu hình máy chủ WireGuard thông thường trên những nơi như OpenBSD là gì. Tôi không phải chuyên gia mạng, nhưng tự cấu hình cũng khá đơn giản. Nếu các sản phẩm này cung cấp nhiều tính năng hơn thì tôi muốn biết đó là những tính năng nào

    • Nếu thử tạo mạng mesh chỉ bằng WireGuard, bạn sẽ nhanh chóng gặp vấn đề bùng nổ tổ hợp
      Nếu có 10 node và muốn thêm node thứ 11, bạn phải cập nhật cả 10 node hiện có
      Các dự án kiểu này tự động hóa cấu hình node. Chỉ cần cấu hình node mới, các node còn lại sẽ biết đến sự tồn tại của node đó
    • Tóm lại là bạn không phải tự cấu hình WireGuard, và nó cũng giúp đáp ứng các loại từ viết tắt về tuân thủ quy định
  • Chẳng phải các công ty nên đầu tư nhiều hơn vào việc cải thiện WireGuard và các giải pháp nguồn mở khác sao?
    Tôi không hiểu làm sao có thể tin tưởng giao một dịch vụ bảo mật quan trọng như VPN cho một công ty khác. Nếu một nhân viên nào đó của công ty ấy bán đứng bạn cho người trả giá cao nhất thì sao?
    Khi quyết định tự xây dựng hay mua, có vẻ người ta thường quên rằng nếu bạn không sở hữu chìa khóa cửa nhà mình, bạn có nguy cơ bị ai đó khóa bên ngoài

    • Người tạo ra WireGuard từng nói rõ rằng các tính năng quản trị như xác thực người dùng, tự động thiết lập và điều chỉnh, ACL nằm ngoài phạm vi dự án WireGuard
      Họ giữ nó đơn giản hết mức có thể và để các bên thứ ba xây dựng nền tảng VPN dùng WireGuard
    • Với câu hỏi làm sao có thể tin giao một dịch vụ bảo mật VPN quan trọng cho công ty khác, cũng có cách tiếp cận kiểu nhìn Gartner Magic Quadrant rồi chọn cái ở góc trên bên phải
      Bất kỳ giải pháp VPN nào cũng có thể có lỗ hổng, và nếu là cùng một công ty thì họ sẽ giữ nó được cập nhật. Nhiều tường lửa phần cứng có ASIC để tăng tốc lưu lượng VPN, và bạn có thể cần những thứ này để xử lý quy mô lưu lượng của công ty
    • WireGuard là một giao thức mã hóa và truyền bit trực tiếp ở tầng L3. Làm tốt một việc đơn giản là đúng
  • Có một bất tiện trong WireGuard mà tôi vẫn chưa giải quyết được. Trên điện thoại, tôi muốn truy cập homelab qua máy chủ WireGuard ở nhà, còn phần lưu lượng còn lại thì gửi qua VPN WireGuard bên ngoài
    Dải IP homelab kiểu như 10.10.0.0/24, còn VPN bên ngoài là dải khác, nhưng có vẻ WireGuard không thích cấu hình như vậy
    Phương án thay thế là gửi toàn bộ lưu lượng của điện thoại về nhà, rồi router ở nhà đẩy ra VPN bên ngoài, nhưng mạng nhà tôi không tốt nên tôi không muốn nó trở thành nút thắt cổ chai
    Tôi tìm lướt qua tài liệu NetMaker nhưng không thấy chỗ nào chỉ rõ cách cấu hình VPN, hoặc cấu hình bridge nhiều mạng WireGuard được gọi là gì

    • Tôi tò mò cấu hình hiện tại của bạn như thế nào
      Có phải trên điện thoại có một interface/cấu hình WireGuard và có hai peer không? Peer WireGuard ở nhà có AllowedIPs là 10.10.0.0/24, còn peer VPN từ xa là 0.0.0.0/24 chẳng hạn?
      Tôi cũng tò mò bạn đã thử loại trừ CIDR của WireGuard ở nhà khỏi AllowedIPs của VPN từ xa chưa. Tức là cấu hình bằng nhiều mục loại trừ CIDR cục bộ, chứ không phải một mục 0.0.0.0/24
    • Lẽ ra có thể làm được với hai peer. Tuy nhiên có thể bạn phải định nghĩa định tuyến một cách tường minh
      Peer thứ nhất đặt AllowedIPs là 10.10.0.0/8 thì dễ, còn peer thứ hai phải định tuyến toàn bộ lưu lượng còn lại nên cần cấu hình thêm
      Có thể tham khảo câu trả lời này để xem ví dụ liệt kê tất cả các dải không phải RFC1918: https://serverfault.com/a/304791
      Tôi đoán bạn sẽ cần đưa các dải này vào AllowedIPs của peer dùng để định tuyến ra Internet công cộng
    • Netmaker có thể giúp được. Trong mạng Netmaker 10.10.0.0/24, chỉ cần cấu hình Egress Gateway đi tới 0.0.0.0/0 làm VPN Internet
      Netmaker xử lý quy tắc định tuyến theo cách khác và được thiết kế để tương thích với cấu hình kiểu này. Tuy vậy, theo kinh nghiệm của tôi thì cấu hình này trong WireGuard thường cũng khá ổn định, nên hơi ngạc nhiên là bạn gặp vấn đề
    • Nếu máy chủ WireGuard ở nhà chạy trên Linux, có thể triển khai bằng cách thêm bảng định tuyến thứ hai và đưa chính sách định tuyến vào
    • Sao không đặt một kết nối WireGuard thường trực giữa nhà và máy chủ WireGuard bên ngoài, rồi điện thoại chỉ kết nối tới máy chủ bên ngoài?
      Như vậy lưu lượng về nhà sẽ được định tuyến qua kết nối WireGuard về nhà, còn phần lưu lượng còn lại sẽ đi thẳng ra từ máy chủ bên ngoài
  • Tôi đã dùng Netmaker được vài tháng và nó rất tuyệt. Tôi dùng nó để quản lý VPN bastion cho mọi môi trường
    Thứ tôi vẫn chưa làm thành công là forwarding toàn bộ 0.0.0.0. Tài liệu nói là có thể, nhưng có vẻ không phải ca sử dụng phổ biến, và mỗi lần thử đều bị treo. Thường thì tôi phải dùng sshuttle
    Ngoài chuyện đó ra thì thật sự rất tốt

    • Tôi tò mò cấu hình hosting máy chủ của bạn. Bạn phơi Netmaker bastion ra Internet công cộng cho tất cả VPC, và đặt bastion ở ngoài VPC à?
      Khi tôi cấu hình thì được khuyến nghị làm như vậy, nhưng tôi cũng đã cân nhắc cách đặt bastion trong VPC và phơi nó ra Internet
    • Tôi tò mò khi dùng 0.0.0.0 thì bạn truy cập bằng external clients, hay dùng netclient thông thường
    • Tôi tò mò là dùng cho mạng văn phòng hay hạ tầng máy chủ
      Cũng tò mò bạn đã so sánh với các sản phẩm khác chưa, và vì sao chọn Netmaker
    • Bạn nên thử MSS clamping
  • Netmaker là một sản phẩm ổn và cũng được Y Combinator hỗ trợ. Giống Tailscale, nó dựa trên WireGuard, và có vẻ chủ yếu tập trung vào việc dùng với Kubernetes
    Theo tôi, vì nó cung cấp cả ACL tích hợp, các tính năng WireGuard/VPN truyền thống, và overlay mesh nhắn tin mã hóa P2P, nên nó tốt hơn các giải pháp mạng zero trust khác
    Zerotier hoặc Tailscale có thể dễ xử lý hơn, nhưng NetMaker đáng để tiếp tục theo dõi. Tôi đã gặp nhà sáng lập tại KubeCon năm ngoái; anh ấy dễ tiếp cận và rất tốt. Nếu có câu hỏi hay mối lo cụ thể, bạn có thể liên hệ trực tiếp

    • Tailscale khá tốt
      Tôi tò mò phải làm thế nào để kết nối hai mạng tailnet và netmaker-net
  • Lục qua kho GitHub thì tôi khá thất vọng vì thiếu các file _test.go. Đây là sản phẩm bảo mật nên tôi sợ có chuyện xấu xảy ra

    • Phần lớn kiểm thử được thực hiện bằng kiểm thử tích hợp ở một kho khác
  • Tôi đã đăng ký vài công cụ kiểu này và thích Netmaker hơn. Có thể tôi thiên vị, nhưng tôi thấy cách cấu hình được trình bày dễ hiểu

    • Tôi tò mò bạn đã dùng những cái nào và đánh giá từng cái ra sao
      Tôi mới chỉ dùng một sản phẩm được những người tôi tin trên HN và nơi khác nhắc tới nhiều lần, nhưng tôi tò mò về trải nghiệm của người dùng HN với các dịch vụ khác
  • Đang dùng Netmaker và netclient bên trong cụm Kubernetes để truy cập tất cả pod k8s thông qua đường hầm WireGuard bảo mật
    Không cần bận tâm đến chứng chỉ SSL cho các dashboard quản trị như Longhorn, Pihole, Portainer, Linkerd. Cũng không cần phải dùng port forwarding của k8s mỗi khi truy cập một dịch vụ cụ thể trong mạng cụm
    Theo tôi, để truy cập mạng cụm một cách an toàn và dễ quản lý thì khó có tổ hợp nào vượt qua được Netmaker và Kubernetes