Tailscale trên router OpenWrt: cả nhà vào tailnet

Chia sẻ bài viết

Mục lục
Tailscale trên router OpenWrt: cả nhà vào tailnet

Trả lời nhanh: Router OpenWrt cài được Tailscale bằng opkg install tailscale, sau đó quảng bá cả dải LAN (--advertise-routes), mọi thiết bị trong nhà, kể cả tivi và camera không cài được app, đều truy cập được từ xa. Chiều ngược lại, đặt exit node ở tầng router là cả nhà ra internet qua VPS mà không cấu hình từng máy.

Cài Tailscale từng thiết bị ổn cho laptop, điện thoại, nhưng nhà bạn còn tivi, camera, máy in, ổ cắm thông minh, máy chơi game của trẻ con. Đưa Tailscale xuống tầng router giải quyết một lần cho tất cả, và OpenWrt, hệ điều hành router mã nguồn mở phổ biến nhất, hỗ trợ chính thức. Bài này đi từ kiểm tra router tương thích đến hai cấu hình đáng giá nhất: subnet router cho cả nhà và exit node tập trung.

Tóm tắt nhanh
  • Cần router chạy OpenWrt còn dư ~10-20MB flash; kiểm tra bằng df -h trước khi cài
  • Cài: opkg update && opkg install tailscale, đăng nhập bằng auth key
  • Subnet router: quảng bá dải LAN, thiết bị không cài app vẫn truy cập được từ xa
  • Exit node tầng router: cả nhà ra internet qua VPS bằng một cấu hình duy nhất
  • GL.iNet (router du lịch phổ biến ở VN) có sẵn công tắc Tailscale trong giao diện, khỏi gõ lệnh

Kiểm tra router trước: flash, RAM và lối tắt GL.iNet

Tailscale trên router cần chừng 10-20MB flash trống và RAM dư vài chục MB, router OpenWrt tầm trung trở lên (flash 128MB+) thoải mái, router quá cũ 8/16MB flash thì không vừa, nên cho vai này chạy trên một mini PC/Raspberry Pi trong LAN thay thế (mô hình subnet router đã viết). SSH vào router chạy df -hfree để biết mình đứng đâu. Tin vui cho người ngại lệnh: các router GL.iNet bán rất chạy ở Việt Nam (Beryl, Slate, Brume) chạy OpenWrt tùy biến và có công tắc Tailscale ngay trong giao diện web, Applications → Tailscale, bật, dán link đăng nhập là xong, các phần cấu hình dưới đây tương ứng các checkbox trong UI.

Cài đặt trên OpenWrt chuẩn

opkg update
opkg install tailscale
/etc/init.d/tailscale start
/etc/init.d/tailscale enable   # tu chay khi router reboot
# dang nhap khong trinh duyet bang auth key (tao trong admin console):
tailscale up --auth-key=tskey-auth-xxxxx --hostname=router-nha

Router hiện trong tailnet như một node bình thường. Vì router là thiết bị mạng trọng yếu, nên gắn tag riêng (tag:router) khi tạo auth key để quản ACL, và bật Disable key expiry cho nó trong console, router mà văng khỏi mạng lúc bạn đi vắng thì mất luôn đường vào nhà.

Cấu hình 1: subnet router, cả nhà truy cập được từ xa

tailscale up --auth-key=... --hostname=router-nha 
  --advertise-routes=192.168.1.0/24

Duyệt route trong admin console (Machines → router → Edit route settings) như quy trình quen thuộc. Khác biệt so với đặt subnet router trên một máy trong LAN: router chính là cửa ngõ mạng nên không cần chỉnh IP forwarding hay static route gì thêm, gọn nhất có thể. Từ đây, ở bất cứ đâu bạn mở được camera 192.168.1.64, máy in, NAS, giao diện quản trị router, mọi thiết bị trong nhà, kể cả loại không đời nào cài được VPN. Nhớ quy hoạch dải IP tránh trùng với các site khác như bài subnet router đã dặn.

Cấu hình 2: exit node tầng router, cả nhà một đường ra

Chiều ngược cũng thú vị không kém: cho router dùng exit node, toàn bộ thiết bị trong nhà ra internet qua VPS của bạn mà không cấu hình từng máy:

tailscale up --auth-key=... --advertise-routes=192.168.1.0/24 
  --exit-node=100.x.y.z --exit-node-allow-lan-access

(100.x.y.z là VPS đã dựng exit node theo bài exit node.) Cảnh dùng thật: cả nhà cần IP ra ổn định, gom kiểm soát nội dung/quảng cáo về một điểm, hoặc mạng khu trọ cần lớp mã hóa qua hạ tầng chung. Đánh đổi cần cân: mọi băng thông cả nhà dồn qua VPS, chọn gói băng thông đủ và nhớ tốc độ quốc tế phụ thuộc đường truyền VPS.

Vận hành và giới hạn thật

Cập nhật: opkg upgrade tailscale theo chu kỳ, và lưu ý nâng cấp firmware OpenWrt lớn sẽ xóa gói, đưa tailscale vào danh sách gói giữ lại khi build/sysupgrade. Hiệu năng: CPU router yếu hơn PC nhiều; router tầm trung mã hóa WireGuard đạt vài chục đến trăm Mbps, đủ cho truy cập từ xa và duyệt web cả nhà, nhưng đừng kỳ vọng gigabit. Đo thật bằng iperf3 qua tailnet trước khi kết luận. MikroTik thì sao? RouterOS v7 chạy Tailscale được qua tính năng container trên các dòng ARM64 đủ RAM, thuộc hàng nghịch nâng cao; nhà toàn thiết bị MikroTik thì cân nhắc ZeroTier (hỗ trợ sẵn) hoặc mini PC làm subnet router cho đơn giản.

