使用Docker安装Wireguard与客户端使用,带你轻松回家

文章目录
本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主QQ:446199062

WireGuard是由Jason A. Donenfeld开发的开放源代码VPN程序及协议,已集成到Linux内核中,WireGuard旨在获得比IPsec和OpenVPN更好的性能。家庭或者企业使用比较合适,但不适合FQ。今天来聊一聊如何使用Docker轻松安装Wireguard

Docker安装Wireguard

手动安装WireGuard还停麻烦的,这里我们选择使用Docker安装Wireguard,请先确保您已经安装好了Docker,然后执行下面的命令:

docker run -d \
  --name=wireguard \
  --cap-add=NET_ADMIN \
  --cap-add=SYS_MODULE \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -e SERVERURL=xxx.com `#optional` \
  -e SERVERPORT=51820 `#optional` \
  -e PEERS=1 `#optional` \
  -e PEERDNS=auto `#optional` \
  -e INTERNAL_SUBNET=10.13.13.0 `#optional` \
  -e ALLOWEDIPS=0.0.0.0/0 `#optional` \
  -p 51820:51820/udp \
  -v /apps/wireguard/config:/config \
  -v /apps/wireguard/modules:/lib/modules \
  --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
  --restart unless-stopped \
  linuxserver/wireguard

大概解释下上面的参数:

  • PUID/PGID指用户ID和组ID,Linux终端下可以通过命令id获得,然后改成自己的ID
  • SERVERURL指的是公网访问地址,可以填写公网IP或者公网域名,如果填错了也没关系,后面可以手动修改
  • SERVERPORT服务监听用的端口,一般不用修改
  • /apps/wireguard/config/apps/wireguard/modules改成你自己本机的挂载目录

客户端使用

安卓客户端:

直接在Google商店搜索“Wireguard”安卓,或访问下面的2个地址(可能需要自备梯子)

  • Google商店:https://play.google.com/store/apps/details?id=com.wireguard.android
  • F-Droid:https://f-droid.org/en/packages/com.wireguard.android/

安装完毕后,找到你的Docker挂载目录下的/apps/wireguard/config/peer1/peer1.png这个图片文件,然后用安卓客户端扫描就可以了导入配置了。

其它客户端

Wireguard客户端是全平台支持的,Windows/macOS等客户端安装请参考官方文档:https://www.wireguard.com/install/

安装其它客户端后,我们可以将安卓客户端的配置导出(是一个压缩包),然后打开其它客户端导入压缩包即可把配置导入。

注意事项

Wireguard一个服务端(容器)只能同时一个客户端使用,如果你有多个客户端需要同时连接,则需要创建多个Docker容器。

如果连接报错,注意看客户端和服务端日志。

个人实践

  1. 家里面通过路由器科学上网
  2. 通过Docker容器安装Wireguard
  3. DDNS + 公网IP映射
  4. 手机客户端(安卓)连接Wireguard,轻松访问家庭网络,同时安卓也具备了科学上网能力

总结

Wireguard使用的UDP协议,性能虽然很好,但是也容易被运营商限速,另外Wireguard的协议是很容易被识别的,因此不适合用来FQ,不过可以用来当作家庭VPN使用。

Wireguard镜像地址:https://hub.docker.com/r/linuxserver/wireguardWireguard官网:https://www.wireguard.com/

全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论