Cài đặt và quản lý WireGuard VPN Server tiện lợi với giao diện Web UI

1. Cài đặt Docker & Docker-Compose

wg-easy hoạt động trên nền Docker nên yêu cầu server phải cài đặt sẵn Docker và Docker-Compose.

2. Chuẩn bị

Truy cập SSH vào Linux và chạy lệnh sau

mkdir ~/.wg-easy
cd ~/.wg-easy
wget https://raw.githubusercontent.com/WeeJeWel/wg-easy/master/docker-compose.yml
nano docker-compose.yml

Code language: Nginx (nginx)

Bạn cần đổi thông số WG_HOST=raspberrypi.local thành địa chỉ Dynamic DNS của bạn.

Ngoài ra, bạn nên thiết lập thêm mật khẩu cho Web UI ở mục PASWORD=foobar123 để tính độ bảo mật. Nếu bạn không thay đổi, bất kỳ ai cũng có thể truy cập vào Web UI để chỉnh sửa client.

Ví dụ nội dung file docker-compose.yml của mình sẽ giống như dưới đây

version: "3.8"
services:
  wg-easy:
    environment:
      # ⚠️ Required:
      # Change this to your host's public address
      - WG_HOST=wgeasy.thuanbui.me

      # Optional:
      - PASSWORD=thuanbuidepchaivodichvutru
      # - WG_PORT=51820
      # - WG_DEFAULT_ADDRESS=10.8.0.x
      # - WG_DEFAULT_DNS=1.1.1.1
      # - WG_MTU=1420
      # - WG_ALLOWED_IPS=192.168.15.0/24, 10.0.1.0/24
      # - WG_PERSISTENT_KEEPALIVE=25
      # - WG_PRE_UP=echo "Pre Up" > /etc/wireguard/pre-up.txt
      # - WG_POST_UP=echo "Post Up" > /etc/wireguard/post-up.txt
      # - WG_PRE_DOWN=echo "Pre Down" > /etc/wireguard/pre-down.txt
      # - WG_POST_DOWN=echo "Post Down" > /etc/wireguard/post-down.txt
      
    image: ghcr.io/wg-easy/wg-easy:13
    container_name: wg-easy
    volumes:
      - .:/etc/wireguard
    ports:
      - "51820:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1Code language: YAML (yaml)

3. Kích hoạt WireGuard

Kích hoạt WireGuard bằng lệnh

docker compose up -dCode language: Nginx (nginx)

Bạn truy cập vào Web UI theo địa chỉ http://<Server-IP>:51821 để tạo WireGuard client. Đăng nhập bằng mật khẩu bạn đã thiết lập trong file docker-compose.yml

4. Tạo WireGuard Client

Giao diện Web UI quản lý WireGuard cực kỳ thân thiện và dễ sử dụng.

  • Bấm New để tạo client.
  • Bấm vào biểu tượng QR để xem QR code dùng để thiết lập WireGuard client trên điện thoại.
  • Bấm vào biểu tượng Download để tải file cấu hình, dùng để thiết lập WireGuard client trên máy tính.
  • Bấm biểu tượng Thùng Rác để xoá client.
wg-easy Web UI(thuanbui)