VPN2026-05-18·10 phút đọc

Hướng dẫn cài WireGuard VPN trên mọi thiết bị 2026

Cài WireGuard VPN server trên VPS Ubuntu 24.04, sau đó kết nối từ iOS, Android, macOS, Windows, Linux, router. Tốc độ nhanh gấp 3 lần OpenVPN, throughput đạt 850Mbps trên 1Gbps NIC.

TL;DR

WireGuard là chuẩn VPN modern thay thế OpenVPN/IPsec. Kernel module, 4000 dòng code (vs OpenVPN 100K dòng), latency thấp hơn 40%, throughput cao hơn 3×. Setup server 10 phút trên VPS, client config bằng QR code. Hỗ trợ tất cả OS đã có app native chính chủ.

WireGuard là gì và vì sao nhanh hơn OpenVPN

WireGuard (do Jason Donenfeld phát triển, merge vào Linux kernel 5.6 từ 2020) là giao thức VPN sử dụng các thuật toán mật mã hiện đại: ChaCha20 cho symmetric encryption, Poly1305 cho authentication, Curve25519 cho key exchange, BLAKE2s cho hashing. So với OpenVPN (AES-256-GCM + RSA-2048 + SHA-256):

Tiêu chíWireGuardOpenVPN UDPIPsec/IKEv2
Codebase~4.000 dòng~100.000 dòng~400.000 dòng
Throughput (1Gbps NIC)850 Mbps280 Mbps620 Mbps
Latency overhead+0.4ms+1.2ms+0.8ms
Handshake time~50ms~600ms~300ms
Roaming (chuyển mạng)Liền mạchReconnectReconnect
CPU usage @ 100Mbps4%22%14%

Vì code nhỏ và kernel-space, WireGuard ít bug bảo mật hơn. Cisco Talos audit 2023 không tìm được CVE nào critical. So với OpenVPN có 14 CVE high-severity trong 5 năm.

Bước 1: Setup WireGuard server trên VPS

Cần 1 VPS có IP public - bạn có thể dùng Cloud VPS Việt Nam nếu mục đích là chia sẻ mạng nội bộ, hoặc VPS US nếu muốn bypass geo-block.

Cài WireGuard trên Ubuntu 24.04

# SSH vào VPS
ssh [email protected]

apt update && apt install -y wireguard wireguard-tools qrencode iptables

# Bật IPv4 forwarding
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

# Tạo key server
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub

# Server config
cat > /etc/wireguard/wg0.conf < 

Mở port 51820/UDP trên firewall

ufw allow 22/tcp
ufw allow 51820/udp
ufw --force enable

Bước 2: Tạo client config

Script tự động tạo client + xuất QR code:

cat > /usr/local/bin/wg-add-client <<'EOF'
#!/bin/bash
NAME=$1
[ -z "$NAME" ] && { echo "Usage: wg-add-client NAME"; exit 1; }
cd /etc/wireguard
umask 077

# Lấy IP tiếp theo
LAST=$(grep -E '10.7.0.[0-9]+' wg0.conf | awk -F. '{print $4}' | sort -n | tail -1)
LAST=${LAST:-1}
IP="10.7.0.$((LAST+1))"

wg genkey | tee ${NAME}.key | wg pubkey > ${NAME}.pub
PSK=$(wg genpsk)
echo $PSK > ${NAME}.psk

SERVER_PUB=$(cat server.pub)
ENDPOINT=$(curl -s ifconfig.me):51820

cat > ${NAME}.conf < > wg0.conf < 

Bước 3: Cài client trên từng nền tảng

iOS / iPadOS

  1. Cài app WireGuard từ App Store (chính chủ, free).
  2. Mở app → "+" → Create from QR code.
  3. Scan QR hiển thị từ terminal server.
  4. Bật toggle, iOS sẽ xin permission install VPN profile.
  5. Test: vào ifconfig.me trên Safari, IP phải đổi sang IP server.

Android

  1. Cài app WireGuard từ Play Store (org.wireguard.android).
  2. "+" → Scan from QR code.
  3. Bật toggle. Android cho phép "Allow this app to make VPN connections".
  4. Lưu ý: nếu dùng MIUI/HarmonyOS, tắt battery optimization cho WireGuard để không bị kill background.

macOS

brew install wireguard-tools
# Hoặc cài WireGuard.app từ Mac App Store

# CLI mode
sudo wg-quick up ~/Downloads/macbook.conf
sudo wg-quick down ~/Downloads/macbook.conf

# GUI mode: kéo file .conf vào WireGuard.app, toggle "On"

Windows 10/11

  1. Tải installer tại wireguard.com/install (MSI).
  2. Mở WireGuard app → Import tunnel from file → chọn .conf.
  3. Click Activate. Windows tự thêm route 0.0.0.0/0 và DNS.
  4. Lưu ý Windows Defender Firewall sẽ hỏi quyền cho lần đầu.

Linux (Ubuntu, Fedora, Arch)

# Ubuntu/Debian
sudo apt install wireguard-tools resolvconf
sudo cp client.conf /etc/wireguard/wg0.conf
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0   # auto-start

# Test
ping 10.7.0.1
curl ifconfig.me

