Xin chào! Cảm ơn bạn
đã ghé thăm Blog của tôi.
Xin chào! Cảm ơn bạn
đã ghé thăm Blog của tôi.
Trong bài viết hôm nay mình chia sẻ các bạn cách tạo máy chủ VPN riêng của bạn với WireGuard chạy trên Docker.
WireGuard là giải pháp VPN miễn phí, mã nguồn mở được phát triển nhằm thay thế giải pháp IPSec. WireGuard được phát triển như là module của Kernel với mục tiêu kế thừa các tính năng sẵn có của Kernel Linux, từ đó tối ưu hiệu năng giải pháp. Hiện nay giải pháp WireGuard đang dần trở nên phổ biến. Và đặc biệt hơn, WireGuard đã chính thức được phát hành cùng Kernel version 5.6 vào tháng 3 năm 2020, tức tất cả phiên bản, distro Linux sử dụng Kernel từ verion 5.6 trở đi sẽ có sẵn giải pháp WireGuard.
WireGuard sử dụng các giao thức mã hóa và các thuật toán để bảo vệ dữ liệu. Ban đầu, WireGuard được phát triển dành cho Linux. Hiện nay, nó đã phổ biến trên Windows, macOS, BSD, iOS và Android.
Đầu tiên, các bạn tạo một thư mục /opt/wireguard-server và file docker-compose.yaml mới trong thư mục này.
mkdir /opt/wireguard-server
vim /opt/wireguard-server/docker-compose.yaml
Sau đó hãy thêm nội dung dưới đây vào file
version: "2.1"
services:
wireguard:
image: linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1001
- PGID=1002
- TZ=Aisa/Ho_Chi_Minh
- SERVERURL=IP_SERVER #optional
- SERVERPORT=51820 #optional
- PEERS=4 #optional # Bạn điền số lượng client cần kết nối
- PEERDNS=auto #optional
- INTERNAL_SUBNET=10.10.100.0 #optional
volumes:
- /opt/wireguard-server/config:/config
- /lib/modules:/lib/modules
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: unless-stopped
Trong đó, bạn cần thay thế nội dung sau:
Chúng ta khởi động bằng command sau:
cd /opt/wireguard-server
docker-compose up -d

Nếu bạn cần điều chỉnh lại số lượng config cho client, bạn chỉ cần điều chỉnh lại thông số Peer trong file docker-compose.yaml tại đường dẫn: /opt/wireguard-server

Điều chỉnh xong, bạn cần restart lại container với command sau:
docker-compose up -d --force-recreate
Để config Wireguard đến client trên PC, đầu tiên các bạn hãy Download App Wireguard: Tại đây
Sau khi đã cài đặt App thành công, bây giờ chúng ta sẽ đi lấy cấu hình của Client trên Server. Trước đó mình đã thiết lập để tạo ra 4 peer tương ứng với 4 client, để xem các peer đã tạo bạn di chuyển đến đường dẫn:
cd /opt/wireguard-server/config/
Tại đây bạn sẽ thấy các peer được tạo ra, mỗi một peer sẽ tương ứng với 1 client.

Bây giờ mình sẽ kết nối với với peer1 (client1), thì các bạn thực hiện mở file cấu hình như sau:
vim /opt/wireguard-server/config/peer1/peer1.conf

Bây giờ hãy mở App Wireguard trên PC và chọn Add Tunnel như hình.

Dán nội dung File cấu hình đã copy trước đó vào

Tiếp đó hãy Active lên

Với Mobile thì chúng ta thực hiện dễ dàng hơn, bạn chỉ cần dùng lệnh bên dưới để in ra mã QR code rồi thực hiện scan qua App Wireguard trên Mobile. Ví dụ mình sẽ làm cho Peer2 (Client2), thì sử dụng command sau:
docker exec -it wireguard /app/show-peer 2 #### Bạn thay 2 bằng số Peer mình mình muốn.
Và kết quả mã QR code sẽ được in ra như hình.

Bây giờ bạn chỉ cần mở App trên Mobile và scan QR code này là được.



Sau khi đã kết nối thành công vào thiết bị Client, bây giờ hãy kiểm tra kết nối mạng xem VPN có ra được mạng không nhé. Và như hình là mình đã ra mạng thành công.


Chúc các bạn thực hiện
Chào mọi người, mình là Kiên – hiện đang công tác tại Phòng Kỹ thuật AZDIGI. Trong quá trình làm việc mình có cơ hội được tiếp xúc với khá nhiều các vấn đề liên quan đến Website/Hosting/VPS/Server, do đó mình viết lại các hướng dẫn này nhằm chia sẻ kiến thức, cũng như tạo một môi trường để chúng ta giao lưu và học hỏi lẫn nhau.
2026 - Website được phát truyền nội dung bởi Đàm Trung Kiên
Hãy để lại thông tin của bạn. Đội ngũ chuyên gia của chúng tôi sẽ trực tiếp phân tích nhu cầu và tư vấn giải pháp công nghệ phù hợp, tối ưu hiệu quả cho công việc của bạn hoàn toàn miễn phí.
Tìm kiếm bài viết...