Tailscale trên Ubuntu toàn tập: headless, autostart, DNS

Chia sẻ bài viết

Mục lục
Tailscale trên Ubuntu toàn tập: headless, autostart, DNS

Trả lời nhanh: Cài Tailscale trên Ubuntu bằng script chính chủ hoặc apt repo, đăng nhập máy không màn hình bằng --auth-key, dịch vụ tự chạy khi boot sẵn qua systemd. Hai thứ hay vấp: tailscale up chạy lại phải khai đủ flags cũ (dùng tailscale set cho chỉnh lẻ), và xung đột DNS với systemd-resolved, sửa bằng --accept-dns=false khi máy tự quản DNS.

Bài cài đặt 10 phút của series đã đưa Ubuntu vào tailnet bằng hai lệnh. Bài này dành cho lúc bạn cần nhiều hơn: cài chuẩn repo để apt upgrade quản lý phiên bản, đăng nhập hàng loạt máy không màn hình, hiểu trò flags của tailscale up trước khi nó cắn bạn, và xử đúng lỗi DNS, thứ được tìm nhiều nhất trong cụm tailscale ubuntu. Mọi lệnh áp dụng cho Ubuntu 22.04/24.04, Debian và máy chủ lẫn desktop.

Tóm tắt nhanh
  • Cài qua apt repo chính chủ để cập nhật bằng apt upgrade như mọi gói khác
  • Headless: tạo auth key (nên dùng loại reusable + tags) → tailscale up --auth-key, không cần trình duyệt
  • Bẫy flags: tailscale up reset các cờ không khai lại, chỉnh lẻ dùng tailscale set
  • Autostart có sẵn: systemd enable tailscaled ngay khi cài; kiểm tra bằng systemctl status
  • Lỗi DNS: MagicDNS đẩy 100.100.100.100 vào resolved, máy làm DNS server thì tắt bằng --accept-dns=false

Cài chuẩn repo thay vì script (và vì sao)

Script curl | shbài cài nhanh thực chất cũng thêm repo rồi apt install, nhưng tự tay thêm giúp bạn thấy rõ mình cài gì, hợp môi trường công ty duyệt từng nguồn phần mềm:

curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
sudo apt update && sudo apt install tailscale

(Ubuntu 22.04 thay noble bằng jammy.) Từ đây sudo apt upgrade nâng cấp Tailscale cùng cả hệ thống, không phải nhớ cập nhật riêng.

Headless: đăng nhập máy không màn hình bằng auth key

Quản 5-10 máy (VPS, máy ảo, mini PC) mà mỗi máy phải mở link trình duyệt xác thực thì rất cực. Auth key giải quyết: admin console → Settings → Keys → Generate auth key. Chọn Reusable nếu dùng cho nhiều máy, đặt hạn ngắn, và gắn tag (ví dụ tag:server), máy vào bằng key có tag sẽ không bị hết hạn khóa theo user, tiện cho server chạy dài hạn:

sudo tailscale up --auth-key=tskey-auth-xxxxx --hostname=vps-web-01

Đưa lệnh này vào cloud-init hay script provision là máy mới tự vào tailnet ngay khi sinh ra, nền tảng cho hạ tầng tự động hóa.

Bẫy kinh điển: tailscale up reset flags

Điều làm nhiều người mất SSH lúc nửa đêm: tailscale up coi mỗi lần chạy là khai báo toàn bộ cấu hình. Máy đang --advertise-exit-node --ssh, bạn chạy sudo tailscale up --accept-dns=false trơn, hai cờ cũ bị gỡ âm thầm, exit node biến mất khỏi console. Tailscale có cảnh báo và yêu cầu thêm cờ xác nhận, nhưng cách đúng là:

# chinh le mot thiet lap - khong dung den up:
sudo tailscale set --accept-dns=false
sudo tailscale set --ssh
# xem cau hinh hien tai truoc khi dong den up:
tailscale debug prefs

Quy tắc nhớ: up cho lần đầu và thay đổi lớn có chủ đích (khai đủ mọi cờ); set cho chỉnh lẻ hằng ngày.

Autostart, log và cập nhật

Gói cài đã systemctl enable tailscaled sẵn, reboot là tự nối lại, không phải làm gì. Bộ lệnh vận hành đáng nhớ:

systemctl status tailscaled     # dich vu song?
journalctl -u tailscaled -e     # log khi co van de
tailscale status                # trang thai mang
tailscale version               # phien ban hien tai

Desktop Ubuntu không có icon khay chính chủ, CLI là giao diện chính; ai thích đồ họa có thể cài trayscale từ cộng đồng, nhưng thực tế dùng lệnh nhanh hơn.

Xử lỗi DNS: khi MagicDNS và systemd-resolved giẫm chân nhau

Bật MagicDNS, Tailscale đẩy DNS server ảo 100.100.100.100 vào systemd-resolved để phân giải tên máy tailnet. Trên desktop và VPS thường: chạy êm. Rắc rối đến khi máy tự làm DNS (Pi-hole, AdGuard, dnsmasq) hoặc cần resolver riêng, triệu chứng: phân giải chậm, tên nội bộ chết, log resolved than phiền. Hai cách xử theo tình huống:

# may lam DNS server: bao Tailscale dung dong den DNS may nay
sudo tailscale set --accept-dns=false
# van goi duoc ten may tailnet? dung IP 100.x hoac them search domain thu cong

Chẩn đoán nhanh: resolvectl status xem interface tailscale0 đang khai DNS gì; tailscale status xác nhận MagicDNS bật hay tắt. Lỗi DNS dạng khác (mọi hệ điều hành) có bài riêng: Tailscale không kết nối được, chẩn đoán từng tầng.

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

Ubuntu Server và Desktop cài có gì khác nhau?

Không khác, cùng gói, cùng lệnh. Desktop chỉ thêm lựa chọn giao diện khay không chính thức. Server thường đăng nhập bằng auth key thay vì mở link trình duyệt.

Gỡ Tailscale sạch khỏi Ubuntu thế nào?

sudo tailscale logout (gỡ khóa khỏi tailnet), sudo apt remove tailscale, rồi xóa máy trong admin console. Muốn sạch tuyệt đối thì xóa thêm /var/lib/tailscale (chứa state và khóa máy).

Chạy Tailscale trong Docker trên Ubuntu có gì lưu ý?

Container cần cấp /dev/net/tun và cap NET_ADMIN, state mount ra volume để không phải đăng nhập lại mỗi lần recreate. Series có bài riêng về pattern Tailscale + Docker sidecar.

Máy Ubuntu vừa làm exit node vừa làm subnet router được không?

Được, khai cả hai trong một lần: sudo tailscale up --advertise-exit-node --advertise-routes=192.168.1.0/24 (nhớ bật IP forwarding trước, và từ đó về sau dùng tailscale set để không reset hai cờ này).

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
Mọi kỹ thuật trong bài phát huy nhất trên một máy Ubuntu chạy 24/7 có IP công cộng, auth key provision hàng loạt, exit node, hub backup. Cloud VPS TND cho đúng nền đó: Ubuntu 24.04 sẵn, IP riêng, đặt tại Việt Nam, bàn giao 5 phút; workload I/O nặng có dòng VPS NVMe ổ Enterprise.
Xem bảng giá Cloud VPS đặt tại Việt NamCần I/O mạnh? Xem VPS NVMe

Bài viết liên quan