Tôi phải thừa nhận rằng mình là một người đến với Tailscale khá muộn màng (có thể nói là rất muộn), và giờ mới thấy rõ sức mạnh của các thiết lập mạng ảo mà nó mang lại. Một phần lý do là tôi đã quen sử dụng nhiều nhà cung cấp VPN truyền thống, và cũng vì cho đến gần đây, tôi chưa cần truy cập home lab từ xa – đơn giản là vì tôi chưa có home lab.
Vâng, thời thế thay đổi, và giờ câu hỏi không phải là làm sao để cài Tailscale nữa, mà là “có bao nhiêu thiết bị của tôi chưa cài Tailscale?” Có thể tôi hầu hết hiểu về networking, DNS, và domain, cũng như cách chúng kết hợp lại thành thứ gọi là internet. Nhưng điều đó không có nghĩa là tôi thực sự thích làm việc với chúng, chẳng hạn như cái “đ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 từng octet nằm đúng vị trí.
Đừ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 là) 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ự chạy, và càng dành nhiều thời gian cho networking, tôi càng ít thời gian để làm những thí nghiệm thú vị khác. Đó là lúc Tailscale xuất hiện, và cụ thể hơn là Tailscale Funnel.
Tính năng cốt lõi này của MagicDNS trong Tailscale cho phép tôi kiểm tra các dịch vụ tự host từ một URL công cộng mà không cần phải cấu hình các bản ghi domain hay bất kỳ thứ gì liên quan đến mạng mà tôi muốn tránh, nhờ đó tôi có thể tập trung vào bản thân dịch vụ và làm cho nó hoạt động. Chúng thật tuyệt vời, và phần tốt nhất là chúng không mất nhiều thời gian để sử dụng.
Related
- 5 tính năng của Tailscale có thể bạn chưa biết
5. Chúng rất đơn giản
Chỉ một lệnh duy nhất là đủ
Tôi đã dùng rất nhiều 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 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à, reverse proxy để xử lý việc chuyển các gói dữ liệu qua thiết bị mạng của tôi, hoặc là sự kết hợp của cả hai. Một số thì phức tạp khi cài đặt, số khác thì ít hơn, nhưng tất cả đều đòi hỏi các bước bổ sung để hoạt động.
Tailscale Funnel thì không. Việc cài đặt Tailscale rất nhanh, và thiết lập Funnel để lộ một ứng dụng tự host ra ngoài đơn giản chỉ bằng một dòng lệnh duy nhất trong cửa sổ terminal.
tailscale funnel [port]
Chỉ thế thôi là đủ để kết nối cổng dịch vụ nội bộ với cổng bên ngoài, tạo một bản ghi DNS liên kết 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 lan truyền, nhưng đó là tốc độ nhanh nhất mà các máy chủ định danh 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ạ port, 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.
Laptop Windows 11 hiển thị cửa sổ terminal với lệnh Tailscale Funnel
Related
- 7 công cụ dòng lệnh giúp tự động hóa tác vụ hàng ngày trên mọi hệ điều hành
4. Chúng rất an toàn
Mã hóa đầu cuối là chìa khóa
Kết nối đến các ứng dụng tự host của tôi rất dễ dàng khi ở nhà, ngoại trừ việc phải đối phó với các chứng chỉ tự ký (self-signed certificates) cho việc sử dụng HTTPS. Tuy nhiên, những chứng chỉ tự ký đó có thể là vấn đề khi cố gắng đưa các ứng dụng này ra ngoài nhà, chẳng hạn 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ả một khoản chi phí tài chính.
Nhưng ngay sau khi một Tailscale Funnel được khởi tạo, Tailscale sẽ cung cấp cho bạn một subdomain DNS thực tế, 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. Nó vẫn là chứng chỉ Let’s Encrypt, nhưng bạn không cần phải có domain riêng, thiết lập một VPS, và trỏ nhà đăng ký domain của bạn đến đó để có chứng chỉ đáng tin cậy; nó chỉ đơn giản là hoạt động. Lặp lại lần nữa, tôi ghét phải đối phó với những phiền toái của DNS, và có thứ gì đó làm tất cả những việc đó cho tôi một cách liền mạch thật gần như kỳ diệu.
Khi URL của 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 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à.
Cáp mạng trong tủ rack server minh họa môi trường home lab
Related
- 4 lý do nhà cung cấp đám mây của bạn nên sử dụng mã hóa đầu cuối
3. Không cần mở port (Port Forwarding)
Càng ít port mở ra ngoài càng tốt
Tôi luôn cẩn trọng về việc để các port 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 công cụ quét IP tự động để xác định các port mở cho các cuộc tấn công sau này 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ể mở port ngay từ đầu, các nhà cung cấp dịch vụ internet (ISP) thường giới hạn khả năng này, đặc biệt trên các port cụ thể (port 25 cho SMTP là một port 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, nó sử dụng các phương pháp xuyên NAT (NAT traversal) để tránh cần bất kỳ port mở hoặc cấu hình tường lửa nào.
Tailscale Funnel về mặt kỹ thuật có mở một port, nhưng chỉ tới tailnet của bạn, chứ không phải internet công cộng có thể bị quét. Với một URL được bảo mật bằng 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 port 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 cần phải lo lắng về việc thay đổi bản ghi DNS. Thêm nữa, tôi không phải làm port forwarding, điều mà tôi rất vui mỗi khi thiết lập một Funnel.
Tủ mạng gia đình, tượng trưng cho hệ thống home lab được bảo vệ
Related
- Port Forwarding là gì? Tại sao tôi cần làm việc đó?
2. Các trường hợp sử dụng sáng tạo
Biến một dịch vụ thành nhiều dịch vụ?
Funnel rất mạnh mẽ với vai trò là một reverse proxy đơn giản, cho phép dễ dàng sử dụng một dịch vụ tự host 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 nào khác được host cục bộ.
Vẻ đẹp của việc này là phần thường gây khó khăn trong việc bảo mật của reverse proxy không bao giờ rời khỏi mạng nội bộ của bạn, do đó bề mặt tấn công giảm đi đáng kể. Điểm truy cập duy nhất đến từ một URL Tailscale an toàn, vì vậy việc có nhà cung cấp xác thực (authentication provider) trên reverse proxy của bạn sẽ khóa những người bạn không muốn truy cập. 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 trong tailnet của bạn, mà không cần cài đặt client Tailscale trên từng cái một.
Switch mạng Zyxel cao cấp minh họa cấu trúc mạng phức tạp trong home lab
Related
- Internet Routing là gì, và tại sao nó quan trọng?
1. Dễ dàng truy cập cho người không dùng Tailscale
Gia đình và bạn bè của bạn sẽ cảm ơn
Cho đến nay, mọi tính năng tôi yêu thích ở Tailscale Funnel đều mang lại lợi ích cá nhân. Nhưng vì Funnel 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à người thân đáng tin cậy, nên có một tính năng cốt lõi mang lại lợi ích lớn nhất cho họ. Tất cả chúng ta có thể đã trải qua sự phản kháng khi cố gắng chuyển sang các giải pháp tự host thay thế, vì đôi khi chúng có thể khó kết nối hơn các dịch vụ đăng ký mà chúng thay thế.
Không ai muốn gõ địa chỉ IP hoặc chi tiết kết nối SSH. Nó mất 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, họ có thể, và sẽ, nhấp vào một liên kết (ngay cả khi chúng ta cố gắng ngăn họ làm vậy), biến URL Tailscale Funnel thành một phần không thể thiếu 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 truy cập bị loại bỏ, họ sẽ sẵn lòng lắng nghe lý do tại sao nó phù hợp hơn với nhu cầu của họ.
Giao diện web quản lý Tailscale hiển thị các thiết bị trong tailnet
Related
- Tôi dùng Tailscale để truy cập từ xa các dịch vụ tự host – Đây là cách làm
Tôi có thể sẽ chuyển sang dùng Tailscale Funnel vĩnh viễn để thoát khỏi những đau đầu về DNS và proxy
Tôi đã thấy ánh sáng ở cuối funnel, 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ụ home lab hoặc thử nghiệm mới vào hoạt động. Tôi luôn nói 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 tôi không thích gì không? Thiết lập bản ghi DNS, port forward, reverse proxy và mọi thứ khác cần thiết để sử dụng các công cụ tự host bên ngoài mạng của tôi mà vẫn đảm bảo an toàn. Tailscale Funnel làm tất cả những việc khó khăn đó cho tôi, cho phép tôi tập trung vào việc thử nghiệm các công cụ và dịch vụ mới, điều mà tôi thực sự yêu thích ở việc làm home lab.