Truy cập AI Local từ xa an toàn qua Tailscale
Hướng dẫn từng bước để gọi máy chạy Ollama ở văn phòng từ laptop ở nhà, điện thoại hay VPS chạy AI Agent, đi qua mạng riêng mã hoá Tailscale thay vì mở cổng trên modem. Kèm cách giới hạn ai được gọi, mục kiểm tra, lỗi thường gặp và các điểm cần tự thử trên máy thử. Dữ kiện đối chiếu tài liệu chính thức ngày 20–21/10/2026.
Máy AI ở văn phòng, người dùng ở khắp nơi
Công ty bạn đặt một máy có card đồ hoạ ở văn phòng, chạy Ollama cho cả nhóm. Rồi nhu cầu đến: trưởng phòng muốn dùng từ laptop ở nhà, bot trên VPS cần gọi model này 24/7. Cách nhanh nhất mà nhiều người nghĩ tới là mở cổng 11434 trên modem. (Tình huống minh hoạ.)
Đó là cách nguy hiểm: API Ollama không có xác thực, ai tìm ra địa chỉ là dùng được model và máy của bạn. Cisco từng tìm thấy 1.139 máy chủ Ollama lộ ra Internet. Bài này hướng dẫn cách đi qua mạng riêng Tailscale. Máy chưa cài Ollama thì làm trước theobài Windows, bài Mac hoặc bài Linux.
Nguồn: Ollama – khoá API "required but ignored" · Cisco – máy chủ Ollama lộ ra Internet
Truy cập AI Local từ xa qua Tailscale là gì?
Truy cập AI Local từ xa qua Tailscale là nối máy chạy model và các thiết bị cần dùng vào cùng một mạng riêng mã hoá (gọi là tailnet), để thiết bị ở xa gọi model bằng địa chỉ 100.x mà không mở cổng nào ra Internet.
Tailscale dựa trên WireGuard. Mỗi máy trong tailnet nhận một địa chỉ IPv4 thuộc dải 100.64.0.0/10, không lộ ra Internet công cộng và giữ nguyên khi máy đổi mạng. Bạn còn có thể gọi máy bằng tên ngắn nhờ MagicDNS (mặc định bật với tailnet tạo từ 20/10/2022).
- Cài TailscaleTrên máy AI và mọi thiết bị cần dùng, cùng một tailnet
- Đổi địa chỉ ngheOllama nghe ở IP 100.x thay vì chỉ 127.0.0.1
- Giới hạn quyềnQuy tắc grants: ai được gọi cổng 11434
- Gọi từ xaBase URL http://100.x.y.z:11434/v1 hoặc tên MagicDNS
Nguồn: Tailscale – IP 100.x · Tailscale – IP và DNS · Tailscale – MagicDNS
Chọn cách mở Ollama: nên và không nên
| Cách | Ai tới được cổng 11434 | Dùng khi |
|---|---|---|
| Ollama nghe ở IP 100.x (cách chính của bài) | Chỉ máy trong tailnet, được quy tắc cho phép | Truy cập từ xa cho vài thiết bị, VPS chạy Agent |
| Tailscale Serve trước Ollama | Máy trong tailnet, qua HTTPS | Cần thử trước, xem mục Serve bên dưới |
OLLAMA_HOST=0.0.0.0 | Mọi máy trong mạng nội bộ | Không cần cho mục đích truy cập từ xa |
| Tailscale Funnel | Cả Internet | Không dùng cho model: Ollama không có xác thực |
| Mở cổng trên modem | Cả Internet | Không làm |
Tài liệu Ollama chỉ có ví dụ 0.0.0.0:11434; đặt theo IP 100.x là cách ghép từ cú pháp chính thức, hãy thử trên máy thử trước.
Nguồn: Ollama FAQ – OLLAMA_HOST · Ollama – mô tả biến OLLAMA_HOST · Tailscale – Funnel
Chọn gói Tailscale đúng mục đích
- Personal (0 USD): thiết bị không giới hạn, tối đa 6 người dùng, tối đa 3 nhóm ACL, 50 tài nguyên gắn tag lúc đầu; chỉ cho mục đích phi thương mại. Tailscale ghi hiện chưa áp giới hạn cứng về nhóm và tag, sẽ áp trong vài tháng tới.
- Doanh nghiệp dùng cho việc kinh doanh: chọn gói trả phí phù hợp. Bảng giá tháng 10/2026: Standard 8 USD, Premium 18 USD mỗi người mỗi tháng.
- Khi tạo tailnet: đăng nhập bằng email miền công cộng (như Gmail) tự vào gói Personal; đăng nhập bằng tên miền riêng của công ty vào bản dùng thử Enterprise 14 ngày.
Nguồn: Tailscale – Bảng giá · Tailscale – Quickstart
Bước 1. Cài Tailscale trên máy AI và thiết bị ở xa
Máy Linux (máy chủ, VPS)
curl -fsSL https://tailscale.com/install.sh | sh # cài Tailscale (chỉ dùng địa chỉ chính thức)
sudo tailscale up # in ra đường link, mở link để đăng nhập
tailscale ip -4 # in địa chỉ IPv4 dạng 100.x.y.z của máy này
tailscale status # danh sách máy trong tailnet và trạng tháimacOS và Windows
- macOS 12.0 trở lên: tài liệu khuyên bản Standalone; cài xong làm theo hướng dẫn thêm cấu hình VPN rồi đăng nhập. Muốn có lệnh
tailscaletrong Terminal: Settings → CLI integration → Install Now (cần macOS 13+). - Windows 10 trở lên hoặc Windows Server 2016 trở lên: chạy tệp cài
.exe, chuột phải biểu tượng Tailscale ở khay hệ thống → Log in → đăng nhập trên trình duyệt. - Điện thoại: cài ứng dụng Tailscale, đăng nhập cùng tài khoản tailnet.
Ghi lại địa chỉ 100.x và tên của máy AI (lệnh tailscale ip -4, hoặc xem trang Machines trong trang quản trị). Muốn lấy IP của máy khác: tailscale ip <tên máy>.
Nguồn: Tailscale – Linux · Tailscale – macOS · Tailscale – Windows · Tailscale CLI
Bước 2. Cho Ollama nghe ở địa chỉ Tailscale
<IP 100.x của máy AI> bằng địa chỉ ở Bước 1.Linux (Ollama chạy bằng systemd)
sudo systemctl edit ollama.service
# thêm 2 dòng dưới đây vào tệp vừa mở, lưu lại:
# [Service]
# Environment="OLLAMA_HOST=<<IP 100.x của máy AI>>:11434"
sudo systemctl daemon-reload
sudo systemctl restart ollamamacOS
launchctl setenv OLLAMA_HOST "<IP 100.x của máy AI>:11434" # rồi thoát và mở lại app OllamaWindows
- Thoát Ollama: bấm biểu tượng trên thanh tác vụ → Quit.
- Mở Settings (Windows 11) hoặc Control Panel (Windows 10), tìm environment variables.
- Chọn Edit environment variables for your account.
- Tạo biến
OLLAMA_HOSTvới giá trị<IP 100.x>:11434, bấm OK. - Mở lại Ollama từ Start menu.
Sau bước này Ollama không còn nghe ở 127.0.0.1: phần mềm trên chính máy AI (Open WebUI, n8n…) cũng phải trỏ sang địa chỉ 100.x.
launchctl setenv còn giữ sau khi khởi động lại không. Hãy khởi động lại máy AI một lần rồi làm lại mục "Kiểm tra". IP 100.x đổi khi máy bị gỡ khỏi tailnet hoặc cài lại Tailscale: khi đó sửa lại OLLAMA_HOST.Nguồn: Ollama FAQ – đặt biến môi trường · Ollama – Windows · Tailscale – khi nào IP đổi
Bước 3. Gọi model từ thiết bị ở xa
Trên laptop hoặc VPS đã vào tailnet, thử gọi API. Ollama có endpoint tương thích OpenAI, khoá API là bắt buộc về cú pháp nhưng bị bỏ qua, nên điền chuỗi bất kỳ:
curl http://<IP 100.x hoặc tên MagicDNS>:11434/v1/models # liệt kê model, có JSON là thông
curl http://<IP 100.x hoặc tên MagicDNS>:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "<tên model đã tải>", "messages": [{"role": "user", "content": "Chào bạn"}]}'| Phần mềm gọi | Điền ở ô địa chỉ |
|---|---|
| Ứng dụng dùng chuẩn OpenAI, Hermes | http://<IP 100.x hoặc tên MagicDNS>:11434/v1 |
| OpenClaw, node Ollama của n8n, kết nối Ollama của Open WebUI | http://<IP 100.x hoặc tên MagicDNS>:11434 (không thêm /v1) |
Tên MagicDNS có dạng may-ai.ten-tailnet.ts.net hoặc gõ ngắn may-ai; dùng tên này để đỡ sửa khi IP đổi. Trên macOS, nslookup không phân giải tên MagicDNS nhưng ping thì được. Cấu hình từng công cụ:Dùng AI Local làm bộ não cho OpenClaw, Hermes, n8n, Ghép n8n với Ollama, Router lai bằng LiteLLM.
Nguồn: Ollama – OpenAI compatibility · Tailscale – MagicDNS
Bước 4. Giới hạn ai được gọi model
Tailnet mới dùng chính sách mặc định cho mọi thiết bị nói chuyện với nhau. Vì Ollama không có xác thực, nên khoanh lại: chỉ nhóm người cần dùng mới tới được cổng 11434 của máy AI. Tài liệu Tailscale khuyên dùng cú pháp grants. Mẫu dưới đây ghép từ cú pháp chính thức, hãy thử trên máy thử trước:
{
"groups": { "group:ai-users": ["<email người được dùng>"] },
"tagOwners": { "tag:ai-box": ["autogroup:admin"] },
"grants": [
{ "src": ["group:ai-users"], "dst": ["tag:ai-box"], "ip": ["tcp:11434"] }
]
}Gắn tag cho máy AI (máy chủ không gắn với một người cụ thể):
sudo tailscale up --advertise-tags=tag:ai-box --force-reauth--force-reauth qua SSH hay Remote Desktop khi không có đường vào dự phòng, vì có thể mất kết nối tới máy.Hết hạn khóa: mặc định 180 ngày, hết hạn thì máy mất kết nối. Máy gắn tag tự tắt hết hạn khóa; cách khác là Machines → Disable Key Expiry, nhưng tài liệu ghi việc này làm giảm an toàn.
Nguồn: Tailscale – mặc định cho phép tất cả · Tailscale – grants · Tailscale – ví dụ grants · Tailscale – tags · Tailscale – hết hạn khóa
Tailscale Serve và Funnel: dùng cái nào?
Serve chuyển kết nối từ máy khác trong tailnet tới một dịch vụ trên máy, có HTTPS, quy tắc truy cập vẫn áp dụng. Tài liệu có ví dụ cổng 3000; áp cho Ollama thì thay bằng 11434 (ghép từ cú pháp chính thức, hãy thử trên máy thử trước):
tailscale serve --bg 11434 # chỉ máy trong tailnet thấy, qua https://<máy>.<tailnet>.ts.net
tailscale serve status # xem đang chia sẻ gì
tailscale serve reset # tắt toàn bộ cấu hình Serve*.ts.net khi chuyển tiếp hay không. Nếu gặp 403, quay về cách IP 100.x ở Bước 2. Bật HTTPS sẽ ghi tên máy và tên tailnet lên sổ công khai Certificate Transparency, nên đừng đặt tên máy chứa thông tin nhạy cảm.Funnel đưa dịch vụ ra Internet công cộng, người không dùng Tailscale cũng vào được. Với model chạy bằng Ollama, không bật Funnel.
Nguồn: Tailscale – Serve · Tailscale – lệnh serve · Tailscale – chứng chỉ HTTPS · Tailscale – Funnel · Ollama – kiểm tra Host
Kiểm tra đã chạy đúng
-
tailscale statustrên thiết bị ở xa thấy máy AI, trạng tháiactivekèmdirecthoặcrelay. - Lệnh
curl …:11434/v1/modelsở Bước 3 trả về danh sách model. - Tắt Tailscale trên điện thoại rồi dùng 4G gọi cùng địa chỉ: không được là đúng, vì cổng không lộ ra Internet.
- Một thiết bị trong tailnet nhưng không thuộc nhóm được phép: bị chặn (nếu đã áp grants).
- Khởi động lại máy AI, gọi lại vẫn được.
-
tailscale serve statuskhông có mục nào bạn không chủ động tạo.
Nguồn: Tailscale CLI – status, ip, serve
Lỗi thường gặp
| Hiện tượng | Nguyên nhân thường gặp | Cách xử lý |
|---|---|---|
| Thiết bị ở xa báo không kết nối được | Ollama chưa khởi động lại sau khi đặt biến; biến đặt sai IP | Khởi động lại Ollama; so IP trong biến với tailscale ip -4 |
| Open WebUI, n8n trên chính máy AI mất model | Ollama không còn nghe ở 127.0.0.1 | Đổi địa chỉ trong phần mềm sang 100.x |
| Hôm qua chạy, hôm nay không | IP 100.x đổi sau khi cài lại; khóa hết hạn sau 180 ngày | Sửa OLLAMA_HOST; đăng nhập lại máy hoặc gắn tag |
| SSH vào máy AI bị chặn sau khi sửa chính sách | Tệp grants chỉ cho cổng 11434 | Thêm grant cho cổng SSH tới đúng nhóm |
Mac: nslookup may-ai không ra | macOS không phân giải MagicDNS bằng lệnh này | Thử ping, hoặc dùng IP |
| Gọi qua Serve báo 403 | Chưa xác định; có thể do Ollama kiểm tra tên miền | Dùng cách IP 100.x |
Nguồn: Tailscale – MagicDNS · Tailscale – hết hạn khóa
Cập nhật và gỡ cài đặt
- Cập nhật:
tailscale update; trên Linux bật tự cập nhật bằngtailscale set --auto-update(tailnet mới mặc định bật), hoặcsudo apt-get update && sudo apt-get install tailscale. Cập nhật cả Ollama: lỗi CVE-2026-7482 (điểm 9.1) đã vá từ bản 0.17.1, bản mới nhất ngày 16/10/2026 là v0.40.6. - Gỡ Tailscale: Windows: Settings → Apps → Tailscale → Uninstall; macOS: kéo ứng dụng vào Thùng rác; Linux:
sudo apt-get remove tailscale. Cài lại thì máy nhận IP mới. - Trả Ollama về mặc định: xoá biến
OLLAMA_HOSTđã đặt (Linux: xoá dòng trongsystemctl edit) rồi khởi động lại Ollama.
Nguồn: Tailscale – cập nhật · Tailscale – gỡ cài đặt · CVE-2026-7482 · Ollama – các bản phát hành
An toàn
- Không mở cổng 11434 trên modem, không bật Funnel cho model.
- Không dùng 0.0.0.0 chỉ để truy cập từ xa; IP 100.x hẹp hơn.
- Khoanh quyền bằng grants: trong tailnet ai được phép đều gọi được model, vì Ollama không có xác thực.
- Không gửi khóa đăng nhập Tailscale (auth key), mã bí mật qua chat hay dán vào prompt; chỉ nhập trên máy cần cài.
- Nhân viên nghỉ việc: gỡ người dùng và thiết bị của họ khỏi tailnet. Máy AI gắn tag nên không bị xoá theo người dùng.
- Dùng đúng gói: Personal chỉ cho phi thương mại; doanh nghiệp dùng gói trả phí phù hợp. Danh sách đầy đủ:Chi phí thật và bảo mật khi dùng AI Local.
Nguồn: Tailscale – tags · Tailscale – Bảng giá
Bắt đầu từ đâu?
- Hôm nay: cài Tailscale trên máy AI và một laptop, làm Bước 2–3 trên máy thử.
- Tuần này: khởi động lại máy AI, chạy lại mục Kiểm tra; áp grants cho đúng nhóm.
- Khi cả đội dùng: chọn gói trả phí, gắn tag máy AI, giao người phụ trách cập nhật.
Sau khi nối xong, hãy chọn model bằng bộ đề của chính doanh nghiệp:Bộ đề tự chấm model AI tiếng Việt.
Muốn được tư vấn hoặc cài đặt AI Local theo nhu cầu riêng, bạn có thể đăng ký Tư vấn 1-1 hoặc Coaching 1-1 cho doanh nghiệp; chi phí báo sau buổi tư vấn.
Đọc tiếp: Bộ đề chấm model tiếng Việt →
Câu hỏi thường gặp
Tailscale có miễn phí cho doanh nghiệp không?
Gói Personal 0 USD dành cho mục đích phi thương mại: tối đa 6 người dùng, thiết bị không giới hạn. Doanh nghiệp dùng cho việc kinh doanh nên chọn gói trả phí phù hợp; bảng giá tháng 10/2026 ghi Standard 8 USD và Premium 18 USD mỗi người mỗi tháng. Xem lại trang giá trước khi đăng ký vì điều kiện có thể đổi.
Đặt OLLAMA_HOST=0.0.0.0 cho nhanh có được không?
Không nên nếu mục đích chỉ là truy cập từ xa. 0.0.0.0 mở cổng 11434 cho mọi máy trong mạng nội bộ, trong khi API Ollama không có xác thực. Cho Ollama nghe theo IP Tailscale 100.x thì chỉ máy trong tailnet, và được quy tắc cho phép, mới tới được.
Có dùng Tailscale Funnel để gọi Ollama từ bất kỳ đâu được không?
Không. Funnel đưa dịch vụ ra Internet công cộng cho cả người không dùng Tailscale. Ollama không có xác thực nên ai biết địa chỉ cũng gọi được model của bạn. Hãy cài Tailscale trên thiết bị cần dùng thay vì bật Funnel.
Máy AI cài lại Tailscale thì có phải sửa gì không?
Có. Địa chỉ 100.x đổi khi máy bị gỡ khỏi tailnet, cài lại hoặc reset Tailscale. Khi đó đặt lại OLLAMA_HOST theo IP mới, khởi động lại Ollama, rồi kiểm tra lại từ thiết bị ở xa. Phía thiết bị gọi nên dùng tên MagicDNS cho ổn định.
Điện thoại có dùng được AI Local qua Tailscale không?
Được nếu điện thoại cài ứng dụng Tailscale, đăng nhập cùng tailnet và quy tắc truy cập cho phép. Cách tiện nhất là mở giao diện chat như Open WebUI trên trình duyệt điện thoại qua địa chỉ trong tailnet, không gọi API trực tiếp.
Tài liệu liên quan
- AI Local · AI AgentAI Local là gì? Chạy AI ngay trên máy tính, không tốn phí APIAI Local là gì: chạy model AI mở ngay trên máy tính của bạn, không trả phí API theo lượt, dữ liệu ở lại máy. Lợi ích, giới hạn, so sánh với AI đám mây.
- AI Local · AI AgentCài Ollama trên Windows có card NVIDIA từng bướcCài Ollama trên Windows có card NVIDIA: kiểm tra driver, cài đặt, dời thư mục model sang ổ khác, đặt biến môi trường, xác nhận chạy GPU, sửa lỗi, cập nhật, gỡ.
- AI Local · AI AgentCấu hình máy tính chạy AI Local: RAM, VRAM, Mac hay PC NVIDIACấu hình máy tính chạy AI Local: RAM, VRAM quyết định model nào chạy được, cách ước tính dung lượng theo Q4/Q8, Mac hay PC NVIDIA, ổ cứng, mua máy hay thuê GPU.
- AI Local · AI AgentCài AI Local trên Mac: Ollama và LM StudioCài AI Local trên Mac từng bước: xác định chip Apple hay Intel, cài Ollama và LM Studio, dời thư mục model, tắt tự chạy, kiểm tra, sửa lỗi, cập nhật, gỡ.
Xem tất cả tài liệu hướng dẫn →

