快连如何配置全局代理, 快连Linux开机自启步骤, 快连systemd服务写法, 快连全局代理不生效怎么办, 快连proxychains区别, 快连headless服务器配置, Linux环境变量永久设置http_proxy
部署配置2026年4月19日作者:快连技术团队

快连如何在Linux命令行配置全局代理并开机自启?

#全局代理#开机自启#systemd#命令行#Linux

功能定位与版本演进

2026-03-27 发布的 v9.8.1「春季加速」版把 Linux 客户端拆成两条官方支线:CLI 版 quicklink-cli 与 WireGuard 纯净配置文件。前者自带 KL-Obfuscator 抗 DPI 插件,后者留给 systemd-networkd 或 NetworkManager 进阶玩家。本文聚焦 CLI 版最常被问的场景:如何让整台服务器(含 Docker、cron、后台服务)在重启后零人工干预走进加速通道,并留好一键逃生按钮。

经验性观察:2026 年 4 月社区镜像站统计,Debian 12 / Ubuntu 24.04 LTS 占快连 Linux 安装量 72%,CentOS Stream 9 仅 11%。下文以 systemd 254+ 为前提,给出「一条命令安装→生成配置→开机自启」最短路径,并单独备注 SysVinit 折中方案。

功能定位与版本演进
功能定位与版本演进

安装:一条命令拉取官方仓库

Debian/Ubuntu 系

curl -fsSL https://repo.quicklinkprivacy tool.com/linux/public.key | sudo gpg --dearmor -o /usr/share/keyrings/quicklink.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/quicklink.gpg] https://repo.quicklinkprivacy tool.com/linux stable main" | sudo tee /etc/apt/sources.list.d/quicklink.list
sudo apt update && sudo apt install quicklink-cli

装完执行 quicklink-cli version,应出现「QuickLink CLI v9.8.1」。若提示「unauthorized binary」,说明 GPG 密钥未写入,重跑第一行即可。

RHEL/CentOS/Fedora 系

sudo rpm --import https://repo.quicklinkprivacy tool.com/linux/public.key
sudo tee /etc/yum.repos.d/quicklink.repo <[quicklink]
name=QuickLink Linux Repo
baseurl=https://repo.quicklinkprivacy tool.com/linux/rhel\$releasever
enabled=1
gpgcheck=1
EOF
sudo dnf install quicklink-cli

Arch 用户仓库(AUR)

yay -S quicklink-cli-bin
提示:官方仓库比社区 tar 包延迟约 6 小时,若急需体验 QUIC-Turbo,可手动下载 .debdpkg -i 安装,再 apt-mark hold quicklink-cli 锁定版本。

首次登录与令牌缓存

快连使用订阅令牌(Subscribe-Token)而非账号密码,避免 CI 机器留明文。登录命令:

quicklink-cli auth --token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...

令牌在 Windows/macOS 客户端「设置→账号→导出 CLI 令牌」获取,有效期 365 天。成功后会写入 ~/.config/quicklink/credential.json;systemd 服务会读此文件,请确保运行用户与登录用户一致(默认 root)。

生成「全局代理」配置文件

CLI 提供两种模板:tun(虚拟网卡接管全部流量)与 tproxy(iptables 透明代理)。tun 对容器、Snap、Flatpak 更友好,下文以 tun 为例。

quicklink-cli config create \ --template tun \ --name global \ --protocol QUIC-Turbo \ --obfuscator KL-Obfuscator \ --dns 8.8.8.8,1.1.1.1 \ --ipv6 on \ --save /etc/quicklink/global.json

解释:显式指定 QUIC-Turbo 可在高丢包校园网再降约 20 ms;开启 IPv6 防止纯 IPv6 的 apt 源(如 http://deb.debian.org)被漏掉;DNS 写死 8.8.8.8 与 1.1.1.1 可跳过本地运营商污染,同时让 systemd-resolved 进入独占模式。

手工启动验证

quicklink-cli connect -c /etc/quicklink/global.json

看到「All tunnels up, CTRL-C to stop」即虚拟网卡 ql0 已拉起。另开一屏执行

curl -4 ip.sb
curl -6 ip.sb

返回的 IPv4/IPv6 应属于快连出口段,且 AS 号与官网公示一致。若仍显示本地地址,八成是策略路由未生效,检查 ip rule 是否多出 fwmark 51820 lookup 51820 这条。

编写 systemd 服务:开机自启核心

官方未自带 unit,但 CLI 支持 --daemon 参数,可前台转后台并写 pidfile。我们只需封装进 systemd:

sudo tee /etc/systemd/system/quicklink.service <[Unit]
Description=QuickLink Global Proxy
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/run/quicklink.pid
ExecStart=/usr/bin/quicklink-cli connect -c /etc/quicklink/global.json --daemon --pidfile /run/quicklink.pid
ExecReload=/bin/kill -USR1 \$MAINPID
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

加载并启动:

sudo systemctl daemon-reload
sudo systemctl enable --now quicklink.service
提示:若希望「断网就自杀,网络恢复再重连」,可把 Restart=on-failure 改成 Restart=always,并加 StartLimitInterval=300 防止高频重启。

逃生按钮:如何无损回退

配置错误导致 SSH 失联只能请朋友进控制台急救。为避免悲剧,预写「停机 unit」:

sudo tee /etc/systemd/system/quicklink-stop.service <[Unit]
Description=Emergency QuickLink Kill Switch
After=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/bin/systemctl stop quicklink.service
ExecStart=/usr/bin/ip link delete ql0
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
EOF

默认 disabled,急需时通过云厂商 VNC 登录,执行 systemctl start quicklink-stop.service 即可瞬间断隧,恢复本地网络。

与 Docker 共存:别让容器绕路

Docker 启动时会自建链,容器流量默认直连。要让容器也走 ql0,可在 daemon.json 加一行:

{ "iptables": false }

随后手动把 docker0 桥塞进 ql0 下游;图省事可在 unit 里加 ExecStartPost=/usr/bin/docker restart $(docker ps -q),隧洞拉起后自动重启容器,使其获得新路由表。

与 Docker 共存:别让容器绕路
与 Docker 共存:别让容器绕路

SysVinit 旧系统折中方案

仍在 CentOS 6 或 Debian 8 的机器,可写 /etc/init.d/quicklink

#!/bin/sh
### BEGIN INIT INFO
# Provides: quicklink
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
### END INIT INFO

PIDFILE=/var/run/quicklink.pid
CONFIG=/etc/quicklink/global.json

case "$1" in
start)
/usr/bin/quicklink-cli connect -c $CONFIG --daemon --pidfile $PIDFILE
;;
stop)
kill $(cat $PIDFILE)
ip link delete ql0
;;
*)
echo "Usage: $0 {start|stop}"; exit 1
esac

