Cập nhật lần cuối:
Hướng Dẫn Chi Tiết: Cách Cài Đặt VPN WireGuard trên VPS
WireGuard hiện là một trong những giao thức VPN nhanh, hiện đại và bảo mật nhất hiện nay. So với OpenVPN hay IPsec, WireGuard có mã nguồn gọn nhẹ hơn rất nhiều, giúp tối ưu tốc độ kết nối và tiết kiệm tài nguyên trên VPS.
Nếu bạn đang tìm cách tự thiết lập một hệ thống VPN riêng tư để truy cập an toàn hoặc phục vụ công việc, bài viết hướng dẫn chi tiết từng bước cài đặt WireGuard trên VPS dưới đây sẽ là cẩm nang hoàn hảo dành cho bạn.

I. Chuẩn Bị Trước Khi Cài Đặt
Trước khi bắt đầu thao tác trên dòng lệnh, hãy chuẩn bị sẵn sàng các yếu tố sau:
-
Một máy chủ ảo (VPS): Chạy hệ điều hành Linux (khuyến nghị Ubuntu 22.04 / 24.04 hoặc Debian 12).
-
Quyền truy cập: Tài khoản
roothoặc tài khoản có quyềnsudo. -
Công cụ: Phần mềm kết nối SSH (như PuTTY trên Windows hoặc Terminal trên macOS/Linux).
II. Các Bước Cài Đặt WireGuard Trên VPS
Bước 1: Kết nối VPS và Cập nhật hệ thống
Đầu tiên, hãy đăng nhập vào VPS của bạn qua SSH:
Bash
ssh root@<IP_VPS_CUA_BAN>
Sau khi đăng nhập thành công, hãy cập nhật lại danh sách gói tin và nâng cấp hệ thống để đảm bảo tính ổn định:
Bash
sudo apt update && sudo apt upgrade -y
Bước 2: Cài đặt WireGuard
Cài đặt WireGuard trực tiếp từ kho lưu trữ mặc định của Ubuntu/Debian bằng lệnh:
Bash
sudo apt install wireguard iptables -y
Bước 3: Tạo cặp khóa bảo mật (Public & Private Keys)
WireGuard hoạt động dựa trên cơ chế mã hóa khóa công khai. Chuyển đến thư mục cấu hình của WireGuard và tạo khóa:
Bash
cd /etc/wireguard
umask 077
wg genkey | tee privatekey | wg pubkey > publickey
Bạn có thể xem nội dung của khóa bằng lệnh
cat privatekey hoặc cat publickey khi cần cấu hình cho máy khách (client).Bước 4: Cấu hình mạng cho WireGuard trên VPS
Tạo file cấu hình chính cho máy chủ (
wg0.conf):Bash
nano /etc/wireguard/wg0.conf
Dán nội dung sau vào file (Nhớ thay thế
eth0 bằng tên card mạng thực tế trên VPS của bạn – kiểm tra bằng lệnh ip route | grep default):Ini, TOML
[Interface]
Address = 10.0.0.1/24
SaveConfig = true
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = <DAN_PRIVATE_KEY_CUA_MAY_CHU_VAO_DAY>
Lưu ý: Thay
<DAN_PRIVATE_KEY_CUA_MAY_CHU_VAO_DAY> bằng nội dung trong file privatekey bạn đã tạo ở Bước 3.Lưu và thoát (
Ctrl + O, sau đó Enter, rồi Ctrl + X).Bước 5: Cấu hình hệ thống cho phép định tuyến (IP Forwarding)
Mở file cấu hình sysctl để bật tính năng chuyển tiếp gói tin:
Bash
nano /etc/sysctl.conf
Tìm và bỏ dấu
# ở dòng sau:Plaintext
net.ipv4.ip_forward=1
Áp dụng thay đổi ngay lập tức:
Bash
sudo sysctl -p
Bước 6: Khởi động và kích hoạt WireGuard cùng hệ thống
Khởi chạy dịch vụ WireGuard và đặt chế độ tự khởi động khi VPS khởi động lại:
Bash
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
Kiểm tra trạng thái hoạt động:
Bash
sudo systemctl status wg-quick@wg0
III. Thêm Thiết Bị Client (Máy Khách) Kết Nối
Để kết nối điện thoại hoặc máy tính của bạn vào VPN VPS, bạn cần khai báo client trên server.
Thêm đoạn cấu hình sau vào cuối file
/etc/wireguard/wg0.conf trên VPS:Ini, TOML
[Peer]
PublicKey = <PUBLIC_KEY_CUA_CLIENT>
AllowedIPs = 10.0.0.2/32
Trên thiết bị client (Cài ứng dụng WireGuard chính thức), bạn tạo cấu hình tương ứng với địa chỉ IP
10.0.0.2 và trỏ về Endpoint là IP của VPS kèm cổng 51820.IV. Tổng Kết
Việc tự triển khai WireGuard trên VPS không chỉ giúp bạn làm chủ hoàn toàn dữ liệu mạng cá nhân mà còn đem lại tốc độ vượt trội so với các dịch vụ VPN thương mại thông thường. Chúc bạn thực hiện thành công!
