Cài đặt WireGuard UI bằng Docker Compose

Giới thiệu

Vừa rồi mình có triển khai ứng dụng VPN cho một công ty nhỏ để nhân viên kết nối vào VPN và truy cập vào hệ thống. Vì vậy mình quyết định việt lại hướng dẫn này, sẽ giúp bạn triển khai WireGuard UI trên máy chủ Linux bằng Docker Compose. WireGuard UI là một giao diện web thân thiện, cho phép bạn dễ dàng quản lý và cấu hình hệ thống VPN WireGuard của mình một cách hiệu quả.

Điều kiện

  • Máy chủ Linux (ưu tiên Ubuntu 22.04 / 24.04) network tương đối tốt một chút.
  • DockerDocker Compose đã được cài đặt
  • Địa chỉ IPv4 công cộng Để đảm bảo Docker Compose được cài đặt đúng, sử dụng lệnh:
CleanShot 2025 08 01 at 14.49.13

Cài đặt WireGuard UI bằng Docker Compose

Bước 1: Cập nhật máy chủ

Trước khi cài đặt, bạn hãy cập nhật máy chủ lên phiên bản mới nhé.

apt update && apt upgrade

Bước 2 – Thiết lập tệp .YML

Tệp .yml chứa tất cả thông tin cần thiết để tạo các container Docker cho WireGuard UI.

mkdir /opt/wg-ui
nano /opt/wg-ui/docker-compose.yml

Dán cấu hình sau vào tệp

services:
  wireguard:
    image: linuxserver/wireguard:v1.0.20210914-ls7
    container_name: wireguard
    cap_add:
      - NET_ADMIN
    volumes:
      - ./config:/config
    ports:
      - "5000:5000"
      - "51820:51820/udp"
    restart: unless-stopped

  wireguard-ui:
    image: ngoduykhanh/wireguard-ui:latest
    container_name: wireguard-ui
    depends_on:
      - wireguard
    cap_add:
      - NET_ADMIN
    # sử dụng mạng của dịch vụ 'wireguard'. điều này cho phép hiển thị các client đang hoạt động trên trang trạng thái
    network_mode: service:wireguard
    environment:
      - SENDGRID_API_KEY
      - EMAIL_FROM_ADDRESS
      - EMAIL_FROM_NAME
      - SESSION_SECRET
      - WGUI_USERNAME=admin
      - WGUI_PASSWORD=admin
      - WG_CONF_TEMPLATE
      - WGUI_MANAGE_START=true
      - WGUI_MANAGE_RESTART=true
    logging:
      driver: json-file
      options:
        max-size: 50m
    volumes:
      - ./db:/app/db
      - ./config:/etc/wireguard
    restart: unless-stopped

Thay đổi mật khẩu mặc định WGUI_PASSWORD thành một mật khẩu bảo mật hơn.

Bước 3 – Khởi động Container và truy cập giao diện GUI

Để khởi động container, nhập lệnh:

docker compose -f /opt/wg-ui/docker-compose.yml up -d

Kết quả đầu ra sẽ trông như sau:

CleanShot 2025 08 01 at 15.00.56

Sử dụng trình duyệt, truy cập: http://123.123.123.123:5000

Thay 123.123.123.123 bằng địa chỉ IP của máy chủ của bạn. Nếu thành công, bạn sẽ thấy trang đăng nhập WireGuard UI. Thông tin đăng nhập mặc định là:

  • Tên người dùng mặc định: admin
  • Mật khẩu mặc định: admin
CleanShot 2025 08 01 at 15.03.27

Hãy thay đổi mật khẩu ngay sau khi đăng nhập lần đầu nhé.

CleanShot 2025 08 01 at 15.29.08

Bước 4 – Cấu hình định tuyến

Trong phần “WireGuard Server“, nhập các đoạn script dưới đây và nhấn “Apply Config“.

  • Post Up Script
iptables -A FORWARD -i %1 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE
  • Post Down Script
iptables -D FORWARD -i %1 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth+ -j MASQUERADE
CleanShot 2025 08 01 at 15.30.26

Bước 5 – Tạo cấu hình Client mới

Bây giờ bạn hãy tạo 1 Client mới để kết nối.

  1. Wireguard Clients
  2. New Client
  3. Nhập vào tên user và email
  4. Submit
CleanShot 2025 08 01 at 15.35.03

Sau khi tạo xong bạn bấm vào tiếp Apply Config để áp dụng cấu hình. Bây giờ bạn có thể tải cấu hình Client xuống và kết nối vào thiết bị rồi nhé.

CleanShot 2025 08 01 at 15.35.37

Thiết lập sử dụng WireGuard

1. Thiết lập sử dụng WireGuard trên máy tính

Trước khi thiết lập thì bạn cần phải có ứng dụng WireGuard. Và bạn có thể tải WireGuard từ trang chủ của WireGuard về với các nền tảng hệ điều hành.

  • Download ứng dụng WireGuard trên Windows tại đây
  • Download ứng dụng WireGuard trên MacOS tại đây

Sau khi tải và cài đặt ứng dụng phần mền WireGuard trên máy client xong. bạn click vào dấu + sau đó chọn Import Tunnel(s) from File để thêm cấu hình.

anh 60

2. Thiết lập sử dụng WireGuard trên di động

WireGuard hỗ trợ cả trên các thiết bị di động. Để tải về bạn truy cập vào link tương ứng bên dưới nhé.

  • Download ứng dụng WireGuard trên AppStore tại đây
  • Download ứng dụng WireGuard trên CHplay tại đây
image

Sau đó bạn mở ứng dụng WireGuard trên di động và chọn vào dấu +. Sau đó bạn chọn các lựa chọn cấu hình như:

  • Create from QR code: Quét mã QR
  • Create from file or archive: Nhập file cấu hình
image 1

Sau khi kết nối hoàn tất. Bây giờ mình sẽ truy cập vào Internet để kiểm tra thử có hoạt động hay không. Và mình kiểm tra xem IP có chính xác hay không.

Tham khảo thêm trên blog Sysadmin Skills – Nơi chia sẻ kiến thức thực chiến cho quản trị hệ thống.

Tác giả: Mạnh Hoàng

Tôi là Hoàng Mạnh, người sáng lập blog SysadminSkills.com. Tôi viết về quản trị hệ thống, bảo mật máy chủ, DevOps và cách ứng dụng AI để tự động hóa công việc IT. Blog này là nơi tôi chia sẻ những gì đã học được từ thực tế – đơn giản, ngắn gọn và áp dụng được ngay.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *