TAIL
WEB
Tailscale Funnel
private • public • tunnel

Cách dùng Tailscale Funnel để đưa máy ra Internet

Cách dùng Tailscale để truy cập máy từ xa và dùng Tailscale Funnel để đưa web service ra Internet, kèm phân biệt với Serve và các ưu nhược điểm thực tế.

10 phút đọc16/06/2026

Nếu bạn có một máy ở nhà, mini PC, VPS riêng hoặc server nội bộ và muốn truy cập từ xa mà không mở port router, Tailscale là một cái tên rất đáng thử.

Nhưng có một điểm rất dễ nhầm:

  • Tailscale mặc định không phải công cụ public web ra Internet cho người lạ
  • nếu muốn public giống kiểu Cloudflare Tunnel, bạn cần dùng Tailscale Funnel

Đây là điểm quan trọng nhất cần hiểu trước khi triển khai.

Kết luận nhanh

Nếu bạn cần tóm tắt nhanh:

  1. Tailscale rất mạnh cho truy cập riêng tư giữa các máy trong cùng mạng ảo
  2. nếu chỉ muốn bạn hoặc team truy cập máy từ xa, Tailscale thường rất tiện
  3. nếu muốn public web service ra Internet, tính năng đúng là Tailscale Funnel
  4. Funnel khá gọn nhưng có giới hạn rõ ràng, nên không phải lúc nào cũng thay Cloudflare Tunnel đẹp

Tailscale là gì?

Tailscale là một lớp mạng riêng ảo giúp nhiều thiết bị kết nối với nhau an toàn hơn mà không cần tự dựng VPN truyền thống.

Thực tế dễ hiểu nhất:

  • laptop của bạn
  • PC ở nhà
  • VPS
  • điện thoại

đều có thể vào cùng một mạng riêng kiểu mesh qua Tailscale.

Điểm mạnh là bạn không cần tự lo nhiều phần khó như:

  • mở port
  • tự dựng WireGuard thủ công
  • tự quản lý peer phức tạp

Tailscale có public máy ra Internet như Cloudflare Tunnel không?

Có, nhưng không phải theo cách mặc định của Tailscale.

Bạn nên tách ra 2 mode:

1. Tailscale để truy cập riêng giữa các thiết bị

Đây là use case gốc của Tailscale.

Ví dụ:

  • laptop cá nhân truy cập SSH vào mini server ở nhà
  • điện thoại truy cập dashboard nội bộ
  • máy dev truy cập NAS hoặc service private

Trường hợp này:

  • người ngoài Internet không vào được
  • chỉ các thiết bị hoặc user trong tailnet mới truy cập được

2. Tailscale Funnel để public web service ra Internet

Theo tài liệu chính thức của Tailscale hiện tại, Funnel dùng để expose một local resource ra Internet qua một URL Funnel riêng.

Tài liệu chính thức:

Tailscale mô tả cách hoạt động của Funnel là tạo một encrypted tunnel from the internet to a specific resource on your device thông qua TCP proxy và Funnel relay servers.

Nói ngắn gọn:

  • app của bạn vẫn chạy local
  • Tailscale nhận traffic public
  • rồi chuyển traffic đó về đúng service trên máy của bạn

Ở góc nhìn use case, đây chính là phần gần nhất với Cloudflare Tunnel.

Phân biệt ServeFunnel

Đây là phần rất quan trọng.

Tailscale Serve

Theo docs chính thức, Tailscale Serve dùng để route traffic từ các thiết bị khác trong tailnet tới local service trên máy của bạn.

Nguồn:

Hiểu đơn giản:

  • chỉ người trong tailnet mới truy cập được
  • rất hợp cho dashboard nội bộ, app dev, admin panel, service private

Tailscale Funnel

Tailscale Funnel là phần biến một local service thành service truy cập được từ Internet.

Hiểu đơn giản:

  • Serve = private trong tailnet
  • Funnel = public ra ngoài Internet

