Hướng dẫn cài đặt WireGuard VPN Server bằng Docker & WG-Easy — Kết nối HomeLab an toàn từ xa
WireGuard là giao thức VPN (Virtual Private Network) hiện đại, mã hóa mạnh mẽ và có tốc độ xử lý nhanh nhất hiện nay, vượt trội hoàn toàn so với OpenVPN hay IPsec truyền thống nhờ tích hợp trực tiếp vào Linux Kernel. Khi kết hợp WireGuard với WG-Easy (giao diện Web quản lý WireGuard tự động), bạn có thể dễ dàng quản lý các thiết bị kết nối, cấp quyền và quét mã QR Code để truy cập toàn bộ hệ thống HomeLab của mình mọi lúc, mọi nơi.

1. Tại sao WireGuard VPN lại xuất sắc nhất hiện nay?
- Hiệu năng & Tốc độ đỉnh cao: WireGuard tối ưu hóa luồng dữ liệu truyền tải với độ trễ (Latency) gần như bằng không và tận dụng tối đa băng thông kết nối.
- Mã hóa hiện đại & Bảo mật: Sử dụng các thuật toán mã hóa tiên tiến hàng đầu như ChaCha20, Poly1305, Curve25519 và BLAKE2s.
- Tiết kiệm Pin trên Điện thoại: Khác với OpenVPN phải duy trì kết nối liên tục làm tụt pin nhanh, WireGuard chỉ hoạt động khi có lưu lượng dữ liệu (Data packet) gửi đi.
- Giao diện WG-Easy thân thiện: Tạo và quản lý tài khoản người dùng chỉ bằng 1 click, tự động xuất mã QR Code cho điện thoại iOS/Android.

2. Yêu cầu chuẩn bị trước khi cài đặt
- Một máy chủ Linux (Ubuntu/Debian) đã cài sẵn Docker & Docker Compose.
- Một địa chỉ IP công cộng (Public IP) tĩnh hoặc tên miền động DDNS (như Cloudflare DDNS, DuckDNS, No-IP).
- Đã mở (Port Forward) cổng UDP
51820trên Modem/Router về địa chỉ IP nội bộ của máy chủ WireGuard.
3. Triển khai WireGuard + WG-Easy bằng Docker Compose
Tạo thư mục dự án trên máy chủ:
mkdir -p ~/homelab/wireguard && cd ~/homelab/wireguard
Tạo file docker-compose.yml:
version: "3.8"
services:
wg-easy:
environment:
# Thay đổi tên miền DDNS hoặc IP công cộng của bạn tại đây
- WG_HOST=yourdomain.com
# Mật khẩu đăng nhập giao diện Web WG-Easy
- PASSWORD=KeoQuySecurity2026
# Cổng UDP cho luồng WireGuard
- WG_PORT=51820
# Dải IP nội bộ dành cho các thiết bị VPN Client
- WG_DEFAULT_ADDRESS=10.8.0.x
# Server DNS giải mã tên miền cho VPN Client (ví dụ: AdGuard Home / Cloudflare)
- WG_DEFAULT_DNS=1.1.1.1
# Tự động kích hoạt IP Forwarding & NAT
- WG_ALLOWED_IPS=0.0.0.0/0
image: ghcr.io/wg-easy/wg-easy
container_name: wg_easy
volumes:
- /opt/wireguard/etc_wireguard:/etc/wireguard
ports:
- "51820:51820/udp"
- "51821:51821/tcp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv4.ip_forward=1
Khởi chạy WireGuard Server:
docker compose up -d

4. Hướng dẫn kết nối Thiết bị từ xa
- Truy cập giao diện quản trị Web tại địa chỉ:
http://your-server-ip:51821 - Nhập mật khẩu đã cấu hình (
PASSWORD). - Bấm "New Client", nhập tên thiết bị (ví dụ:
iPhone-Nam,Laptop-Work). - Đối với Điện thoại (iOS/Android): Mở app WireGuard, chọn dấu
+-> Scan from QR Code và quét trực tiếp mã QR trên màn hình WG-Easy. - Đối với Laptop/PC (Windows/macOS): Bấm nút Download Config trên WG-Easy để tải file
.conf, sau đó import vào ứng dụng WireGuard Client.
Giờ đây bạn đã có thể truy cập mượt mà và an toàn toàn bộ dịch vụ nội bộ HomeLab từ bất kỳ đâu trên thế giới!

