Skip to main content

Tạo VPN server với WireGuard trên Docker

Chuẩn bị

  • Ubuntu 20.04 LTS
  • Docker

Cài đặt docker và docker-compose

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo usermod -aG docker $USER
newgrp docker

Tạo một docker-compose file

Đầu tiê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
version: "2.1"
services:
 wireguard:
  image: linuxserver/wireguard
  container_name: wireguard
  cap_add:
   - NET_ADMIN
   - SYS_MODULE
  environment:
   - PUID=1000
   - PGID=1000
   - TZ=Aisa/Ho_Chi_Minh
   - SERVERURL=wireguard.domain.com #optional
   - SERVERPORT=51820 #optional
   - PEERS=1 #optional
   - 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

Thiết lập WireGuard Server

Chúng ta khởi động bằng command sau:

cd /opt/wireguard-server
docker-compose up -d

Phân phối tạo các file config đến client

Tất cả file config được lưu trữ tại /opt/wireguard-server/config. Chúng ta cần copy file peer1/peer1.conf cho client và đổi tên thành wg0.conf để kết nối với server. Nếu muốn kết nối với QR code chúng ta dùng command sau để in command lên terminal.

docker exec -it wireguard /app/show-peer <peer-number>

Thêm nhiều config cho client

Trong file docker-compose ta điều chỉnh lại thông số  PEERS=2 và restart lại container

docker-compose up -d --force-recreate

Mời cà phê

Nếu cảm thấy blog mang đến những thông tin hữu ích cho công việc, cuộc sống, đam mê của bạn, đừng ngại ủng hộ một ly cà phê để mình có thêm động lực chia sẻ thêm nhiều kinh nghiệm, kiến thức nhé.

Bạn có thể ủng hộ mình qua:

Ví MoMo

image.png

Ví MoMo

Paypal

Hỗ trợ qua Paypal

Cám ơn mọi người!