Nếu bạn đang nghĩ tới bài toán “public máy như Cloudflare Tunnel”, thì cái bạn cần nhìn là Funnel, không phải Serve.

Flow dùng Tailscale để public web service

Flow thực tế thường là:

  1. cài Tailscale trên máy cần public
  2. cho máy đó join vào tailnet
  3. chạy app local, ví dụ localhost:3000
  4. dùng tailscale funnel 3000
  5. Tailscale cấp URL public trên domain ts.net

Theo docs chính thức, ví dụ command có dạng:

tailscale funnel 3000

Và output kiểu:

Available on the internet:
https://<device>.<tailnet>.ts.net

Khi nào Tailscale rất hợp?

Tailscale đặc biệt hợp nếu nhu cầu chính của bạn là:

  • remote SSH vào máy ở nhà
  • truy cập dashboard nội bộ
  • vào NAS, mini server, app dev từ xa
  • kết nối giữa nhiều máy cá nhân hoặc máy trong team nhỏ

Nó rất mạnh ở bài toán:

  • private access
  • ít cấu hình mạng
  • không cần mở port inbound

Khi nào Tailscale Funnel hợp để public?

Funnel hợp hơn khi:

  • bạn muốn public nhanh một web app nhỏ
  • muốn demo nội bộ cho người ngoài tailnet
  • muốn share temporary service
  • muốn public web UI mà không tự dựng reverse proxy công khai

Nhưng đây cũng là lúc cần nhìn rõ các giới hạn của Funnel.

Ưu điểm của Tailscale

1. Rất tiện cho remote access private

Đây là điểm mạnh lớn nhất.

Bạn chỉ cần:

  • cài client
  • login
  • join tailnet

là có thể bắt đầu truy cập máy từ xa khá nhanh.

2. Không cần mở port router theo kiểu truyền thống

Giống điểm hấp dẫn của Cloudflare Tunnel, bạn thường không phải đi theo flow:

  • NAT
  • port forwarding
  • public IP riêng

Điều này rất hợp với:

  • mạng gia đình
  • mạng chung cư
  • homelab
  • máy sau CGNAT

3. Rất hợp cho SSH, admin, dashboard nội bộ

Nếu mục tiêu là:

  • truy cập server admin
  • RDP / SSH
  • vào panel quản trị nội bộ

thì Tailscale thường “đúng bài” hơn việc cố public mọi thứ ra Internet.

4. Có phân tách rõ private và public

Tư duy của Tailscale khá sạch:

  • private -> Serve
  • public -> Funnel

Nhờ đó bạn dễ kiểm soát hơn chuyện cái gì chỉ nội bộ và cái gì thực sự public.

Nhược điểm của Tailscale

1. Mặc định không phải công cụ public web cho anonymous users

Đây là chỗ nhiều người nhầm.

Tailscale sinh ra mạnh nhất cho private network.
Nếu bạn chỉ nghe “Tailscale truy cập máy từ xa” rồi tưởng nó giống Cloudflare Tunnel ở mọi khía cạnh thì rất dễ triển khai sai.

Muốn public Internet thật, bạn phải dùng Funnel.

2. Funnel có giới hạn rõ ràng

Theo docs chính thức hiện tại:

  • Funnel chỉ dùng DNS name trong domain của tailnet (tailnet-name.ts.net)
  • chỉ listen trên các port 443, 8443, 10000
  • chỉ hoạt động qua kết nối TLS
  • traffic qua Funnel chịu bandwidth limits không cấu hình được

Nguồn:

Đây là một nhược điểm lớn nếu bạn muốn:

  • public dịch vụ nặng traffic
  • kiểm soát tự do hơn về domain/port
  • dùng như một public ingress ổn định cho web app lớn

3. Không phải use case public-first mạnh như Cloudflare Tunnel

Cloudflare Tunnel có cảm giác “public web app first” rõ hơn.

