前言
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---
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END