前言
Wireguard 有两种模式,一直是内核态,一种是用户态。可以通过 modprobe wireguard 检查内核是否支持 Wireguard。如果该命令成功退出并且没有打印错误,则内核模块可用。如果 wireguard 内核模块不可用,可以切换到像 boringtun 这样的用户态实现。
这里以内核态为例。
准备工作
- 安装 Wireguard
1 2 3 4 5 6
sudo yum install elrepo-release epel-release -y sudo yum update -y sudo yum install kmod-wireguard wireguard-tools -y sudo yum copr enable jdoss/wireguard sudo yum update -v sudo yum install wireguard-dkms -y
- 启用 Wireguard 内核模块
1
sudo modprobe wireguard
- 自动加载
iptable_raw
1 2
sudo modprobe iptable_raw sudo echo "iptable_raw" | sudo tee /etc/modules-load.d/iptable_raw.conf
Docker Compose 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
version: "3"
services:
wireguard:
image: linuxserver/wireguard:latest
container_name: wireguard
environment:
- TZ=Asia/Shangai
- SERVERURL=vpn.example.com
- SERVERPORT=51820
- PEERDNS=auto
- ALLOWEDIPS=192.168.6.0/24
- PERSISTENTKEEPALIVE_PEERS=25
- LOG_CONFS=true
cap_add:
- NET_ADMIN
- SYS_MODULE
volumes:
- ./config:/config
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
ports:
- "5000:5000"
- "51820:51820/udp"
wireguard-ui:
image: ngoduykhanh/wireguard-ui:latest
container_name: wireguard-ui
depends_on:
- wireguard
cap_add:
- NET_ADMIN
network_mode: service:wireguard
environment:
- SENDGRID_API_KEYc
- EMAIL_FROM_ADDRESS
- EMAIL_FROM_NAME
- SESSION_SECRET
- WGUI_USERNAME=admin
- WGUI_PASSWORD=password
- 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
|
需要修改的参数 SERVERURL,WGUI_USERNAME,WGUI_PASSWORD
启动并配置
通过 docker compose up -d 启动,然后通过 http://localhost:5000 访问 Web UI 界面。
服务端设置

客户端设置

连接状态

---EOF---
https://www.88531.cn/?p=37335
创作不易,用心坚持,请喝一怀爱心咖啡!继续坚持创作~~
