QuickQ的WireGuard systemd服务怎么写

加速器 quickq 2

本文目录导读:

QuickQ的WireGuard systemd服务怎么写-第1张图片-QuickQ官网 | 高速稳定下载-官网下载

  1. 确保安装了 wg-quick
  2. 准备 WireGuard 配置文件
  3. 使用 systemd 自带模板(推荐)
  4. 如果必须手动编写的备选方案
  5. 常见检查和调试

要为 QuickQ(假设是一个基于 Linux 的系统,使用 systemd 管理服务)编写 WireGuard 的 systemd 服务单元文件,可以参考以下步骤和模板,WireGuard 本身在较新内核中已支持,但通常需要一个 wg-quick 脚本来管理配置和接口。

以下是标准的 WireGuard systemd 服务写法(使用 wg-quick@.service 模板):

确保安装了 wg-quick

大多数发行版的 WireGuard 包都包含 wg-quick,如果未安装,请安装:

# Debian/Ubuntu
sudo apt install wireguard
# CentOS/RHEL/Rocky
sudo dnf install wireguard-tools
# Arch Linux
sudo pacman -S wireguard-tools

准备 WireGuard 配置文件

假设你的配置文件在 /etc/wireguard/wg0.conf(文件名 wg0 将作为服务实例名)。

使用 systemd 自带模板(推荐)

wg-quick 安装后会自动提供一个 systemd 模板服务:wg-quick@.service

启动/启用方式:

# 启动(对应配置文件 /etc/wireguard/wg0.conf)
sudo systemctl start wg-quick@wg0
# 设置开机自启
sudo systemctl enable wg-quick@wg0
# 查看状态
sudo systemctl status wg-quick@wg0

原理wg-quick@.service 模板会接收一个接口名(wg0),然后执行 wg-quick up wg0wg-quick down wg0,无需手动编写服务文件。

如果必须手动编写的备选方案

如果由于某些原因(QuickQ 定制系统没有自带 wg-quick),你需要手动编写一个 systemd 服务单元文件,可以创建 /etc/systemd/system/wireguard-quickq.service

[Unit]
Description=WireGuard Tunnel (QuickQ)
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
RemainAfterExit=yes
# 启动隧道
ExecStart=/usr/bin/wg-quick up /etc/wireguard/quickq.conf
# 停止隧道
ExecStop=/usr/bin/wg-quick down /etc/wireguard/quickq.conf
# 重启行为(可选)
ExecReload=/usr/bin/wg-quick down /etc/wireguard/quickq.conf
ExecReload=/usr/bin/wg-quick up /etc/wireguard/quickq.conf
# 安全加固(可选)
PrivateTmp=true
ProtectSystem=full
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target

使用此服务:

sudo systemctl daemon-reload
sudo systemctl enable wireguard-quickq.service
sudo systemctl start wireguard-quickq.service

常见检查和调试

  • 配置文件权限:WireGuard 私钥敏感,建议 chmod 600 /etc/wireguard/*.conf
  • 查看日志
    sudo journalctl -u wg-quick@wg0
  • 手动测试sudo wg-quick up /etc/wireguard/wg0.conf 看是否有错误。

最简单可靠的方法是使用系统自带的 wg-quick@.service 模板(只需 systemctl enable wg-quick@wg0),无需自己写 .service 文件,QuickQ 环境确实需要自定义,则参考上面第4步的手动编写方案。

抱歉,评论功能暂时关闭!