1、配置公网ip端口

服务器防火墙打开如下端口

1
2
TCP: 51821
DUP: 52820

2、docker安装启动

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
docker run -d \
--name=wg-easy \
-e WG_HOST=服务器的公网IP\
-e PASSWORD=服务登录密码 \
-e WG_DEFAULT_ADDRESS=10.0.8.x (默认IP地址)\
-e WG_DEFAULT_DNS=114.114.114.114 (默认DNS)\
-e WG_ALLOWED_IPS=10.0.8.0/24 (允许连接的IP段)\
-e WG_PERSISTENT_KEEPALIVE=25 (重连间隔)\
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
weejewel/wg-easy

3、启动配置

1、下载客户端

客户端下载地址:https://www.wireguard.com/install/
可根据使用情况下载
wireguard下载地址

2、访问配置

输入公网ip+tcp端口即可访问配置
wireguard
然后直接下载conf文件导入客户端连接即可
conf配置图
连接成功本地可ping通即正常
wireguard_ping

4、无法正常运行的坑

1、如果查看docker运行状态是Restarting (1) 17 seconds ago,然后查看日志是如下异常:

Error: WireGuard exited with the error: Cannot find device “wg0”
This usually means that your host’s kernel does not support WireGuard!

输入uname -r查看centos的内核版本
centos内核版本
如果版本是3起的,则需要升级内核。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 启用 ELRepo 仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
yum --enablerepo=elrepo-kernel install kernel-ml

vi /etc/default/grub
修改GRUB_DEFAULT=0

# 重新创建内核配置
grub2-mkconfig -o /boot/grub2/grub.cfg

# 重启服务器
reboot

# 重启完成后打开公网ip:51821端口访问即可
# 密码就是docker启动时配置的password