VPN thì phải tự host một con ở cloud để làm coordinator, thật ra host ở nhà cũng được nhưng dynamic IP kể cả DDNS cũng khó nói lắm. Giải pháp Cloudflare Tunnel (không biết giờ gọi là gì rồi) cũng là một giải pháp tốt nhưng phụ thuộc vào Cloudflare và đi qua server trung gian của nó.
Và mọi người hay nhầm nhưng thật ra
Tailscale chỉ cần một máy có thể NAT ra ngoài được là đủ P2P rồi, không cần 2 đầu nhé. Nên ngồi ở cafe, cty thì vẫn direct được về homelab được bình thường.
Test 1. Từ máy cá nhân (trọ, NAT 2 lớp) => Tailscale LXC (ở nhà)
Mã:
❯ tailscale ping xxx-tailscale
pong from xxx-tailscale (100.73.17.53) via 171.246.xxx.xxx:41641 in 10ms
# 171.246.xxx.xxx là IP homelab ở nhà của mình
Test 2. Từ máy cá nhân (trọ, NAT 2 lớp) => Một cái camera IP (ở nhà, cùng địa điểm ở trên)
Mã:
❯ tailscale ping 192.168.111.254
pong from xxx-tailscale (100.73.17.53) via 171.246.xxx.xxx:41641 in 11ms
# 171.246.xxx.xxx là IP homelab ở nhà của mình
Test 3. Từ máy Tailscale LXC (ở nhà) => máy cá nhân (trọ, 2 lớp)
Mã:
root@tailscale:/# tailscale ping xxx-macbook
pong from xxx-macbook (100.73.183.22) via 42.118.xxx.xxx:54003 in 65ms
# 42.118.xxx.xxx là IP trọ của mình
Đều là direct nha

Còn muốn route hướng ngược lại ví dụ như bài test 2, add cái route vào router là xong
Nên có thể vẽ nháp ra những thiết bị mà fen muốn connect rồi dùng subnet router thôi. Ví dụ như ở trên mình có thể kết nối tới bất kì device nào ở nhà của mình mà chỉ cần một subnet router là đủ. Ngoài ra để chắc ăn thì add OmitDefaultRegions vào Tailscale ACL thì các device của bạn sẽ không dùng DERP nữa, Tailscale vẫn giữ nhiệm vụ điều phối thôi.