WireGuard-UI web界面管理配置 的详细步骤
创建安装目录并下载最新版(2025年5月最新为 v0.6.2)
- 下载二进制文件
sudo mkdir -p /opt/wireguard-ui
cd /opt/wireguard-ui
sudo wget https://github.com/ngoduykhanh/wireguard-ui/releases/download/v0.6.2/wireguard-ui-v0.6.2-linux-amd64.tar.gz
sudo tar -xzf wireguard-ui-v0.6.2-linux-amd64.tar.gz
sudo rm wireguard-ui-*.tar.gz
2. 创建配置文件
编辑 /opt/wireguard-ui/config.ini:
vi /opt/wireguard-ui/config.ini
复制
[wireguard]
conf = /etc/wireguard/wg0.conf # WireGuard主配置文件路径
[webui]
listen = :5000 # 监听端口
username = admin # 默认登录账号
password = admin # 首次登录后需修改
3. 设置权限
bash
复制#
sudo chmod 755 /opt/wireguard-ui/wireguard-ui
sudo chmod 644 /etc/wireguard/wg0.conf # 确保WireGuard-UI可读取配置
4. 配置Systemd服务
创建 /etc/systemd/system/wireguard-ui.service:
vi /etc/systemd/system/wireguard-ui.service
复制
[Unit]
Description=WireGuard-UI Web Interface
After=network.target
[Service]
ExecStart=/opt/wireguard-ui/wireguard-ui
WorkingDirectory=/opt/wireguard-ui
Restart=always
User=root
[Install]
WantedBy=multi-user.target
启动服务:
bash
复制#
sudo systemctl daemon-reload
sudo systemctl enable --now wireguard-ui
5. 自动重载WireGuard配置
创建监听服务以自动应用配置变更:
监听配置文件变化
sudo tee /etc/systemd/system/wgui.path <<EOF
[Unit]
Description=Watch WireGuard Config Changes
[Path]
PathModified=/etc/wireguard/wg0.conf
[Install]
WantedBy=multi-user.target
EOF
重载服务
sudo tee /etc/systemd/system/wgui.service <<EOF
[Unit]
Description=Reload WireGuard
[Service]
Type=oneshot
ExecStart=/usr/bin/wg-quick down wg0 && /usr/bin/wg-quick up wg0
EOF
启用服务
sudo systemctl enable --now wgui.{path,service}
6. 访问与管理
登录Web界面:
浏览器访问 http://:5000,使用默认账号 admin/admin 登录后立即修改密码。效果图
常见问题:
- IP地址冲突
问题:客户端和服务端的Address均设置为192.168.1.10/24,这会导致IP冲突。WireGuard网络中每个设备需有唯一IP。
建议:修改客户端的Address为192.168.1.11/32(与服务端AllowedIPs匹配)
。 - 客户端AllowedIPs范围过大
问题:客户端的AllowedIPs = 0.0.0.0/0, ::/0会将所有流量路由到WireGuard,可能引发非预期行为(如完全覆盖本地网络)。
建议:若仅需访问服务端局域网,改为192.168.1.0/24;若需全局代理,需确认服务端支持并配置NAT(当前服务端已配置MASQUERADE)
。 - 服务端Peer配置缺失
问题:服务端的[Peer]未指定Endpoint,导致无法主动连接客户端。WireGuard需至少一端有公网IP或端口转发。
建议:若客户端有公网IP或固定Endpoint,应在服务端[Peer]中添加Endpoint = 客户端公网IP:端口;否则需依赖客户端发起连接
。 - 密钥验证
潜在风险:需确保PublicKey与对应PrivateKey匹配。可通过以下命令验证:
echo “ME11PD+IfPo8eez7OkDY2P+Qn4你自己的IfJCSPgYB不要复制我的zt+qw714=” | wg pubkey
忘记说了先安装一个WireGuard服务端