Đăng ký Tư vấn 1-1 về AI Local
Chuyên gia Aduca cùng bạn xem nhu cầu, máy đang có và dữ liệu cần bảo vệ, rồi đề xuất nên chạy AI Local, dùng đám mây hay kết hợp. Dịch vụ cài AI Local nằm trong gói Tư vấn 1-1 hoặc Coaching 1-1; chi phí báo sau buổi tư vấn.
Nguồn tham khảo
- Tailscale Docs – Cài trên Linux
- Tailscale Docs – Cài trên macOS
- Tailscale Docs – Cài trên Windows
- Tailscale Docs – Lệnh tailscale
- Tailscale Docs – Địa chỉ IP và DNS
- Tailscale Docs – MagicDNS
- Tailscale Docs – Serve
- Tailscale Docs – Funnel
- Tailscale Docs – Ví dụ grants
- Tailscale Docs – Hết hạn khóa
- Tailscale – Bảng giá
- Ollama Docs – FAQ (OLLAMA_HOST)
- Ollama Docs – OpenAI compatibility
Lịch sử cập nhật
- 21/10/2026 — Bản đầu.
Miễn trừ trách nhiệm
Bài viết thuộc chuỗi kiến thức của Công ty Cổ phần Giáo dục Aduca, chia sẻ miễn phí cho mục đích học tập. Thông tin kỹ thuật đối chiếu với tài liệu chính thức của các dự án và nền tảng tại ngày cập nhật (có ghi nguồn); phần nhận định là quan điểm của Aduca. OpenClaw, Hermes Agent, Claude (thương hiệu của Anthropic), ChatGPT (thương hiệu của OpenAI), n8n (thương hiệu của n8n GmbH), các phần mềm chạy model và các model AI mở (Ollama, LM Studio, Qwen, Gemma, gpt-oss…), Obsidian, Notion, phương pháp Building a Second Brain (Tiago Forte) cùng các phần mềm, dịch vụ nêu trong bài thuộc về chủ sở hữu tương ứng, không thuộc Aduca; Aduca không phải đối tác chính thức của các công ty này. Tính năng, gói và giá có thể thay đổi bất cứ lúc nào – hãy kiểm tra trang chính thức trước khi mua. Kết quả áp dụng phụ thuộc quy trình, dữ liệu và con người của từng doanh nghiệp; bài viết không cam kết doanh thu hay hiệu quả cụ thể. © 2026 Aduca — được trích dẫn khi ghi rõ nguồn aduca.vn.