
快连Linux版如何配置WireGuard并启用Kill Switch?
功能定位与版本演进
在快连Linux版(QuickLink privacy tool)里,WireGuard 被官方称作“极速内核”,主打低 CPU、高吞吐;Kill Switch 则是“一键断网保护”的底层实现,用于在隧道掉线时立刻屏蔽本机外发流量,防止真实 IP 暴露。自 6.2.0 起,Linux 客户端把 Kill Switch 做成 nftables 规则模板,6.4.0 又追加 IPv6 回环段过滤,解决此前仅屏蔽 IPv4 的缝隙。对需要长期挂 PT、远程 SSH 的桌面与轻量服务器场景,这套组合比传统 Openprivacy tool 方案更省资源,也更容易脚本化。
经验性观察:在 100 Mbps 上下对等光纤、Intel N100 小主机上,WireGuard 单核就能跑满,而相同节点 Openprivacy tool 占用 2.5 核且延迟高 8–12 ms。若你曾在深夜批量拉 GitHub Release,切到 WireGuard 后可见排队时间明显缩短。
前置检查:内核、权限与软件源
WireGuard 已进入 mainline,但 Kill Switch 依赖 nftables。请确认:
- 内核 ≥ 5.6(自带 wireguard 模块);若你坚守 Ubuntu 20.04 LTS,请手动升级内核或安装 linux-generic-hwe-20.04。
- nftables 已替换 iptables;执行
nft list ruleset能正常回显即可。 - 客户端以
.deb安装,需 sudo 权限;AppImage 版默认把规则写入用户命名空间,但 Kill Switch 需要 CAP_NET_ADMIN,建议用 setcap 提权。
提示:若系统仍用 iptables-nft 兼容层,Kill Switch 会优先调用 nft,但回退逻辑偶发双表混用,经验性结论——直接迁移到纯 nftables 最省心。
安装与初次导入节点
1. 官方仓库安装(推荐)
以 Debian 12 为例,导入 QuickLink 仓库公钥后:
sudo apt update && sudo apt install quicklink-wireguard
安装目录 /opt/quicklink 下会附带 ql-wg-cli,支持 JSON 输出,方便脚本解析。
2. 图形界面导入(可选)
若你同时装有 GNOME 版 QuickLink UI,可在“节点列表”右上角点击“+”→“从剪贴板导入 WireGuard 配置”,系统会自动识别 [Interface] 与 [Peer] 段落,并写入 ~/.config/quicklink/wireguard/。无桌面环境可跳过,直接走 CLI。
CLI 配置 WireGuard 隧道
1) 拉取节点密钥对
ql-wg-cli login --username 你的账号 --region auto
2) 生成接口配置
ql-wg-cli config --node hk-gia-05 --out /etc/wireguard/ql.conf
3) 启动隧道
sudo systemctl start quicklink-wg@ql
此时 wg show 能看到 latest handshake,但 Kill Switch 尚未激活,掉线后仍会走默认路由。
启用 Kill Switch:nftables 方案
快连把 Kill Switch 拆成两条规则链:
- ql-ks-pre:优先级 0,允许已建立的 WireGuard UDP 会话继续发包,用于心跳重连。
- ql-ks-main:优先级 10,丢弃所有非隧道出口流量。
激活命令:
sudo ql-wg-cli killswitch --on --iface ql
脚本会在 /etc/nftables.d/ 下放 ql-ks.nft,并执行 nft -f。你可以用:
nft list chain inet ql-ks ql-ks-main
验证是否已插入 drop 规则。
警告:启用后若手动
systemctl stop quicklink-wg@ql,本机会立刻失连外网,这是预期行为。请先留一个本地终端或 VNC,避免把自己锁在门外。
例外网段:让局域网打印机继续可用
Kill Switch 默认屏蔽 0.0.0.0/0,但家庭 NAS 或打印机在 192.168.1.0/24 段,需要放行。编辑 /etc/quicklink/wg-ks-exceptions.conf,追加:
192.168.1.0/24 fd00::/64
然后重载:
sudo ql-wg-cli killswitch --reload
规则会在 ql-ks-pre 里插入 accept,优先级高于 drop,因此既不掉线,也不泄露外网 IP。
验证与观测方法
1. 掉线模拟
新开终端:
watch -n 1 'curl -s https://ip.example.com'
然后 sudo systemctl stop quicklink-wg@ql,若 Kill Switch 生效,curl 会立刻超时;恢复隧道后,IP 重新变为节点地址。
2. 日志监控
ql-wg-cli 把阻断记录到 /var/log/quicklink/ks.log,默认 30 秒采样一次。可用:
journalctl -u quicklink-wg@ql -f
同时查看握手与 Kill Switch 触发是否同步。
桌面环境与托盘图标差异
GNOME/KDE 用户若安装 quicklink-ui,托盘会显示“盾牌”图标,右键可一键开关 Kill Switch;无桌面环境时,全部依赖 ql-wg-cli。注意:Wayland 会话下,托盘菜单偶尔无法弹出(经验性观察,约在 6.4.0 出现),解决方法是:
GDK_BACKEND=x11 /opt/quicklink/bin/quicklink-ui
强制回退 X11 协议即可。
故障排查:隧道通但 Kill Switch 未生效
现象:wg show 有握手,关闭隧道后仍能上网。常见原因:
- 系统同时启用 UFW,规则优先级高于 nft。解决:关闭 UFW 或把 ql-ks 链优先级调到 0。
- Docker 自带 iptables 规则,插入 FORWARD 接受。解决:在
/etc/docker/daemon.json加"iptables": false,重启 Docker。 - NetworkManager 启动第二个默认路由。解决:把有线连接设为“仅本地链路”,禁止自动默认网关。
逐项排查后,重新执行 ql-wg-cli killswitch --reload。
何时不该用 Kill Switch
1) 需要本地抓包调试:规则会屏蔽非隧道流量,导致 tcpdump 看不到外发 SYN。2) 同一主机做旁路由:Kill Switch 会丢弃 LAN 客户端的转发包,必须手动把 br0 段写进例外。3) 双隧道负载均衡:ql-wg-cli 目前仅支持单接口,若你同时跑两条 WireGuard,nft 会冲突,需自行改写链名。
最佳实践清单
- 升级至 ≥5.6 内核,避免 DKMS 编译失败。
- 启用前先备份原 nftables 规则:
nft list ruleset > ~/nft-backup.nft。 - 把例外网段写进配置文件,而非手动改 nft,防止升级被覆盖。
- 每月复查
/var/log/quicklink/ks.log,确认无异常放行。 - 若需无人值守,加 systemd 路径监控:
ql-wg-cli killswitch --reload,规则 30 秒级热更新。
FAQ(使用 FAQPage Schema)
开启 Kill Switch 后无法 SSH 到主机怎么办?
先把本地局域网段写进 /etc/quicklink/wg-ks-exceptions.conf,再重载;若仍失败,检查是否把 SSH 端口绑定到 0.0.0.0,而非仅隧道地址。
ql-wg-cli 提示“nft: Could not process rule: Operation not supported”?
内核未开启 CONFIG_NF_TABLES;请安装 linux-image-generic 并重启,或改用 iptables-legacy 回退方案(官方不推荐)。
能否在 Docker 容器里跑 WireGuard 同时让 Kill Switch 对外生效?
可以,但需把容器设为 host 网络,或在 docker-compose 加 cap_add: - NET_ADMIN,并把宿主规则挂载到容器内 nft 命名空间。
收尾:下一步行动
至此,你已能在快连Linux版完成 WireGuard 隧道配置,并启用 Kill Switch 防止 IP 泄露。建议立即做一次“断网演练”,确认例外网段、日志与 systemd 状态都符合预期;随后把 ql-wg-cli killswitch --reload 写进每周的自动运维脚本,保持规则随节点更新而同步。若后续官方推出多隧道并行,可再评估是否迁移到自定义 nftables 模板,现阶段单隧道场景下,官方方案已足够稳与省。
相关文章
部署配置快连如何在OpenWrt上安装IPK并设置开机自启?
OpenWrt安装快连IPK并设置开机自启的完整流程,含固件兼容、依赖修复与回退方案。
代理配置Ubuntu终端如何通过快连配置代理链?
Ubuntu终端用kuailian搭proxychains代理链,实测GitHub提速明显,步骤可复现
代理设置快连如何一键切换全局代理与分应用代理?
快连一键切换全局代理与分应用代理教程,含三端路径、取舍阈值与回退方案,附验证步骤。
路由配置快连如何在路由器端开启透明代理?
快连透明代理路由器端配置全攻略:OpenWrt固件下零配置全局分流,客厅到卧室全设备秒级出海