Router (OpenWrt / Asus Merlin / Mikrotik)

Cài WireGuard trên router để toàn bộ thiết bị trong nhà đi qua VPN - gồm Smart TV, IoT, console. Phù hợp xem Netflix US trên TV (xem stream Netflix US 2026).

# OpenWrt
opkg update && opkg install wireguard-tools luci-app-wireguard
# Cấu hình qua LuCI: Network → Interfaces → Add → WireGuard

# Asus Merlin
# SSH router, kéo client.conf lên /jffs/wireguard/, dùng wgm CLI tool

Tinh chỉnh hiệu năng

MTU optimization

MTU mặc định 1420 phù hợp đa số trường hợp. Nếu chạy qua PPPoE FPT/VNPT (MTU 1492) cần giảm xuống 1380. Test bằng:

ping -M do -s 1352 8.8.8.8   # với MTU 1380, ping size = MTU - 28
# Nếu thấy "Packet needs to be fragmented", giảm thêm 10 đến khi pass

Multi-thread với multiple cores

WireGuard kernel mặc định single-thread per tunnel. Để tận dụng nhiều core trên VPS:

# Bật RPS (Receive Packet Steering)
echo f > /sys/class/net/wg0/queues/rx-0/rps_cpus
ethtool -L eth0 combined 4   # nếu NIC hỗ trợ multi-queue

BBR congestion control

# BBR tăng throughput 30-50% trên kết nối quốc tế
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

Split tunneling - chỉ định traffic nào đi VPN

Ví dụ: chỉ định traffic đến Netflix (199.232.0.0/16) đi VPN, còn lại đi trực tiếp:

# Trên client config
[Peer]
PublicKey = ...
AllowedIPs = 199.232.0.0/16, 23.246.0.0/16, 38.72.126.0/24

Hoặc ngược lại - exclude IP nội bộ Việt Nam khỏi VPN để truy cập web .vn nhanh hơn:

AllowedIPs = 0.0.0.0/1, 128.0.0.0/3, 160.0.0.0/5, ...

Bảo mật nâng cao

1. Preshared Key (PSK)

Script trên đã tự gen PSK cho mỗi client. PSK thêm 1 lớp symmetric trên top của Curve25519 - chống được tấn công nếu trong tương lai quantum computing crack được elliptic curve.

2. Rotate key 90 ngày

# Cron mỗi 3 tháng
0 0 1 */3 * /usr/local/bin/wg-rotate-keys

3. Fail2ban cho SSH

WireGuard không có endpoint để brute force (silent on UDP nếu sai key), nhưng SSH thì có. Cài fail2ban để bảo vệ port 22.

4. Audit log connections

# Log mỗi handshake
journalctl -u wg-quick@wg0 -f
# Hoặc dùng wg-dashboard / wg-easy cho UI

Use case phổ biến

Khuyến nghị TND: nếu chỉ cần bảo mật + privacy cá nhân, gói VPN TND managed 149K/tháng là đủ, không cần tự dựng. Nếu cần custom routing, multi-client, kết hợp business use case thì dựng WireGuard trên VPS US 89K hoặc Cloud VPS VN 149K sẽ linh hoạt hơn.

Troubleshooting thường gặp

FAQ

Q: WireGuard có log traffic không?

Bản thân WireGuard chỉ log handshake (peer connect/disconnect). Không log payload hay URL. Nếu muốn "no log policy" thật sự, chính bạn host server và xoá journalctl định kỳ.

Q: Có thể chạy WireGuard trên port 443 để bypass DPI không?

Native WireGuard chỉ UDP. Để wrap qua TCP/443, dùng udp2raw hoặc wstunnel. Tuy nhiên ở Việt Nam port 51820/UDP không bị block, không cần obfuscate.

Q: Bao nhiêu client cùng lúc trên 1 server?

Không giới hạn về phần mềm - đã có deployment 10.000+ client trên 1 box. Bottleneck là RAM (mỗi peer ~2KB) và bandwidth. VPS 4GB RAM dư cho ~50 client gia đình.

Triển khai WireGuard ngay

VPN dedicated IP US + setup WireGuard sẵn từ 149.000đ/tháng. Hoặc tự dựng trên VPS US 89K. Hỗ trợ 24/7.

Xem dịch vụ VPN →

Cần tư vấn license + hạ tầng tại TND?

TND nhà cung cấp Microsoft, Adobe, Kaspersky chính hãng / AutoDesk / VMware / TeamViewer / JetBrains tại Việt Nam - license genuine 100%, kích hoạt online từ nhà sản xuất. Hoá đơn VAT điện tử Thông tư 78 đầy đủ cho doanh nghiệp.

💬 Tư vấn miễn phí qua Facebook →

2009
15+ năm vận hành liên tục
10+
tập đoàn lớn tin dùng
100+
doanh nghiệp SMB Việt
30 ngày
đổi key lỗi miễn phí
Phần mềm bản quyền chính hãng chúng tôi cung cấp
Bản quyền chính hãng Hóa đơn VAT đầy đủ Đổi key lỗi 30 ngày Vận hành từ 2009 MST 0200994870 Hotline 0225.999.6666