Cấu hình cần trên router để subnet router chạy thật

Cài xong thường vẫn chưa thông, vì thiếu hai việc ở tầng hệ điều hành router:

# 1. Bat chuyen tiep goi tin
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding=1' >> /etc/sysctl.d/99-tailscale.conf
sysctl -p /etc/sysctl.d/99-tailscale.conf

# 2. Quang ba dai LAN cua nha ban
tailscale up --advertise-routes=192.168.1.0/24 --accept-dns=false

# 3. Kiem tra
tailscale status
ip route | grep tailscale

Sau đó vào trang quản trị Tailscale, mục Machines, mở node router, phần Subnet routes và bấm duyệt. Đây là bước bị quên nhiều nhất: router quảng bá rồi nhưng chưa được duyệt thì máy khác vẫn không đi vào được, và không có thông báo lỗi nào.

Tham số --accept-dns=false trên router là cố ý: để router không lấy cấu hình DNS của tailnet đè lên DNS đang phục vụ cả nhà.

Kiểm dung lượng trước khi cài, và làm gì khi chật

df -h /overlay        # con trong bao nhieu
free -m               # RAM con lai
opkg update && opkg install tailscale
logread -e tailscale  # xem log neu cai xong khong chay

Router chật flash có ba đường: cài lên thẻ nhớ hoặc USB gắn ngoài rồi mở rộng vùng lưu trữ, gỡ các gói không dùng, hoặc chuyển vai trò subnet router sang một máy tính nhỏ trong mạng. Cách thứ ba thường là lựa chọn tốt nhất vì router đời cũ chạy thêm phần mềm mã hóa sẽ chậm hẳn phần định tuyến chính.

Tốc độ thật và giới hạn của việc đặt trên router

Loại routerTốc độ qua đường mã hóa, ước lượngNhận xét
Router lõi ARM đời cũ, không tăng tốc phần cứng5 tới 20 MbpsĐủ để quản trị và xem camera nhẹ, không đủ để chép tệp lớn
Router tầm trung đời mới30 tới 100 MbpsĐủ cho phần lớn nhu cầu gia đình
Máy tính nhỏ hoặc máy tính bảng mạch đơn làm subnet router200 Mbps trở lênLựa chọn nên chọn khi cần chép dữ liệu nhiều

Nguyên nhân: mã hóa đường truyền là việc nặng cho vi xử lý của router, và phần lớn router không có mạch tăng tốc riêng cho việc này. Nếu bạn thấy tốc độ thấp bất thường, đó là giới hạn phần cứng chứ không phải cấu hình sai.

Ba lưu ý an toàn khi mở cả nhà ra tailnet

  • Trùng dải mạng. Nhà bạn và văn phòng cùng dùng 192.168.1.0/24 là máy không biết đi đâu. Đổi dải nhà sang một dải ít gặp, ví dụ 192.168.37.0/24, trước khi dựng.
  • Ai trong tailnet cũng vào được mọi thiết bị trong nhà. Nếu tailnet có người khác, dùng danh sách kiểm soát truy cập để giới hạn, đừng để mặc định mở hết.
  • Thiết bị thông minh giá rẻ là điểm yếu. Camera và ổ cắm thông minh thường có lỗ hổng không bao giờ được vá. Đưa chúng sang một mạng riêng và chỉ quảng bá dải đó khi thật cần.

Câu hỏi thường gặp

Router nhà mạng phát có cài được không?

Hầu như không, router nhà mạng chạy firmware đóng. Hai đường thực dụng: mua một router OpenWrt/GL.iNet cắm sau router nhà mạng làm tầng dịch vụ, hoặc dùng một mini PC/Raspberry Pi trong LAN làm subnet router như bài trước của series.

Cài Tailscale trên router có làm chậm wifi cả nhà không?

Traffic nội bộ và ra internet bình thường không đổi, Tailscale chỉ xử lý gói đi/đến tailnet. Chỉ khi bật exit node cho cả nhà thì mọi traffic mới qua đường mã hóa và chịu giới hạn CPU router + băng thông VPS.

Mất điện, router khởi động lại có phải đăng nhập lại không?

Không, đã enable dịch vụ và state lưu trong flash, router tự nối lại. Cứ bật Disable key expiry trong console cho node router để chắc chắn không bao giờ bị hết hạn khóa lúc vắng nhà.

GL.iNet dùng UI hay lệnh tốt hơn?

UI của GL.iNet đủ cho bật/tắt, subnet router và exit node, dùng UI cho lành để không lệch cấu hình. Chỉ SSH gõ lệnh khi cần tùy chỉnh sâu UI chưa phơi ra, và nhớ các thay đổi tay có thể bị UI ghi đè.

Hạ tầng VPS tại Việt Nam của TND
Cloud VPS linh hoạt và VPS NVMe xung cao, IP công cộng riêng, đặt tại Việt Nam
Router đưa cả nhà vào tailnet, VPS cho mạng đó một điểm neo công cộng: exit node ổn định, hub nối các site, nơi đặt dịch vụ chung. Cloud VPS TND đặt tại Việt Nam ping vài ms từ mọi nhà mạng nội địa, bàn giao trong 5 phút; kho dữ liệu gia đình lớn có dòng VPS NVMe.
Chọn gói VPS giá rẻ phù hợp nhu cầu của bạnCần I/O mạnh? Xem VPS NVMe

Bài viết liên quan