WireGuard là một giải pháp VPN mã nguồn mở mới nhất, miễn phí và đang được xem VPN là nhanh nhất, an toàn nhất và dễ sử dụng nhất.
Với thiết kế đơn giản và tối ưu hóa hiệu suất, WireGuard cung cấp tốc độ truyền dữ liệu cao hơn và độ trễ thấp hơn so với các giải pháp VPN truyền thống khác. Ngoài ra, Wireguard cũng được xây dựng với các tính bảo mật cao, bao gồm mã hóa đường truyền, chứng thực và quản lý khóa độc lập.
Hiện tại, WireGuard đã hỗ trợ hấu hết các hệ điều hành phổ biến như Linux, macOS, Windows, Android và iOS.
Với những ưu điểm này, WireGuard đang trở thành một giải pháp VPN phổ biến trong cộng đồng người dùng Internet.
wg-easy là giải pháp nguồn mở với mục tiêu cung cấp giao diện trực quan hỗ trợ người quản trị nhanh chóng tạo ra các client.
Chuẩn bị
EC2 – Server VPN WireGuard
- OS: Ubuntu 20.04
- Cấu hình: t3.micro – 2 CPU / 1 GB RAM / 8 GB Disk
- IP: 54.254.248.50 (IP Public – ens3)
Và thực hiển trỏ domain với bản ghi A
- Trỏ bản ghi A – domain wg101.devopsviet.com tới IP Server 54.254.248.50
Tại máy tính của bạn, cài đặt Client VPN (ở bài lab mình sử dụng Windows 10), thực hiện download client tại
Phần 1: Cài đặt Docker và Docker Compose
Cài đặt Docker
sudo su
apt -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
apt -y install docker-ce
Cài đặt Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
Kiểm tra
systemctl status docker
docker-compose --version
Kết quả
Phần 2: Cài đặt Wireguard Easy với Docker Compose
Bước 1: Cấu hình Docker Compose
Tạo thư mục
mkdir -p /root/vpn-wireguard
cd /root/vpn-wireguard
Tạo File Docker-compose
vi /docker-compose.yml
Nội dung
version: "3.8"
services:
wg-easy:
environment:
- WG_HOST=wg101.devopsviet.com
- PASSWORD=Demo@2023
image: weejewel/wg-easy
container_name: wg-easy
hostname: wg-easy
volumes:
- ~/.wg-easy:/etc/wireguard
ports:
- "51820:51820/udp"
restart: unless-stopped
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.ip_forward=1
- net.ipv4.conf.all.src_valid_mark=1
nginx:
image: weejewel/nginx-with-certbot
container_name: nginx
hostname: nginx
volumes:
- ~/.nginx/servers/:/etc/nginx/servers/
- ./.nginx/letsencrypt/:/etc/letsencrypt/
ports:
- "80:80/tcp"
- "443:443/tcp"
restart: unless-stopped
Bước 2: Cấu hình HTTPS cho giao diện
Tạo thư mục
mkdir -p ~/.nginx/servers
Nội dung
vi ~/.nginx/servers/wg-easy.conf:
server {
server_name wg101.devopsviet.com;
location / {
proxy_pass http://wg-easy:51821/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
}
Bước 3: Khởi tạo VPN Server
cd /root/vpn-wireguard
docker-compose up -d
Kết quả
Bước 4: Cấu hình chứng chỉ
Thực hiện
docker exec -it nginx /bin/sh
certbot --nginx --non-interactive --agree-tos -m [email protected] -d wg101.devopsviet.com
nginx -s reload
exit
Kiểm tra
- Truy cập website: https://wg101.devopsviet.com/
Kết quả
Nhập mật khẩu: Demo@2023
Phần 3: Tạo và kết nối Server VPN Wireguard
Bước 1: Tạo client
- Chọn New Client
- Nhập Tên: democlient
- Chọn Create
Bước 2: Tải Client và kết nối VPN
- Chọn Download và save client tại thư mục chỉ định
- Thực hiện Import vào Wireguard Client (Windows)
- Chọn Active
Kết quả
Bước 3: Kiểm tra kết nối VPN
Truy cập Google và search what is my ip
- Đã kết nối VPN thành công, hiện tại máy tính của bạn đã đi qua Server Wireguard VPN để kết nối internet
Tới đây mình đã hoàn thành hướng dẫn, chúc các bạn thành công.
Nguồn
WireGuard: fast, modern, secure VPN tunnel
GitHub – wg-easy/wg-easy: The easiest way to run WireGuard VPN + Web-based Admin UI.
Leave a Reply