Tạo VPN Wireguard Server với giao diện Web

WireGuard ® là một VPN cực kỳ đơn giản nhưng nhanh chóng và hiện đại sử dụng mật mã hiện đại . Nó nhằm mục đích nhanh hơn , đơn giản hơn , gọn gàng hơn và hữu ích hơn IPsec, đồng thời tránh được những cơn đau đầu lớn. Nó dự định sẽ hoạt động hiệu quả hơn đáng kể so với OpenVPN. WireGuard được thiết kế như một VPN có mục đích chung để chạy trên các giao diện nhúng và các siêu máy tính, phù hợp với nhiều trường hợp khác nhau. Ban đầu được phát hành cho nhân Linux, giờ đây nó đã được đa nền tảng (Windows, macOS, BSD, iOS, Android) và có thể triển khai rộng rãi. Nó hiện đang được phát triển mạnh mẽ, nhưng nó có thể được coi là giải pháp VPN an toàn nhất, dễ sử dụng nhất và đơn giản nhất trong ngành.

huẩn bị

  • Máy chủ Linux (Ở đây mình sử dụng Ubuntu 20.04)
  • IP Public

Các bước Thiết lập máy chủ WireGuard VPN với giao diện

Bước 1: Cập nhật và cài đặt package

apt update && apt install -y wireguard curl tar
cd /etc/wireguard

Bước 2: Mở PORT Firewall

Ở đây các bạn hãy mở UDP PORT 51820, máy chủ Ubuntu mình sử dụng UFW nên sẽ sử dụng lệnh sau để mở.

ufw allow 51820/udp

Bước 3: Kích hoạt IP forwarding

Ở đây bạn cần chuyển tiếp IP đảm bảo rằng tất cả các packets từ giao diện WireGuard đều được chuyển tiếp. Bạn có thể mở file /etc/sysctl.conf lên và thêm vào hoặc sử dụng trực tiếp lệnh echo để thêm. Sau đó nhập sysctl -p để áp dụng.

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p

Bước 4: Tạo script WireGuard UI

Bước này bạn tạo script cho Systemd sử dụng để khởi động giao diện người dùng WureGuard và lưu trữ cơ sở dữ liệu trong thư mục /etc/wireguard/db/

Lưu ý: Vì vấn đề bảo mật dòng -bind-address bạn cần thay đổi bằng IP của máy chủ WureGuard

cat <<EOF > /etc/wireguard/start-wgui.sh
#!/bin/bash
cd /etc/wireguard
./wireguard-ui -bind-address 0.0.0.0:5000
EOF

Phân quyền script vừa tạo.

chmod +x start-wgui.sh

Bước 5: Cài đặt WireGuard UI

Ở đây mình sẽ mượn WireGuard UI tại đây để dùng cho bài hướng dẫn này.

cat <<EOF > /etc/systemd/system/wgui-web.service
[Unit]
Description=WireGuard UI
 
[Service]
Type=simple
ExecStart=/etc/wireguard/start-wgui.sh
 
[Install]
WantedBy=multi-user.target
EOF
  • Tải giao diện WireGuard UI

Bạn hãy copy các tập lệnh này và chạy. Hoặc tạo file mới và dán vào từ #!/bin/bash

cat <<EOF > /etc/wireguard/update.sh
#!/bin/bash
 
VER=\$(curl -sI https://github.com/ngoduykhanh/wireguard-ui/releases/latest | grep "location:" | cut -d "/" -f8 | tr -d '\r')
 
echo "downloading wireguard-ui \$VER"
curl -sL "https://github.com/ngoduykhanh/wireguard-ui/releases/download/\$VER/wireguard-ui-\$VER-linux-amd64.tar.gz" -o wireguard-ui-\$VER-linux-amd64.tar.gz
 
echo -n "extracting "; tar xvf wireguard-ui-\$VER-linux-amd64.tar.gz
 
echo "restarting wgui-web.service"
systemctl restart wgui-web.service
EOF

Bây giờ bạn có thể chạy tập lệnh trên để cập nhật giao diện WireGuard. Quá trình tải xuống sẽ mất ít phút.

chmod +x /etc/wireguard/update.sh
cd /etc/wireguard; ./update.sh

Bước 6: Tạo file cấu hình systemd WireGuard

  • Tạo file wgui.service
cat <<EOF > /etc/systemd/system/wgui.service
[Unit]
Description=Restart WireGuard
After=network.target
[Service]
Type=oneshot
ExecStart=/bin/systemctl restart wg-quick@wg0.service
[Install]
RequiredBy=wgui.path
EOF
  • Tạo file wgui.path
cat <<EOF > /etc/systemd/system/wgui.path
[Unit]
Description=Watch /etc/wireguard/wg0.conf for changes
[Path]
PathModified=/etc/wireguard/wg0.conf
[Install]
WantedBy=multi-user.target
EOF

Bước 7: Kích hoạt và chạy dịch vụ

touch /etc/wireguard/wg0.conf
systemctl enable wgui.{path,service} wg-quick@wg0.service wgui-web.service
systemctl start wgui.{path,service}

Bước 8: Mở WireGuard UI và cấu hình

Bây giờ bạn hãy truy cập trình duyệt bằng http://IP-Server:5000 vởi user và mật khẩu mặc định đều là admin/admin

Tại giao diện bạn hãy truy cập vào Global Settings và kiểm tra ở phần sau

  • Endpoint Address xem IP có đúng hay chưa.
  • DNS Server mặc định DNS của CloudFlare 1.1.1.1 bạn có thể thêm vào DNS của Google hoặc máy chủ DNS khác

Tiếp theo bạn truy cập vào Tab Wireguard Server và nhập vào các thông số sau

  • Post Up Script: để các máy khách VPN cũng có thể truy cập Internet
iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  • Post Down Script
iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
CleanShot 2022 05 23 at 22.45.43@2x

Bước 9: Tạo Wireguard Clients

Để tạo user VPN bạn tuỷ cập vào Wireguard Clients => New Client=> Nhập vào các thông tin và chọn Submit

Tiếp theo bạn chọn Apple Config để áp dụng cho User

Bước 10: 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.

Và để sử dụng bạn chỉ cần click vào

  • Activate: Kích hoạt sử dụng
  • Deactivate: Ngừng kích hoạt sử dụng

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
anh 61 1024x494 1

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

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.

Chúc bạn thực hiện thành công.

Đề xuất cho bạn

Về tác giả: Vương Công Minh

Nếu bạn đang cần Hosting Wordpress nhanh và mạnh. Tôi khuyến nghị bạn tham khảo Bnix.vn - Nhà cung cấp Hosting/VPS/Server Chuyên Nghiệp Hàng Đầu Việt Nam. Đây là nhà cung cấp đang cung cấp hạ tầng để vận hành ICare24H. Bạn có thể trực tiếp trải nghiệm tốc độ Hosting trên trang web Icare24H và đừng quên dùng mã giảm giá ICARE24H để được giảm giá lên đến 49% cho tất cả các dịch vụ nhé.

Trả lời

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 *