Là một người đã “nhập môn” Tailscale khá muộn màng, tôi thực sự ấn tượng với những sắp xếp mạng ảo mạnh mẽ mà nó mang lại. Phần nào đó là do tôi đã quen dùng các nhà cung cấp VPN truyền thống, và cũng vì cho đến gần đây, tôi chưa thực sự cần truy cập home lab từ xa – đơn giản là vì tôi chưa có một home lab để truy cập.
Thế nhưng, thời thế thay đổi, và giờ đây câu hỏi không phải là làm thế nào để cài đặt Tailscale, mà là “liệu tôi đã bỏ sót thiết bị nào chưa cài đặt nó?” Dù tôi có thể hiểu khá rõ về mạng, DNS và các domain, cũng như cách chúng kết nối với nhau để tạo thành internet, điều đó không có nghĩa là tôi thực sự thích thú với việc cấu hình chúng. Những “điệu nhảy” phức tạp của việc thay đổi cài đặt ở nhiều nơi và đảm bảo mọi octet nằm đúng vị trí không phải là sở thích của tôi.
Đừng hiểu lầm, tôi yêu thích việc học hỏi và cảm giác mọi thứ hoạt động sau (đôi khi) hàng giờ bực bội, nhưng tôi cũng có những ưu tiên khác. Home lab của tôi sẽ không tự vận hành, và càng dành nhiều thời gian cho mạng, tôi càng ít thời gian để thực hiện các thử nghiệm thú vị. Đó là nơi Tailscale xuất hiện, và cụ thể hơn là Tailscale Funnel – một phần cốt lõi của MagicDNS của Tailscale.
Tính năng này cho phép tôi kiểm tra các dịch vụ tự host từ một URL công khai mà không cần phải thiết lập các bản ghi domain hay bất kỳ cấu hình mạng nào khác mà tôi không muốn làm. Nhờ đó, tôi có thể tập trung hoàn toàn vào dịch vụ và làm cho nó hoạt động. Tailscale Funnel thực sự tuyệt vời, và điều tuyệt vời nhất là chúng không tốn nhiều thời gian để sử dụng. Trong bài viết này, chúng ta sẽ cùng khám phá 5 lợi ích chính mà Tailscale Funnel mang lại cho những người yêu công nghệ và có home lab tại Việt Nam.
1. Đơn giản đến bất ngờ
Một lệnh duy nhất để thiết lập quyền truy cập
Tôi đã thử vô số cách khác nhau để truy cập các dịch vụ đang chạy trong home lab của mình từ bên ngoài mạng gia đình. Hầu hết đều là các giải pháp VPN khiến thiết bị của tôi hoạt động như thể nó đang ở nhà, các reverse proxy để xử lý việc chuyển tiếp gói dữ liệu qua thiết bị mạng của tôi, hoặc một sự kết hợp của cả hai. Một số thì phức tạp để thiết lập, số khác thì ít hơn, nhưng tất cả đều liên quan đến các bước bổ sung để hoạt động.
Tailscale Funnel thì khác. Việc cài đặt Tailscale đã nhanh chóng, và thiết lập một Funnel để lộ một ứng dụng tự host ra bên ngoài chỉ đơn giản bằng một dòng lệnh duy nhất trong cửa sổ terminal.
tailscale funnel [port]
Chỉ cần vậy là đủ để kết nối cổng dịch vụ với cổng bên ngoài, một bản ghi DNS liên quan và một URL tailnet để dễ dàng truy cập. Có thể mất vài phút để các bản ghi DNS được truyền bá, nhưng đó là tốc độ nhanh nhất mà các nameserver có thể đạt được. Không cần chỉnh sửa file YAML, không cần nhớ (hoặc gõ sai!) cú pháp hay ánh xạ cổng, chỉ một lệnh duy nhất có thể sử dụng các cổng khác nhau cho nội bộ và bên ngoài nếu bạn cần.
Raspberry Pi với Tailscale trên máy tính
Laptop Windows 11 chạy Windows PowerShell trong các cửa sổ terminal riêng biệt
2. Bảo mật vững chắc với mã hóa đầu cuối
Mã hóa đầu cuối là chìa khóa
Kết nối với các ứng dụng tự host của tôi khá dễ dàng khi tôi ở nhà, ngoại trừ việc phải xử lý các chứng chỉ tự ký cho việc sử dụng HTTPS. Tuy nhiên, những chứng chỉ tự ký này có thể gây ra vấn đề khi cố gắng làm cho các ứng dụng đó khả dụng bên ngoài nhà tôi, chẳng hạn như thông qua một reverse proxy được bảo mật đúng cách. Không phải là không thể, nhưng nó đòi hỏi thêm vài bước để xác minh chứng chỉ đáng tin cậy, và cũng tốn kém chi phí.
Ngay khi một Tailscale Funnel được khởi tạo, Tailscale sẽ cung cấp cho bạn một subdomain DNS thực, điều đó có nghĩa là bạn nhận được một chứng chỉ được cấp từ cấp độ tin cậy của Tailscale và do đó tự động được trình duyệt web của bạn tin cậy. Vẫn là một chứng chỉ Let’s Encrypt tự ký, nhưng bạn không cần phải sở hữu domain của mình, thiết lập VPS và trỏ nhà đăng ký domain của bạn đến đó để có được chứng chỉ đáng tin cậy; nó chỉ đơn giản là hoạt động. Một lần nữa, tôi muốn nhắc lại rằng tôi ghét việc phải xử lý những rắc rối của DNS, và có thứ gì đó làm tất cả cho tôi một cách liền mạch là gần như kỳ diệu.
Khi URL Funnel được sử dụng, nó thiết lập một proxy TCP giữa ứng dụng liên quan và thiết bị mà URL đó được nhấp vào. Nó được mã hóa hoàn toàn và không bao giờ giải mã lưu lượng truy cập giữa các thiết bị công cộng và thiết bị của bạn. Phần duy nhất của liên kết không được mã hóa là giữa máy chủ Tailscale trong nhà tôi và ứng dụng tôi đang truy cập, giống như khi tôi đang ở nhà.
Tủ mạng với dây cáp
Cổng phía sau của Lenovo ThinkServer SR250 V2
3. Loại bỏ hoàn toàn Port Forwarding
Càng ít cổng mở ra mạng càng tốt
Tôi luôn cảnh giác về việc để các cổng mở ra internet, và bất kỳ ai trong thời đại này cũng nên như vậy. Việc thiết lập các quét IP tự động để xác định các cổng mở cho việc thăm dò trong tương lai quá dễ dàng, và việc bảo mật chúng đúng cách là một thách thức đáng kể. Nếu bạn có thể port forward ngay từ đầu, các ISP thường giới hạn khả năng này, đặc biệt là trên các cổng cụ thể (cổng 25 cho SMTP rất thường bị chặn). Đó là lý do tại sao tôi thường không bận tâm và sử dụng thứ gì đó như Pangolin sử dụng các phương pháp NAT traversal để tránh cần bất kỳ cổng mở hoặc cấu hình tường lửa nào.
Tailscale Funnels về mặt kỹ thuật có mở một cổng, nhưng chỉ đến tailnet của bạn, chứ không phải internet có thể quét công khai. Với một URL được bảo mật HTTPS để truy cập các ứng dụng của tôi, tôi không phải lo lắng về các cuộc tấn công tự động hoặc bất kỳ vấn đề nào khác mà việc có một cổng mở vĩnh viễn trên tường lửa của tôi có thể gây ra. Tôi thậm chí không phải lo lắng về việc thay đổi các bản ghi DNS. Thêm vào đó, tôi không phải thực hiện port forwarding, điều mà tôi rất mừng mỗi khi thiết lập một Funnel.
Hộp tủ mạng
Bộ định tuyến GL.iNet Slat AX1800 chạy OpenWrt
4. Các trường hợp sử dụng sáng tạo
Biến một dịch vụ thành nhiều?
Funnels rất mạnh mẽ như một reverse proxy đơn giản, cho phép một dịch vụ tự host dễ dàng được sử dụng từ một URL có thể chia sẻ. Bạn có thể sử dụng nhiều Funnel để truy cập mọi thứ trong home lab của mình, nhưng có một cách thanh lịch hơn mà tôi đã bỏ qua bấy lâu nay. Lệnh funnel cũng hỗ trợ chuyển tiếp TCP, và điều đó có nghĩa là bạn có thể thiết lập nó để chuyển tiếp đến Caddy, hoặc bất kỳ reverse proxy được host cục bộ nào khác.
Vẻ đẹp của điều này là phần reverse proxy thường khó bảo mật nhất không bao giờ rời khỏi mạng cục bộ của bạn, vì vậy bề mặt tấn công giảm đáng kể. Lối vào duy nhất đến thông qua một URL Tailscale an toàn, vì vậy việc có một nhà cung cấp xác thực trên reverse proxy của bạn sẽ khóa bất kỳ ai bạn không muốn. Nó cũng có nghĩa là bạn có thể truy cập các ứng dụng, dịch vụ, thư mục và các tài nguyên khác có thể không nằm trên tailnet của bạn, mà không cần phải cài đặt client Tailnet trên mỗi thiết bị.
Bộ chuyển mạch Zyxel XGM1915 được quản lý
Bộ định tuyến cạnh TV và que hương
5. Dễ dàng chia sẻ cho người không dùng Tailscale
Bạn bè và gia đình sẽ cảm ơn bạn
Cho đến nay, mọi tính năng tôi yêu thích về Tailscale Funnel đều mang lại lợi ích cá nhân. Nhưng vì Funnels rất tuyệt vời để chia sẻ các dịch vụ tự host của bạn với bạn bè và thành viên gia đình đáng tin cậy, có một tính năng nội tại mang lại lợi ích lớn nhất cho họ. Chúng ta hẳn đều đã từng trải qua sự phản đối khi cố gắng chuyển sang các giải pháp tự host, vì đôi khi chúng có thể khó kết nối hơn so với các dịch vụ đăng ký mà chúng đang thay thế.
Không ai muốn gõ địa chỉ IP hoặc chi tiết kết nối SSH. Điều đó tốn nhiều công sức hơn so với việc sử dụng SSO để truy cập dịch vụ. Tuy nhiên, tất cả họ có thể và sẽ nhấp vào một liên kết, làm cho URL Tailscale Funnel trở thành một phần vô giá trong chiến lược của bạn. Không phải ai cũng muốn tìm hiểu cách mọi thứ hoạt động, nhưng nếu rào cản gia nhập được loại bỏ, họ sẽ vui vẻ lắng nghe lý do tại sao đó lại là lựa chọn phù hợp hơn cho nhu cầu của họ.
Giao diện người dùng web của Tailscale
Tôi đã nhìn thấy ánh sáng ở cuối đường hầm, và Tailscale sắp trở thành một trong những thứ đầu tiên tôi cài đặt bất cứ khi nào tôi đưa một dịch vụ hoặc thử nghiệm home lab mới vào hoạt động. Tôi luôn nói rằng hãy tập trung vào những gì bạn yêu thích trong home lab của mình, và trả tiền hoặc thuê ngoài những thứ bạn không thích. Và bạn biết điều tôi không thích? Thiết lập các bản ghi DNS, port forwarding, reverse proxy và mọi thứ cần thiết khác để sử dụng các công cụ tự host bên ngoài mạng của tôi trong khi vẫn đảm bảo an toàn. Tailscale Funnel làm tất cả những công việc khó khăn đó cho tôi, cho phép tôi tập trung vào việc thử các công cụ và dịch vụ mới, đó mới thực sự là điều tôi yêu thích về home lab.
Bạn đã từng trải nghiệm Tailscale Funnel chưa? Hãy chia sẻ những lợi ích hoặc trường hợp sử dụng sáng tạo của bạn trong phần bình luận bên dưới!