wireguard-vpn with docker

wiregaurd-vpn服务端安装

使用docker-compose安装

创建一个wireguard的目录

1
sudo mkdir /opt/wireguard-server

docker-compose文件配置

网段,端口可以自行变更,peers是生产几个客户端配置文件

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
version: '3.7'
services:
wireguard:
image: linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Africa/Nairobi #set correct timezone
- SERVERPORT=51820 #optional
- PEERS=5 #optional
- PEERDNS=auto #optional
- ALLOWEDIPS=10.255.1.0/24,10.13.11.0 #Peer addresses allowed
- INTERNAL_SUBNET=10.13.11.0/24 #Subnet used in VPN tunnel
- SERVERURL=xxxx.synology.me #Wireguard VPN server address
volumes:
- /opt/wireguard-server/config:/config
- /usr/src:/usr/src # location of kernel headers
- /lib/modules:/lib/modules
ports:
- 51820:51820/udp
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
restart: always

client端配置

安装wireguard

1
sudo apt-get install wireguard

然后将配置文件copy到/etc/wireguard目录下,例如peer1.conf,我这里已经更名为wg0.conf

启动wiregaurd

1
sudo wg-quick up wg0

就能看见wg0端口起来了,为了方便可以更名为wg0,看起来比较方便,关闭就是sudo wg-quick down wg0

自动重连

如果外网地址会变,或者因为某种原因会断开,需要自动重连可以使用python的一个模块wireguard-reconnect

1
2
3
sudo pip3 install wireguard-reconnect
#检测ip和检测间隔
sudo nohup wireguard-reconnect -i wg0 -g 10.255.1.1 -p 60 &

wireguard-vpn with docker
http://example.com/2023/03/17/wireguard-vpn-with-docker/
作者
WangQiang
发布于
2023年3月17日
许可协议