
Trả lời nhanh: Cách gọn nhất: cài Tailscale thẳng lên host Proxmox (nền Debian, dùng đúng script chuẩn), web UI https://100.x.y.z:8006 truy cập từ xa an toàn, không mở port. Muốn tách bạch hơn thì chạy trong một LXC (cần cấp quyền /dev/net/tun). Nâng cấp đáng giá nhất cho homelab: đẩy backup Proxmox Backup Server offsite lên VPS qua tailnet.
Proxmox là trái tim của phong trào homelab Việt (từ khóa homelab 880 lượt/tháng và vẫn tăng): một máy cũ chạy chục VM, LXC là cả phòng thí nghiệm. Nhưng trái tim đó thường bị nhốt sau CGNAT, ra khỏi nhà là mù. Bài này nối Proxmox vào tailnet đúng cách (host hay LXC, kèm cái bẫy tun kinh điển), và giải bài toán lớn nhất của mọi homelab: bản backup nằm ngoài căn nhà.
- Cài ở host Proxmox (Debian) là đơn giản và bền nhất; LXC khi muốn tách vai, nhớ cấp tun
- Web UI 8006, console VM, SSH, tất cả qua tailnet, đóng cửa với internet
- LXC bẫy kinh điển: thiếu /dev/net/tun, sửa bằng 2 dòng trong file cấu hình container
- VM/LXC bên trong muốn vào tailnet: cài từng cái như máy thường, hoặc subnet router cả dải ảo
- Backup offsite: PBS remote sync / rsync dump lên VPS qua tailnet, cháy nhà không mất lab
Cài ở host: đường thẳng cho đa số
Proxmox VE đứng trên Debian nên script quen thuộc chạy thẳng:
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up --ssh --hostname=pve-nhaTừ đó giao diện quản trị mở qua https://pve-nha:8006 (hoặc IP 100.x) từ bất cứ đâu, console VM, migrate, tạo máy đều chạy trong đường mã hóa; cờ --ssh cho luôn Tailscale SSH vào host. Việc nên làm ngay sau đó: chặn 8006 và 22 khỏi internet công cộng nếu router đang NAT chúng ra ngoài, và bật Disable key expiry cho node này trong console. Ai theo trường phái giữ host tối giản tuyệt đối thì sang phương án LXC bên dưới; còn lại, cài host là lựa chọn ít bất ngờ nhất, sống qua update Proxmox, không phụ thuộc container nào.
Phương án LXC và cái bẫy /dev/net/tun
Chạy Tailscale trong một LXC riêng giúp vai mạng tách khỏi host, nhưng LXC unprivileged mặc định không có thiết bị tun, và đây là ca lỗi Proxmox + Tailscale phổ biến nhất. Sửa bằng cách thêm vào /etc/pve/lxc/<ID>.conf:
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=fileKhởi động lại container rồi cài Tailscale như máy Debian/Ubuntu thường (bài Ubuntu toàn tập áp dụng nguyên). LXC này kiêm luôn subnet router quảng bá dải mạng ảo của Proxmox (ví dụ --advertise-routes=10.10.10.0/24) là mọi VM/LXC khác truy cập được từ xa mà không cài gì thêm, một công đôi việc.
Chiến lược cho VM và LXC bên trong
Ba mức, chọn theo nhu cầu từng máy ảo: (1) Không cài gì, truy cập qua subnet router như trên, đủ cho đa số dịch vụ nội bộ; (2) Cài trong VM quan trọng, VM nào cần danh tính riêng, ACL riêng, Tailscale SSH riêng thì cài như máy thường (VM full có sẵn tun, không vướng bẫy LXC); (3) Sidecar Docker trong VM, stack container theo pattern bài Docker sidecar. Đừng cài tràn lan mọi LXC, mỗi node chiếm một suất quota và làm console rối; quy hoạch theo vai trò.
Bài toán lớn nhất của homelab: backup rời khỏi căn nhà
Homelab chăm chút mấy cũng chung một điểm chết: mọi bản backup nằm cùng địa chỉ với máy chính. Tailnet mở đường đưa backup offsite mà không mở port nào:
- Chuẩn bài PBS: dựng Proxmox Backup Server trên VPS (cài lên Debian), VPS vào tailnet, rồi trên Proxmox nhà thêm PBS đó làm storage backup qua IP 100.x, job backup hằng đêm đi trong đường mã hóa; hoặc PBS nhà + PBS VPS chạy remote sync đồng bộ datastore.
- Gọn hơn: giữ vzdump tại nhà, rsync thư mục dump lên VPS mỗi đêm bằng cron qua tailnet.
Backup là khối lượng ghi ngẫu nhiên + dedup chunk dày đặc, I/O ổ đĩa quyết định thời gian chạy job và nhất là thời gian restore lúc dầu sôi lửa bỏng; đây là chỗ VPS NVMe ổ Enterprise U.2 ăn đứt ổ thường. Chính hạ tầng TND cũng backup khách hàng bằng PBS, mô hình này là hàng đã qua trận.
Truy cập khẩn cấp: đừng để trứng một giỏ
Toàn bộ đường vào homelab giờ đi qua Tailscale, vậy Tailscale chết thì sao? Ba lớp phòng bị cho người cẩn thận: node subnet router thứ hai (LXC ở máy khác hoặc router OpenWrt) làm đường vào dự phòng; giữ một lối vật lý (màn hình + bàn phím cắm thẳng, hoặc KVM-over-IP nội bộ); và ghi ra giấy quy trình khôi phục, vì lúc cần đến nó bạn không mở được wiki nằm trong chính homelab. Nguyên tắc chung như mọi bài của series: mạng riêng là lớp cửa chính, console vật lý là chìa dự phòng.
Cấp quyền tun cho LXC, đúng hai dòng
Đây là bẫy khiến nhiều người bỏ cuộc với phương án chạy trong container. Sửa tệp cấu hình container trên host, đường dẫn /etc/pve/lxc/<ID>.conf:
lxc.cgroup2.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file
pct stop 101 && pct start 101 # phai stop start, reboot trong container khong an pct exec 101 -- ls -l /dev/net/tun # phai thay thiet bi o day
Container không đặc quyền vẫn chạy được Tailscale sau khi cấp hai dòng trên. Nếu vẫn báo không tạo được thiết bị, kiểm mô đun trên host: lsmod | grep tun, chưa có thì modprobe tun rồi thêm tun vào /etc/modules-load.d/tun.conf để tự nạp sau khi khởi động lại.
Đẩy backup ra khỏi nhà, cấu hình cụ thể
Đây là phần đáng giá nhất của bài. Hai đường, chọn theo thứ đang có:
| Cách | Khi nào dùng | Lệnh chính |
|---|---|---|
| Proxmox Backup Server ở hai đầu | Có PBS tại nhà và một PBS trên VPS | Trên PBS đích: thêm Remote, rồi tạo Sync Job kéo về theo lịch |
| Chỉ có Proxmox VE, dùng kho lưu trữ từ xa | Không muốn dựng PBS | Thêm Storage kiểu PBS hoặc gắn thư mục qua sshfs rồi trỏ Backup Job vào đó |
| Đồng bộ thô bằng rsync | Chỉ cần bản sao tệp dump | rsync -avz --delete /var/lib/vz/dump/ user@vps-tailnet:/backup/pve/ |
Ba điều quyết định backup này có cứu được bạn hay không:
- Đặt lịch chạy khi đường truyền rảnh, thường là 2 tới 4 giờ sáng, và giới hạn băng thông để không nghẽn mạng nhà: thêm
--bwlimit=5000với rsync, hoặc đặt Rate Limit trong Sync Job của PBS. - Kiểm bản khôi phục ít nhất mỗi quý. Backup chưa từng khôi phục thử là backup chưa tồn tại. Dựng một máy ảo mới từ bản sao, bật lên, đăng nhập được là đạt.
- Giữ bản sao thứ ba không nằm trong tailnet, ví dụ một ổ cứng rời cắm định kỳ. Mã độc tống tiền đi được theo đường mạng, kể cả mạng riêng.
Ba việc nên làm ngay sau khi Proxmox vào tailnet
- Đóng cổng ra internet. Kiểm bằng cách vào trang kiểm tra cổng từ mạng khác, hoặc
nmap -Pn -p 8006,22 <ip-nha>từ máy ngoài. Cổng 8006 phơi ra internet là mục tiêu bị dò mật khẩu hằng ngày. - Tắt hạn khóa cho node này trong trang quản trị Tailscale, hoặc đưa vào mạng bằng khóa gắn thẻ. Node hết hạn nghĩa là mất luôn đường vào từ xa, và bạn chỉ phát hiện khi đang cần gấp.
- Giữ một đường vào dự phòng. Với máy đặt tại nhà, đó là màn hình và bàn phím cắm trực tiếp. Với máy đặt ở nơi khác, đó là console của nhà cung cấp. Đừng để mạng riêng là đường duy nhất.
Câu hỏi thường gặp
Cài Tailscale lên host Proxmox có bị update Proxmox xóa mất không?
Không, Tailscale là gói apt độc lập, update Proxmox VE không đụng đến. Chỉ khi cài lại toàn bộ host (reinstall) mới phải cài lại; giữ auth key quy trình sẵn thì nối lại trong một phút.
Web UI Proxmox qua tailnet có chậm không?
Kết nối direct trong nước thì UI và console VM mượt gần như LAN (cộng vài ms). noVNC console nhạy độ trễ hơn, nếu thấy ì, kiểm tra direct/relay bằng tailscale ping trước khi nghi ngờ Proxmox.
Nên để PBS ở nhà hay trên VPS?
Lý tưởng là cả hai: PBS nhà cho restore nhanh hằng ngày, PBS trên VPS làm bản offsite qua remote sync, đúng tinh thần quy tắc 3-2-1. Chỉ chọn một thì ưu tiên bản offsite, vì rủi ro mất cả cụm (cháy, trộm, điện) đau hơn nhiều so với restore chậm.
Máy Proxmox không có IP công cộng, backup lên VPS có cần mở port không?
Không, đó chính là cái hay: cả hai đầu chỉ cần ra internet được, Tailscale tự đục đường. PBS trên VPS cũng không phơi port 8007 ra công cộng, chỉ nghe trong tailnet.
Bài viết liên quan
- Tailscale + Docker: sidecar đưa container vào tailnet
- Tailscale subnet router: nối văn phòng, nhà và VPS làm một
- Tailscale SSH: quản trị server không cần mở port 22
- RAG offline với Ollama: hỏi đáp tài liệu không lộ dữ liệu
- Build AI Slack bot tự host bằng Claude API trên VPS
- Hướng dẫn bảo mật Windows Server 2012r2/2016/2019 cơ bản
- Chọn VPS nào để cài EmDash - CMS thế hệ mới thay thế WordPress?
- Lỗi cài Tailscale: 0x80072f19, forbidden by system policy
- Anthropic ra mắt Claude Security Public Beta - AI scan code và tự vá lỗ hổng



