Trả lời nhanh: Ba thứ này không cùng loại. OpenVPN và WireGuard là giao thức bạn tự dựng và tự quản khóa; Tailscale là sản phẩm dựng sẵn trên WireGuard, lo hộ phần khóa và kết nối. Chọn nhanh: cần nhanh và gọn thì WireGuard; cần vượt mạng khắt khe hay tương thích thiết bị cũ thì OpenVPN; cần cắm là chạy cho nhiều thiết bị thì Tailscale.
Nhu cầu dựng VPN riêng đến từ những chuyện rất đời thường: muốn có IP cố định để vào hệ thống công ty, muốn nối máy ở nhà với máy ở văn phòng, hoặc muốn dùng Wi-Fi công cộng mà không phập phồng. Ba cái tên luôn được nhắc tới lại thuộc hai tầng khác nhau, và chính chỗ đó khiến người mới chọn sai. Bài này đặt đúng từng thứ vào chỗ của nó, kèm khuyến nghị theo từng tình huống cụ thể.
Phân tầng cho đúng trước khi so sánh
Đây là chỗ gây nhầm lẫn nhiều nhất. OpenVPN và WireGuard nằm ở tầng giao thức: bạn dựng máy chủ trên VPS, tự sinh khóa hoặc chứng chỉ, tự phân phối cấu hình cho từng thiết bị, tự mở cổng và duy trì. Toàn quyền, và toàn bộ trách nhiệm.
Tailscale nằm ở tầng sản phẩm: nó dùng chính WireGuard để mã hóa, nhưng bọc thêm một máy chủ điều phối lo việc trao đổi khóa, tìm đường đi giữa các thiết bị và xuyên qua NAT. Bạn cài ứng dụng, đăng nhập, xong, không sinh khóa, không mở cổng.
Vậy so sánh đúng cách là: WireGuard tự dựng đọ với Tailscale ở khía cạnh công sức và quyền kiểm soát, còn OpenVPN đọ với WireGuard ở khía cạnh giao thức. Cụm bài Tailscale trên blog bắt đầu từ Tailscale là gì đã đi sâu nhánh sản phẩm; bài này bổ sung nhánh còn lại.
WireGuard: nhanh, gọn, nên là mặc định khi tự dựng
Vì sao nhanh: WireGuard chạy ngay trong nhân Linux, dùng bộ thuật toán mã hóa hiện đại cố định thay vì cho phép chọn hàng chục tổ hợp như OpenVPN. Mã nguồn chỉ vài nghìn dòng, so với hàng trăm nghìn dòng của OpenVPN, nên vừa dễ soát lỗi vừa ít tốn tài nguyên. Trên cùng một VPS, thông lượng WireGuard thường cao hơn rõ rệt và độ trễ thấp hơn, khác biệt cảm nhận được khi bạn kéo file lớn hay dùng máy tính từ xa.
Cấu hình ngắn tới mức đáng ngạc nhiên, một file cho máy chủ, một file cho mỗi thiết bị, mỗi file chừng chục dòng gồm khóa riêng, khóa công khai của phía bên kia, dải IP và cổng. Muốn nhanh hơn nữa, dùng công cụ có giao diện như wg-easy chạy bằng Docker: thêm thiết bị là bấm nút, nó sinh mã QR cho điện thoại quét.
Điểm yếu: WireGuard dùng UDP và không cải trang, nên ở những mạng chặn gắt (một số Wi-Fi doanh nghiệp, mạng khách sạn khóa chặt) có thể không kết nối được. Ngoài ra bạn phải tự quản khóa: thiết bị mới thì tự thêm, thiết bị mất thì tự xóa, với năm bảy thiết bị thì nhẹ nhàng, với cả công ty thì thành việc.
OpenVPN: chậm hơn nhưng luồn lách giỏi nhất
OpenVPN ra đời sớm hơn nhiều và mang di sản của thời đó: nặng hơn, nhiều tùy chọn hơn, chạy ở tầng ứng dụng nên tốn CPU hơn. Nhưng chính sự cồng kềnh ấy cho nó một lợi thế mà WireGuard không có: chạy được trên TCP cổng 443 với lớp mã hóa TLS, khiến lưu lượng trông gần giống một kết nối HTTPS thông thường. Ở những nơi mà mọi thứ không phải web đều bị chặn, đây thường là phương án duy nhất còn kết nối được.
Ưu thế thứ hai là tương thích rộng: thiết bị mạng cũ, router doanh nghiệp, hệ thống kế thừa, rất nhiều nơi chỉ hỗ trợ OpenVPN. Và hệ sinh thái quản lý người dùng của nó trưởng thành hơn: chứng chỉ theo từng người, thu hồi từng cái, tích hợp với hệ thống xác thực tập trung.
Dựng nhanh: các kịch bản cài đặt tự động phổ biến trên GitHub dựng xong máy chủ OpenVPN trong vài phút và sinh file cấu hình cho từng thiết bị. Đừng dựng tay từ đầu trừ khi bạn cần cấu hình đặc thù, phần sinh chứng chỉ rất dễ sai và sai thì khó nhận ra.
Tailscale và Headscale: khi bạn không muốn quản khóa
Với đa số cá nhân và đội nhỏ, câu hỏi thật không phải "giao thức nào tốt hơn" mà là "tôi có muốn làm người quản khóa không". Nếu câu trả lời là không, Tailscale thắng tuyệt đối: cài ứng dụng lên VPS, laptop, điện thoại, đăng nhập cùng một tài khoản là các thiết bị thấy nhau qua địa chỉ riêng, không mở cổng nào trên router, không sinh khóa, chạy được cả khi nhà bạn dùng mạng chia sẻ kiểu CGNAT như đã phân tích ở bài CGNAT. Muốn dùng VPS làm cổng ra internet với IP cố định thì bật exit node theo bài exit node.
Cái giá: bạn phụ thuộc một dịch vụ bên ngoài cho khâu điều phối (dữ liệu vẫn mã hóa đầu cuối và đi thẳng giữa các thiết bị, nhưng danh sách thiết bị và việc cấp quyền nằm ở họ), và bản miễn phí giới hạn số thiết bị cùng số người dùng. Nếu điều đó không chấp nhận được, có đường ở giữa rất đẹp: Headscale, bản tự host của máy chủ điều phối, giữ nguyên trải nghiệm Tailscale nhưng mọi thứ nằm trên VPS của bạn, hướng dẫn ở bài Headscale. So sánh với các mạng mesh khác thì xem bài Tailscale vs ZeroTier vs NetBird.
Bảng chọn theo tình huống thật
| Bạn cần gì | Chọn |
|---|---|
| Nối laptop, điện thoại, VPS lại thành một mạng, ít công sức | Tailscale |
| Toàn quyền kiểm soát, ít thiết bị, muốn nhanh nhất | WireGuard tự dựng |
| Mạng nơi bạn dùng chặn gắt, chỉ cho HTTPS đi qua | OpenVPN trên TCP 443 |
| Thiết bị cũ, router doanh nghiệp chỉ hỗ trợ chuẩn cũ | OpenVPN |
| Muốn trải nghiệm Tailscale nhưng dữ liệu điều phối phải của mình | Headscale tự host |
| Cả công ty dùng, cần quản người ra vào và phân quyền | Tailscale bản trả phí hoặc OpenVPN có xác thực tập trung |
Điểm chung của mọi phương án: đều cần một máy chủ luôn bật có IP công cộng làm điểm hẹn hoặc cổng ra. Đó là lý do một VPS nhỏ đặt trong nước thường là mảnh ghép còn thiếu, nó rẻ hơn nhiều so với công sức bạn bỏ ra để lách các giới hạn của mạng gia đình.
Chọn theo đúng việc bạn cần làm
| Tình huống | Nên chọn | Vì sao |
|---|---|---|
| Nối vài máy của bạn với nhau, không muốn quản khóa | Mạng riêng dạng dịch vụ | Dựng trong mười phút, không phải mở cổng |
| Cho nhân viên truy cập mạng công ty từ xa | Giao thức hiện đại tự dựng | Nhanh, cấu hình gọn, chạy tốt trên di động |
| Mạng công ty hoặc mạng công cộng chặn nhiều cổng | Giao thức đời cũ chạy trên cổng web | Luồn qua được nơi khác bị chặn |
| Cần truy cập máy chủ không mở cổng nào | Mạng riêng dạng dịch vụ | Không phải mở cổng nào ra internet |
| Yêu cầu mọi thứ chạy trên hạ tầng của bạn | Giao thức hiện đại, hoặc bản tự host của dịch vụ | Không phụ thuộc bên thứ ba |
Lời khuyên thực dụng: với phần lớn nhu cầu của doanh nghiệp vừa và nhỏ, mạng riêng dạng dịch vụ là lựa chọn đúng vì nó không đòi mở cổng nào ra internet, và đó là ưu điểm lớn nhất về mặt an toàn.
Kiểm sau khi dựng
# 1. Ket noi da len chuawg show # voi giao thuc hien daitailscale status # voi mang rieng dang dich vu # 2. Co that su di qua duong ham khongcurl -s ifconfig.me # dia chi phai la cua may chu, khong phai cua ban # 3. Ro ri DNS: kiem tra van de bi bo qua nhieu nhat# Truy van DNS phai di qua duong ham, khong di ra ngoai truc tiep # 4. Cong nao dang mo ra internet tren may chuss -ltnp | grep -v 127.0.0.1ufw status verbose # 5. Ai dang ket noi vaowg show all latest-handshakesBa việc bảo mật bắt buộc
- Mỗi người một khóa riêng, không dùng chung một cấu hình cho cả đội. Dùng chung thì thu hồi quyền của một người là phải đổi cho tất cả.
- Đưa việc thu hồi khóa vào quy trình nghỉ việc. Đây là lỗ hổng phổ biến nhất: nhân viên nghỉ nhiều tháng mà vẫn vào được mạng nội bộ.
- Ghi lại ai có khóa nào và cấp ngày nào. Không có sổ này thì sau một năm không ai biết các khóa đang hoạt động thuộc về ai.
Điều cần nói rõ về mục đích sử dụng
Bài này nói về mạng riêng để truy cập hạ tầng và máy chủ của chính bạn từ xa, và để nhân viên vào được mạng nội bộ công ty. Đó là mục đích kỹ thuật và hoàn toàn hợp lệ. Việc dùng mạng riêng cho các mục đích khác nằm ngoài phạm vi bài viết.
Câu hỏi thường gặp
Tự dựng VPN trên VPS có nhanh hơn dịch vụ VPN thương mại không?
Thường nhanh hơn ở chỗ máy chủ chỉ phục vụ mình bạn nên không bị chia băng thông với hàng nghìn người khác, và bạn chọn được vị trí đặt máy. Đổi lại bạn có duy nhất một địa chỉ IP, không dùng được để đổi vùng liên tục như dịch vụ thương mại.
VPS cấu hình bao nhiêu là đủ để chạy VPN?
Rất nhẹ, gói nhỏ nhất 1 vCPU và 1-2GB RAM đủ cho vài thiết bị với WireGuard. Yếu tố quyết định trải nghiệm là băng thông và chất lượng đường truyền của nhà cung cấp chứ không phải CPU hay RAM.
Dùng VPN riêng có ẩn danh trên internet không?
Không. VPN riêng chỉ chuyển điểm ra internet của bạn về máy chủ và mã hóa đoạn đường ở giữa, nhưng toàn bộ lưu lượng vẫn gắn với một IP mà bạn là chủ sở hữu duy nhất, và nhật ký nằm trên máy bạn. Nó bảo vệ bạn ở Wi-Fi công cộng, không phải công cụ ẩn danh.
WireGuard và Tailscale chạy song song trên cùng VPS được không?
Được vì chúng dùng cổng và giao diện mạng khác nhau, nhiều người vẫn giữ WireGuard sẵn làm đường dự phòng khi cần. Chỉ cần chú ý tránh trùng dải địa chỉ nội bộ và kiểm tra bảng định tuyến sau khi cấu hình.
