
Trả lời nhanh: Subnet router là một máy trong mạng LAN chạy Tailscale và quảng bá cả dải mạng đó (ví dụ 192.168.1.0/24) vào tailnet. Kết quả: mọi thiết bị trong LAN, máy in, camera, NAS, máy chấm công, truy cập được từ xa qua Tailscale mà không phải cài gì lên từng thiết bị. Dựng bằng một lệnh --advertise-routes cộng một lần duyệt trong admin console.
Không phải thiết bị nào cũng cài được Tailscale: máy in, camera IP, máy chấm công, thiết bị nhúng, hay đơn giản là 30 máy văn phòng bạn không muốn cài tay từng cái. Subnet router giải quyết gọn: một máy đứng ra làm đại diện cho cả dải mạng. Đây cũng là cách các doanh nghiệp nhỏ dựng site-to-site nối văn phòng - nhà - VPS mà trước đây phải mua router chuyên dụng và cấu hình IPsec đau đầu. Bài này dựng đủ, kèm xử lý cái bẫy kinh điển: trùng dải IP.
- 1 máy Linux nhỏ trong LAN (mini PC, Raspberry Pi, hay chính server văn phòng) làm đại diện cả dải
- 3 bước: bật IP forwarding →
--advertise-routes=192.168.1.0/24→ duyệt route trong console - Bẫy số 1: hai site cùng dải 192.168.1.0/24, phải đổi một bên trước khi nối
- Use-case đắt: database trên VPS đóng port công cộng, chỉ mở vào tailnet
- ACL siết được ai chạm dải nào, nền tảng phân quyền chi nhánh, phòng ban
Subnet router hoạt động thế nào
Máy chạy subnet router nhận traffic từ tailnet gửi đến dải LAN nó quảng bá, rồi chuyển tiếp vào mạng nội bộ như một cổng định tuyến. Chiều về đi ngược qua đúng máy đó. Thiết bị LAN không biết gì về Tailscale, chúng chỉ thấy một máy nội bộ nói chuyện với mình. Đánh đổi so với cài client từng máy: traffic dải đó dồn qua một điểm (nên chọn máy có mạng ổn), và kết nối đến thiết bị LAN không còn là mã hóa đầu-cuối tới tận thiết bị, mã hóa dừng ở subnet router, đoạn còn lại là LAN của bạn.
Dựng subnet router cho văn phòng: 3 bước
Chọn một máy Linux trong LAN văn phòng luôn bật (mini PC cắm góc tủ là đẹp), cài Tailscale theo bài cài đặt, rồi:
# 1. bat chuyen tiep goi tin
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
# 2. quang ba dai LAN van phong (sua theo dai thuc te)
sudo tailscale up --advertise-routes=192.168.1.0/24
# 3. admin console -> Machines -> may nay -> Edit route settings -> duyet routeTừ laptop ở nhà (đã trong tailnet): ping 192.168.1.50: máy in văn phòng trả lời. Camera, NAS, mọi thiết bị dải đó truy cập như đang ngồi văn phòng.
Bẫy kinh điển: hai nơi cùng dải 192.168.1.x
Nhà bạn cũng 192.168.1.0/24, văn phòng cũng 192.168.1.0/24, nối vào là loạn định tuyến: gói tin không biết 192.168.1.50 là máy in văn phòng hay tivi nhà. Cách xử đúng: đổi dải một bên trước khi nối, vào router nhà đổi DHCP sang 192.168.10.0/24 (đổi phía ít thiết bị tĩnh hơn cho nhẹ công). Quy hoạch cho hệ nhiều site: mỗi site một dải riêng ngay từ đầu, văn phòng 192.168.1.x, nhà 192.168.10.x, chi nhánh 192.168.20.x. Tránh dùng dải 100.64.0.0/10 cho LAN vì đụng chính dải Tailscale.
Use-case đắt nhất với VPS: database không port công cộng
Chiều ngược lại của subnet router cũng giá trị không kém: dịch vụ trên VPS chỉ mở vào tailnet. Ví dụ PostgreSQL trên VPS phục vụ ứng dụng nội bộ văn phòng:
# postgresql.conf: chi lang nghe tren IP tailnet cua VPS
listen_addresses = 'localhost, 100.101.98.12'
# ufw: dong port 5432 cong cong, chi cho tailscale0
sudo ufw allow in on tailscale0 to any port 5432 proto tcp
sudo ufw deny 5432/tcpCả văn phòng (qua subnet router) truy vấn database bình thường, còn internet quét cả ngày không thấy port nào. Kết hợp Tailscale SSH là VPS gần như tàng hình trên internet công cộng, chỉ dịch vụ web công khai (nếu có) còn mở.
Site-to-site hai chiều và phân quyền ACL
Muốn văn phòng cũng thấy được thiết bị ở site kia? Dựng thêm subnet router tại site đó quảng bá dải của nó, hai site thấy nhau trọn vẹn, thành site-to-site VPN đúng nghĩa không cần thiết bị chuyên dụng. Với đội đông, siết bằng ACL: kế toán chỉ chạm dải máy chủ kế toán, kỹ thuật mới thấy dải camera. Mẫu ý tưởng:
"acls": [
{"action": "accept", "src": ["group:ketoan"], "dst": ["192.168.1.0/24:5432"]},
{"action": "accept", "src": ["group:kythuat"], "dst": ["192.168.1.0/24:*", "192.168.20.0/24:*"]}
]Nguyên tắc: mở hẹp nhất chạy được việc, nới dần khi có nhu cầu thật.
Câu hỏi thường gặp
Subnet router khác exit node chỗ nào?
Subnet router mở đường vào một dải LAN cụ thể (192.168.x.x); exit node nhận toàn bộ traffic ra internet công cộng. Một máy làm được cả hai vai cùng lúc nếu bạn quảng bá cả routes lẫn exit node.
Tốc độ qua subnet router có chậm không?
Thêm một chặng chuyển tiếp nên chậm hơn nối thẳng client-to-client một chút, nhưng trong thực tế mạng nội địa vẫn dư cho camera, file, database. Chọn máy làm router có dây mạng ổn định thay vì wifi yếu là yếu tố quyết định.
Cần mấy máy làm subnet router cho một site?
Một máy là đủ về chức năng. Site quan trọng muốn dự phòng thì dựng hai máy cùng quảng bá một dải, Tailscale hỗ trợ failover giữa các subnet router trùng route.
Thiết bị trong LAN có tự thấy các máy tailnet không?
Không theo mặc định, chiều LAN đi ra tailnet cần máy đó biết đường. Cách phổ biến: thêm static route trên router văn phòng trỏ dải 100.64.0.0/10 về IP LAN của subnet router, hoặc chỉ định tuyến cho vài máy chủ cần thiết.
Bài viết liên quan
- Tailscale SSH: quản trị server không cần mở port 22
- Tailscale + VPS hub: zero-config VPN cho remote team
- Tailscale exit node trên VPS: VPN riêng có IP cố định
- OpenClaw là gì? Hướng dẫn self-host OpenClaw trên VPS TND từ A-Z
- Tailscale Funnel & Serve: đưa web ra internet không mở port
- Next.js vs Rails vs Django: chọn framework cho SaaS 2026
- Self-host Umami analytics: privacy-first cho landing dev solo
- Headscale: tự host control server Tailscale trên VPS
- Kích hoạt Windows 11 Pro: 7 cách + xử lý lỗi 0xC004F074, 0x803F7001 đầy đủ 2026



