Đối với bất kỳ người dùng home lab nào, một trong những dịch vụ hữu ích nhất là VPN. Nó cho phép bạn truy cập mạng gia đình từ bất cứ đâu và duyệt web như thể bạn đang ở nhà. Điều này không chỉ giúp bạn sử dụng các dịch vụ tự host trên NAS mà không cần mở cổng ra internet, mà còn giúp vượt qua các dịch vụ bị chặn địa lý và mã hóa dữ liệu, ngăn chặn sự theo dõi.
Tuy nhiên, một vấn đề khác thường nảy sinh khi bạn có nhiều máy chủ, dịch vụ container hóa và các thành phần khác trong home lab của mình. Việc kết nối đến chúng bằng địa chỉ IP và cổng trở nên cực kỳ phiền phức. Đơn giản hơn nhiều là thiết lập một reverse proxy để đơn giản hóa việc truy cập và quản lý từ một địa chỉ IP duy nhất. Với reverse proxy, bạn có thể chuyển đổi các yêu cầu đến thành tên miền của các ứng dụng tự host, thậm chí thiết lập các bảng điều khiển trực quan để mọi thứ dễ dàng hơn nữa.
Tôi đã sử dụng nhiều loại VPN khác nhau, từ WireGuard tự host đến ZeroTier và Tailscale, kết hợp với các giải pháp reverse proxy đa dạng. Chúng hoạt động tốt, nhưng luôn có sự phiền toái khi phải quản lý hai dịch vụ riêng biệt, và không phải tất cả đều có giao diện web dễ đọc để quản lý.
Thế rồi tôi tìm thấy Pangolin, và mọi thứ trở nên rõ ràng. Đây là một máy chủ quản lý reverse proxy tự host, dễ dàng triển khai, tích hợp các client Traefik và WireGuard tunnel, đồng thời có cả kiểm soát truy cập. Về cơ bản, nó là một phiên bản Cloudflare Tunnel nhưng bạn hoàn toàn tự host, vì vậy mọi thứ đều nằm trong tầm kiểm soát của bạn. Pangolin đang nhanh chóng trở thành giải pháp reverse proxy và VPN yêu thích của tôi.
Tủ mạng chuyên nghiệp với nhiều thiết bị chuyển mạch và dây cáp, minh họa sự phức tạp của hệ thống home lab.
Pangolin Là Gì và Tại Sao Bạn Nên Sử Dụng Nó?
Quản lý reverse proxy của bạn với máy chủ tự host, tích hợp xác thực và nhiều tính năng khác
Pangolin khiến tôi rất hứng thú khi bắt đầu đọc tài liệu của nó, bởi vì nó thực hiện rất nhiều điều mà một người dùng home lab mong muốn, và thực hiện chúng một cách dễ dàng, phong cách. Hãy tưởng tượng Nginx, Authelia và Cloudflare Tunnel gói gọn trong một, nhưng có thể tự host trên VPS hoặc máy chủ của riêng bạn, để bạn luôn kiểm soát được mọi thứ. Nó được xây dựng trên WireGuard và Traefik, với một ứng dụng quản lý tùy chỉnh, máy chủ trung tâm, một số plugin tùy chỉnh và một client WireGuard riêng. Các thành phần này bao gồm:
- Pangolin: Máy chủ quản lý trung tâm.
- Gerbil: Giao diện quản lý WireGuard.
- Traefik: Reverse proxy modular với khả năng mở rộng.
- Badger: Plugin Traefik dành cho xác thực.
- Newt: Client WireGuard không gian người dùng tối thiểu.
Vì sử dụng các tunnel WireGuard, bạn không cần phải mở bất kỳ cổng nào trên tường lửa hoặc router của mình. Điều này làm cho nó trở nên hoàn hảo cho những người dùng đứng sau các môi trường mạng hạn chế như CGNAT, DS-Lite hoặc tường lửa ISP nghiêm ngặt, vì nó có thể “đục” thẳng qua NAT và kết nối với các ứng dụng tự host của bạn mà không cần lộ chúng ra bên ngoài. Nó được triển khai trong vài phút nhờ Docker, và một khi giao diện web hoạt động, nó sẽ hướng dẫn bạn thiết lập các kết nối còn lại. Mọi thứ đều vô cùng đơn giản, và giờ đây tôi không cần phải lo lắng về các lệnh CLI hoặc SSH vào reverse proxy để thiết lập kết nối nữa.
Logo của Pangolin, giải pháp quản lý reverse proxy và VPN tự host.
Tại Sao Pangolin Tốt Hơn Các Giải Pháp Thay Thế?
Đơn giản và bảo mật, nhưng đó chưa phải là tất cả
Ảnh chụp màn hình giao diện quản lý Pangolin, thể hiện sự đơn giản và trực quan khi cấu hình.
Sử dụng Pangolin mang lại một vài lợi ích lớn so với các reverse proxy truyền thống, nhưng lợi ích lớn nhất đối với tôi là nó không cần mở bất kỳ cổng nào để hoạt động. Thêm vào đó, nó có SSO tập trung với kiểm soát truy cập dựa trên vai trò (RBAC) và hỗ trợ xác thực 2 yếu tố (2FA) để tăng cường bảo mật. Nó tự động hóa việc quản lý SSL với Let’s Encrypt, được xây dựng với nguyên tắc Zero Trust, và hoàn toàn tự host – một điểm cộng rất lớn so với nhiều dịch vụ tương tự khác.
Pangolin hiện đại, hỗ trợ các plugin modular mà Traefik có thể sử dụng, dễ dàng triển khai với Docker Compose và có tính năng cân bằng tải (load balancing) tích hợp. Nó tập trung vào bảo mật, có tính năng tunneling tích hợp và giúp quản lý home lab của bạn dễ dàng hơn rất nhiều.
Bàn làm việc với nhiều thiết bị mạng và dây cáp lộn xộn, tượng trưng cho những thách thức trong quản lý mạng gia đình.
Lý Do Tôi Ngừng Sử Dụng Nginx và WireGuard Truyền Thống
Hay nói đúng hơn là tại sao tôi không muốn tự mình quản lý nữa
Nginx có thể đã tồn tại từ rất lâu, nhưng nó không phải là reverse proxy dễ sử dụng hay ổn định nhất. Nó cũng thiếu khả năng mở rộng, điều mà reverse proxy dựa trên Traefik trong Pangolin cho phép, cùng với nhiều thứ khác, giúp bạn có thể thêm các module an ninh mạng như CrowdSec, Fail2Ban và Geoblock. Ngay cả việc sử dụng Nginx Proxy Manager cũng không phải là điều dễ dàng nhất, và mặc dù nó có tích hợp Let’s Encrypt, nó cũng không có sức mạnh VPN như Pangolin.
WireGuard chắc chắn dễ sử dụng hơn, nhưng nó yêu cầu tường lửa và router của bạn phải mở một số cổng ra bên ngoài để hoạt động. Pangolin và client Newt đã khắc phục điều đó, tạo ra các tunnel mã hóa mà không cần thiết lập port forwarding nào. Tất cả những gì bạn cần là client Newt chạy trên NAS hoặc máy chủ có các ứng dụng tự host của bạn, và máy chủ Pangolin trung tâm sẽ làm phần việc nặng nhọc cho bạn. Truy cập vào tên miền của riêng bạn và đăng nhập bằng thông tin xác thực Pangolin sẽ cấp cho bạn quyền truy cập vào tất cả các ứng dụng tự host, và điều đó thật tuyệt vời.
Giao diện ứng dụng WireGuard trên macOS, minh họa một giải pháp VPN truyền thống cần cấu hình.
Khả năng tự host một máy chủ quản lý cho nhu cầu VPN và reverse proxy là một bước ngoặt lớn
Pangolin không chỉ là một giải pháp VPN và reverse proxy cực kỳ dễ cấu hình; đó là một sự đột phá trong sự đơn giản của việc tự host dịch vụ. Nó cung cấp cho bạn một bảng điều khiển được xác thực trên một tên miền mà bạn kiểm soát để truy cập tất cả các ứng dụng tự host của mình một cách an toàn thông qua các tunnel mã hóa. Nó thậm chí còn hỗ trợ 2FA, làm cho nó an toàn như bất kỳ dịch vụ nào khác bạn sử dụng, nhưng tất cả đều thuộc sở hữu và kiểm soát của bạn, vì vậy dữ liệu của bạn không bị sử dụng ở nơi khác.
Thậm chí còn có rất nhiều tính năng đang được lên kế hoạch cho tương lai, như cài đặt Crowdsec tự động để bảo vệ sâu hơn, các quy tắc dựa trên IP và đường dẫn để bỏ qua xác thực khi cần, và hỗ trợ đa miền đầy đủ với SSO. Tôi không thể hình dung mình sẽ sử dụng bất kỳ giải pháp nào khác để truy cập các ứng dụng tự host của mình, bởi vì nó loại bỏ tất cả sự phức tạp trong quá trình thiết lập.