简介

WireGuard 是一种通信协议和免费开源软件,可实现加密的三层隧道协议 ,其设计目标是易用性、高速性能和低攻击面。 它旨在获得比 IPsec 和 OpenVPN 这两种常见的隧道协议更好的性能和更强大的功能。其报文承载在UDP。

2020 年 5 月,该软件的 Linux 版本达到了稳定的生产版本,并被合并到 Linux 5.6 内核中,并在一些 Linux 发行版中向后移植到早期的 Linux 内核。

它最初是为 Linux 内核发布的,现在是跨平台(Windows、macOS、BSD、iOS、Android)并且可以广泛部署。

WireGuard-UI则是用来管理WireGuard配置文件的 Web 可视化管理开源项目,可以方便的生成配置,通过邮件、二维码分发。

项目地址:https://github.com/ngoduykhanh/wireguard-ui

 

功能

  • 易用的Web用户界面
  • 访问认证
  • 管理记录额外的客户端信息(姓名、电子邮件等)
  • 使用二维码/文件/电子邮件分发客户端配置

Web UI

安装

环境介绍

1、使用二进制文件进行安装。

2、系统使用Ubuntu 22.04+ (也适用于Debian 11+)

3、使用systemd管理服务。

4、注意关闭防火墙或开放对应端口。

安装WireGuard 和 下载 WireGuard-UI


BASH

配置UI开机启动和参数配置

编写配置文件


ROUTEROS

配置启动文件


ABNF

配置开机启动


NSIS

设置配置文件修改,自动重新加载生效。

WireGuard-UI 只负责配置信息生成。可以使用 systemd 来监视更改并重新加载配置,使新客户端配置自动生效。

如下,创建两个服务文件


ROUTEROS

配置为开机启动


NSIS

访问、管理、添加客户端配置

Web访问

浏览器打开

http://192.168.1.1:5000 默认账号密码:admin

修改管理员默认密码

全局配置

  • 如客户端访问目标地址或域名
  • 客户端的DNS服务器
  • 接口MTU配置(建议1420,甚至1400)
  • 握手保活间隔
  • 防火墙标记
  • 路由表 Table
  • 配置文件路径(默认即可)

WG服务器配置

  • 配置客户端分配IP地址范围
  • 配置服务器端端口
  • 配置启动shell脚本
  • 配置关闭shell脚本
  • 重新生成私钥

客户端配置增加

创建客户端,填入名字和邮箱地址。

提交后,选择应用保存配置。

可以下载配置文件,生成配置文件二维码,通过邮件发送配置文件和二维码图片等

查看客户端状态

绿色为已连接的客户端,可以查看对接公网IP,传输流量等信息。

配置路由转发

wireguard-ui 和wireguard 只管把WG客户端接入到Linux服务器上,并不管流量怎么在服务器上转发。

所以需要自己配置路由转发和NAT等


ROUTEROS

策略路由示例


SHELL

PS:配置开机启动,可以写为shell脚本,作为wg0 接口的UP 启动脚本即可。

配置UI Https访问

可使用Caddy 自动配置证书,加密其访问。

WireGuard 管理命令


SHELL

WG内核无法加载

可能是UEFI开启了安全启动。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。