Linux 一键安装 WireGuard

简介

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

Pasted-image-20251111162459.png

安装

一键安装 WireGuard + Web UI

bash <(wget -qO- https://github.502211.xyz/https://raw.githubusercontent.com/oldxianyu/mylinuxtasks/main/wg_ui_manage.sh)

为了避免一键安装出问题 , 下面是手动安装的步骤

环境介绍

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

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

3、使用systemd管理服务。

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

安装WireGuard 和 下载 WireGuard-UI

ufw disable  
# 关闭防火墙  
apt install wireguard wget tree -y  
# 安装WG本体  
cd /opt  
mkdir wireguard-ui  
wget https://github.com/ngoduykhanh/wireguard-ui/releases/download/v0.5.2/wireguard-ui-v0.5.2-linux-amd64.tar.gz  
# 从Github下载,或通过sftp上传。(建议下载最新)  
tar -zxvf wireguard-ui-v*.tar.gz -C ./wireguard-ui/  
# 解压到指定文件夹  
tree /opt  
/opt  
├── wireguard-ui  
│   └── wireguard-ui  
└── wireguard-ui-v0.5.2-linux-amd64.tar.gz  
# 查看当前目录结构应该如上。

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

编写配置文件

vim /opt/wireguard-ui/.env

BIND_ADDRESS=0.0.0.0:5000  
# 配置绑定IP和端口,默认为5000  
EMAIL_FROM_ADDRESS=admin@qq.com  
# 邮件发送人地址  
EMAIL_FROM_NAME=admin  
# 邮件人名字  
SMTP_HOSTNAME=smtp.exmail.qq.com  
# SMTP服务器域名或IP  
SMTP_PORT=465  
# SMTP服务器端口  
SMTP_USERNAME=admin@qq.com  
# 邮箱登录账号  
SMTP_PASSWORD=Ps1234  
# 邮箱登录密码  
SMTP_AUTH_TYPE=LOGIN  
# 登录方式  
SMTP_ENCRYPTION=SSL  
# 加密方式,一般为SSL  
#WGUI_FAVICON_FILE_PATH=/tmp/1.ico  
# 配置Web界面网站图标,可不配置

配置启动文件

vim /etc/systemd/system/wireguard-ui.service

[Unit]  
Description=WireGuard UI Daemon  
Wants=network-online.target  
After=network-online.target  
[Service]  
User=root  
Group=root  
Type=simple  
WorkingDirectory=/opt/wireguard-ui  
EnvironmentFile=/opt/wireguard-ui/.env  
ExecStart=/opt/wireguard-ui/wireguard-ui  
[Install]  
WantedBy=multi-user.target

配置开机启动

systemctl daemon-reload  
systemctl start wireguard-ui.service  
systemctl enable wireguard-ui.service  
systemctl status wireguard-ui.service  
# 重新加载UI服务文件、启动、配置开机、查看状态  
systemctl restart wg-quick@wg0.service  
systemctl enable wg-quick@wg0.service  
# 配置wg0 接口的wg服务开机启动。

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

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

如下,创建两个服务文件

vim /etc/systemd/system/wgui.service


[Unit]  
Description=Restart WireGuard  
After=network.target  
[Service]  
Type=oneshot  
ExecStart=/usr/bin/systemctl reload wg-quick@wg0.service 
User=root 
[Install]  
RequiredBy=wgui.path  

vim /etc/systemd/system/wgui.path

[Unit]  
Description=Watch /etc/wireguard/wg0.conf for changes  
[Path]  
PathModified=/etc/wireguard/wg0.conf  
[Install]  
WantedBy=multi-user.target

配置为开机启动

sudo systemctl daemon-reload 
sudo systemctl enable wgui.service 
sudo systemctl start wgui.service 
sudo systemctl status wgui.service -l

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

Web访问

浏览器打开

http://192.168.1.1:5000 (路由器IP:5000) 默认账号密码:admin

Pasted-image-20251111163156.png

修改管理员默认密码

Pasted-image-20251111163240.png

全局配置

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

WG服务器配置

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

客户端配置增加

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

f62e10b5d36e7f7393246.png

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

a05c47ccbc110cf175c2d.png

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

d63645b958f00c0c6bcc9.png

查看客户端状态

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

42a44e034ac46738210c2.png

配置路由转发

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

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

vim /etc/sysctl.conf  
net.ipv4.ip_forward=1  
# 配置服务器支持路由转发
sysctl -p  
# 配置生效

策略路由示例

ip route add default via 192.168.182.2 table 150  
ip route show table 150  
# 创建路由表,并配置默认路由  
ip rule add from 10.252.1.0/24 table 150  
ip rule show  
# 将WG客户端流量,指向指定的路由表。

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

配置UI Https访问

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

WireGuard 管理命令

wg  wg show  
# 查看当前状态  
wg show conf wg0  
# 查看当前配置

WG内核无法加载

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

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