赋权 chmod +xchkconfig quicklink on 即可。缺点是无法依赖 network-online,若网卡晚于脚本启动,第一次可能重试失败;quicklink-cli 内置 30 秒等待,经验性观察成功率仍在 95% 以上。

性能调优:让 CPU 别再狂飙

QUIC-Turbo 默认线程数 = CPU 核心数。1 vCPU 的小鸡可手动降线程:

quicklink-cli config edit /etc/quicklink/global.json \ --set quic_threads=1 \ --set quic_cpu_affinity=0

若服务器本身提供 Web 服务,建议把 443/80 端口排除在隧洞外,防止回源环路:

quicklink-cli config edit /etc/quicklink/global.json \ --bypass-route 0.0.0.0/0:443 \ --bypass-route 0.0.0.0/0:80
警告:bypass 规则写错会导致流量直连,合规审计会出现「境外 IP 未走加密通道」记录。调优前先在测试机验证 ip route get 8.8.8.8 是否仍指向 ql0。

日志与观测:把黑盒变灰

systemd 自带 journal,但 quicklink-cli 默认级别为 notice,看不到节点跳变。可改环境变量:

sudo systemctl set-environment QUICKLINK_LOG_LEVEL=info
sudo systemctl restart quicklink.service

随后 journalctl -u quicklink -f 可实时看到「switching to faster node: Frankfurt-IA-01」。若用 Grafana,可把日志经 promtail 推到 Loki,配合 node_exporterql0 接口流量,绘制「出口延迟 vs 本地 CPU」联动图。

不适用场景清单

  • 内核 < 3.10,缺少 TUN 驱动,需自行编译,维护成本高于换机。
  • 已运行 strongSwan/Openprivacy tool 的场景,双方都会改写主路由表,需手动调整 metric。
  • 需要固定入口 IP 做反向解析的邮件服务器,快连出口为动态 NAT,PTR 记录不可控。
  • 金融合规要求「境内/境外流量物理隔离」的机房,ql0 虚拟网卡仍被视为境外链路。

最佳实践 8 条速查表

  1. 安装前先验证 GPG 密钥指纹,防止 CI 投毒。
  2. 令牌文件权限 600,属主与 systemd 服务用户一致。
  3. tun 模式优先,tproxy 留给需要保留本地源地址的反向代理。
  4. unit 文件必须写 After=network-online.target,否则重启后 30% 概率起不来。
  5. 逃生脚本预置,云厂商控制台也能一键断隧。
  6. Docker 想走隧洞,要么关 Docker 的 iptables,要么把容器网段塞进 ql0。
  7. 出口合规审计,每月跑一次 ipset list bypass 确认无漏网之鱼。
  8. 升级前先在测试机跑 quicklink-cli config test,通过再 prod。

FAQ(使用 FAQPage Schema)

启动后 SSH 延迟变高怎么办?

在配置里把 22 端口加进 bypass-route,或单独写一条 ip rule 让来源端口 22 走主路由表。

journal 提示 "Quantum hybrid handshake fail" 如何消除?

这是实验性 QRWG 开关与浏览器 TLS 1.3 kyber 扩展冲突,关闭 Quantum 实验室开关或升级 Chrome 到 126+ 即可。

能否一台机器多配置,按进程分流?

可以,CLI 支持 --mark 参数配合 cgroup,但需自行写 nftables 规则,官方称将在「后续版本」提供样例 unit。

systemd 状态是 active,但 curl 依然显示本地 IP?

检查是否同时启用 NetworkManager,它可能覆写默认路由;把 ql0 设成最高优先级 ip route add default dev ql0 metric 50

升级后 unit 启动失败,提示找不到新参数?

新版若弃用旧参数,需重新生成配置:先 quicklink-cli config migrate,再 systemctl daemon-reload

收尾与下一步

至此,「快连 Linux 全局代理 + systemd 开机自启」最短闭环已跑通:官方仓库安装→令牌登录→tun 配置→unit 封装→逃生脚本。按最佳实践 8 条例行检查,即可在服务器重启、节点故障、版本升级时保持无人值守的加速体验。

下一步,可把 unit 文件推到 GitLab CI,用 Ansible 批量部署;或在测试环境打开 QRWG 量子安全扩展,验证握手延迟与 CPU 占用的平衡点。牢记「先验证再生产」,快连 CLI 会成为你跨境管道里稳定而透明的一段。