subspace 太难用,部署还麻烦,还不如用 shell 写一套脚本。
这个是简化版,去掉了 从地址池自动分配IP、iptables nat设置、允许访问内网IP段、生成客户端配置的二维码图片、把二维码和clients/xxx.conf给用户发邮件 等功能。
默认使用网段 172.16.0.0/24
,如果需要更多的客户端IP地址,可修改 init.sh
client.tpl
里的IP地址池及掩码。
为了方便手机客户端使用,把配置文件转二维码及图片。
Debian/Ubuntu
apt-get install qrencode
CentOS/RHEL
yum install qrencode
需要 root 权限
git clone https://github.com/oicu/wireguard-vpn-scripts-lite.git
cp wireguard-vpn-scripts-lite/* /etc/wireguard/
cd /etc/wireguard/
chmod u+x *.sh
./init.sh
vi client.tpl
修改
Endpoint = 你的服务器公网IP:监听端口
端口要和 server.tpl 里的 ListenPort 一致。
./restart.sh
从地址池自动分配IP地址,生成配置后,终端同时显示配置的二维码,便于手机的 WireGuard 客户端扫描。
Client1:
./addclient.sh myPC
Client2:
./addclient.sh myiPhone
cat clients/myiPhone.conf
如果你安装了qrencode
,也可以这样生成二维码,然后直接用手机的 WireGuard 客户端扫描:
qrencode -t ansiutf8 < clients/myiPhone.conf
这里为什么要带 .conf ?因为可以 tab 补全文件名。
./delclient.sh myiPhone.conf
or
./delclient.sh peers/myiPhone.conf
扩展一下 wg
命令,方便查看用户配置及对应的 IP 地址。
只显示配置名和IP地址:
./wg-users.sh
显示详细链接信息:
./wg-users.sh -v