Tailscale thì mạnh nhất ở private connectivity, còn public exposure là một extension thêm vào qua Funnel.

Điều đó không có nghĩa Tailscale kém, nhưng nghĩa là:

  • nếu bài toán chính là private access -> Tailscale rất sáng
  • nếu bài toán chính là public web exposure -> cần cân nhắc kỹ giữa Funnel và Cloudflare Tunnel

4. Public URL mặc định đi theo ts.net

Theo docs hiện tại, Funnel dùng domain trong tailnet của bạn.

Nếu bạn muốn setup public theo branding/domain riêng ngay từ đầu, đây là một điểm cần cân nhắc thêm về trải nghiệm và kiến trúc.

Tailscale hay Cloudflare Tunnel: nên chọn cái nào?

Nếu nói ngắn gọn:

Chọn Tailscale khi:

  • bạn muốn truy cập máy riêng tư từ xa
  • bạn muốn vào SSH / dashboard / NAS / panel nội bộ
  • người dùng chính là bạn hoặc team nhỏ
  • bạn muốn ít phải nghĩ về mạng nhất có thể

Chọn Cloudflare Tunnel khi:

  • mục tiêu chính là public web app ra Internet
  • người truy cập không nằm trong mạng riêng của bạn
  • bạn muốn flow gần với reverse proxy public hơn
  • bạn đang làm web service public-facing

Tailscale có miễn phí không?

Theo trang pricing chính thức hiện tại, gói Personal là:

  • $0
  • tối đa 6 users
  • unlimited user devices

Nguồn:

Các giới hạn và tính năng có thể thay đổi theo plan, nên nếu bạn định dùng lâu dài cho team hoặc production thì nên kiểm tra lại pricing page trước khi chốt kiến trúc.

Một use case rất thực tế

Ví dụ bạn có:

  • 1 mini PC ở nhà chạy Ubuntu
  • 1 app nội bộ ở localhost:3000
  • 1 dashboard quản trị ở localhost:8080

Bạn có thể đi 2 hướng:

Hướng 1: chỉ cho bạn truy cập

  • cài Tailscale
  • dùng Serve
  • mở trong tailnet

Cách này an toàn và đúng chất Tailscale hơn.

Hướng 2: cần public cho người ngoài

  • cài Tailscale
  • dùng Funnel
  • public app ra URL ts.net

Cách này nhanh, nhưng phải chấp nhận giới hạn của Funnel.

Khi nào không nên dùng Tailscale Funnel?

Không nên xem Funnel là lựa chọn mặc định nếu:

  • app của bạn public-facing thật sự
  • cần traffic lớn và ổn định lâu dài
  • cần kiểm soát public ingress linh hoạt hơn
  • cần domain public theo branding ngay từ đầu

Trong các case đó, Cloudflare Tunnel hoặc kiến trúc reverse proxy public riêng có thể hợp hơn.

Checklist chọn nhanh

Trước khi chọn, tự hỏi:

  1. người truy cập là mình/team hay là public Internet?
  2. dịch vụ này nên private hay public?
  3. có cần domain công khai riêng không?
  4. có chấp nhận giới hạn bandwidth/port của Funnel không?
  5. mục tiêu chính là remote access hay public web hosting?

Kết luận

Tailscale rất mạnh cho bài toán truy cập máy riêng tư từ xa và kết nối các thiết bị với nhau mà không cần tự dựng VPN truyền thống.

Nếu bạn muốn “public máy như Cloudflare Tunnel”, Tailscale làm được nhưng phần đúng để dùng là Tailscale Funnel, không phải toàn bộ Tailscale theo nghĩa mặc định.

Tóm lại:

  • private access: Tailscale rất đáng dùng
  • public web nhanh gọn: Funnel dùng được
  • public web production-like, nhiều traffic, ít giới hạn hơn: nên cân nhắc Cloudflare Tunnel hoặc mô hình public ingress khác