Linux配置2026年3月23日作者:快连官方团队

快连Linux客户端如何设置代理并排除局域网地址?

快连Linux客户端代理设置与局域网排除完整教程,合规留存可审计,步骤可复现。

快连Linux代理设置, Linux系统代理排除局域网, 怎样让快连代理不代理局域网, 快连Linux配置文件路径, CIDR写法排除内网地址, 代理生效后无法访问局域网怎么办, 快连Linux客户端局域网绕过规则, 企业内网代理最佳实践, 快连是否支持exclude规则
代理设置局域网排除Linux规则配置网络分流

功能定位:为什么要在 Linux 上单独谈代理与局域网排除

在 Windows 与 macOS 上,快连(QuickLink,下文简称 QL)已经提供图形「应用分流」开关,而 Linux 版至今仍以 CLI 为主。对开发与运维场景而言,代理规则是否落库、局域网地址是否被意外转发,直接决定后续审计时能否拿出「未绕行内网」的证据。本文以「合规与数据留存」为主线,给出可复现、可回滚、可审计的最小化配置。

功能定位:为什么要在 Linux 上单独谈代理与局域网排除
功能定位:为什么要在 Linux 上单独谈代理与局域网排除

版本与路径差异:桌面发行版到底装的是哪一代

截至当前的最新版本(ql-cli 6.8.x 系列)提供 deb、rpm、AppImage 三种打包。以下示例均以 Ubuntu 22.04 LTS 为基准,路径与单元文件名在其他发行版可能略有差异,请以实际 systemd 列表为准

安装确认

sudo dpkg -i ql-cli-6.8.x.amd64.deb
ql-cli --version  # 输出版本号即安装成功

代理设置的三条主线:环境变量、透明代理、SOCKS 5

Linux 端 QL 不会强制覆盖系统路由表,而是优先读取 QL_PROXY_MODE 变量,再决定是走「TUN 透明代理」还是「本地 SOCKS 5」。该设计的好处是:即使 QL 异常退出,系统路由仍保持原样,降低远程机器失联风险。

做法:一次性写入 /etc/environment(全局生效)

echo 'QL_PROXY_MODE=tun' | sudo tee -a /etc/environment
echo 'QL_SOCKS_PORT=1089' | sudo tee -a /etc/environment
sudo systemctl restart ql-daemon

原因:TUN 模式把「0.0.0.0/0」收拢到虚拟网卡,再由 QL 用户态过滤

这样后续审计只需检查 /var/log/ql/tun-trace.log,即可还原「哪些 IP 被转发、哪些被排除」。若用纯 SOCKS 5,则需要额外抓取 localhost:1089 流量,才能拼出完整路径。

何时不该用 TUN

在容器编排节点或已运行 Calico/Cilium 的 K8s 工作节点上,再叠加 TUN 容易触发 MTU 冲突;此时建议退回 SOCKS 5,并在应用层做 proxychains-ng 封装。

局域网排除规则:官方语法与常见坑

QL 把「绕过大陆地址」与「绕过局域网」拆成两条列表,文件位于 /etc/quicklink/exclude-lan.txt。每行一条 CIDR,支持 # 注释。若该文件缺失,QL 会内置 192.168.0.0/16,10.0.0.0/8,172.16.0.0/12 作为兜底。

做法:自定义排除企业内网段

sudo cp /etc/quicklink/exclude-lan.txt /etc/quicklink/exclude-lan.txt.bak
sudo nano /etc/quicklink/exclude-lan.txt
# 追加企业专线
100.64.0.0/10   # 运营监控网
fd00::/8        # IPv6 ULA

验证:重载后抓包确认

sudo systemctl reload ql-daemon
ping -c4 192.168.88.1   # 应显示本地网关 IP,TTL 无跳变
sudo tcpdump -i any host 192.168.88.1 and port not 22 -n
# 若只有 eth0 报文、无 ql0 报文,即证明排除生效
提示:QL 的「reload」采用 USR1 信号,不会中断已建链的 TCP 长连接;对线上 CI Runner 而言,可在白天直接重载,无需等待维护窗口。

规则冲突排查:当「绕过局域网」遇上「强制出口」

部分企业会在 DHCP 推送「默认出口代理 http_proxy=1.2.3.4:8080」,导致 QL 启动后,本机流量先被 iptables 重定向到 TUN,再由环境变量把 HTTP 流量二次转发到企业代理,形成回环。此时日志会出现 CONNECT 1.2.3.4:8080 via 1.2.3.4:8080 的循环报错。

对策:在 QL 启动前清除外部代理变量

sudo systemctl edit ql-daemon  # 创建 override
[Service]
UnsetEnvironment=http_proxy https_proxy HTTP_PROXY HTTPS_PROXY
警告:若你的业务脚本依赖 http_proxy 访问公网 API,请改用「分应用代理」或「容器级变量」而非全局变量,避免把企业代理入口暴露给 QL。
对策:在 QL 启动前清除外部代理变量
对策:在 QL 启动前清除外部代理变量

可审计的日志留存:让合规团队一眼看懂

QL 默认把 TUN 转发记录写入 /var/log/ql/tun-trace.log,格式为「时间戳+进程 UID+目标 IP+端口+转发节点+是否命中排除」。当日志体积超过 100 MB 自动轮转,保留 7 份。若需对接 SIEM,可把 QL_LOG_FORMAT=json 写入 /etc/quicklink/daemon.conf,即可输出结构化字段。

示例:筛选被排除的局域网流量

sudo jq 'select(.excluded==true and .dstIp | startswith("192.168."))' /var/log/ql/tun-trace.json | head

性能观测:CPU 与延迟基线

在 4 Core/8 GB 的 KVM 虚机上,经验性观察:开启 TUN 后,iperf3 单线程下降约 5%–8%,多线程几乎无差异;UDP 小包(64 B)pps 下降 10% 左右。若对延迟极度敏感,可把 QL_ENCRYPTION=chacha20 改为 aes-256-gcm在支持 AES-NI 的 CPU 上可缩短 1–2 ms

回滚与应急:一条命令恢复出厂路由

sudo ql-cli restore-routing
# 该命令会删除 ql0 网卡、清空自定义路由表 51888,并重启 systemd-resolved

若远程机器因规则错误导致 SSH 中断,可提前把上述命令写入 cron「@reboot」,实现「掉电即自救」。

场景清单:什么时候必须排除局域网

  • CI Runner 需要拉取内网 GitLab 仓库,同时把构建产物推送到公网容器仓库;
  • 运维跳板机通过 192.168.x.x 管理 iDRAC/IPMI,且不允许 BMC 流量出境;
  • 科研实验室的 License Server 位于 10.0.0.0/8,走代理会被厂商判定为「异地浮动」;
  • 财务终端访问 172.16.0.0/12 的 SAP 系统,审计要求「专线不可被隧道掩盖」。

不适用场景:盲目排除可能带来的副作用

若你所在网络使用「全球统一零信任网关」,所有内网段默认也要经过网关做 DLP 扫描,此时把 10.0.0.0/8 写进排除列表,反而导致流量绕开扫描,触发合规告警。解决方法是把「零信任网关的出口 IP」加入 QL 的「强制走代理」白名单,而非简单排除整个段。

最佳实践速查表

检查项命令/路径预期结果
确认排除文件存在ls /etc/quicklink/exclude-lan.txt返回文件名
验证重载无中断systemctl reload ql-daemonActive: active (running)
审计日志可读jq '.excluded' /var/log/ql/tun-trace.json | sort | uniq -ctrue 计数 > 0
回滚命令就绪which ql-cli restore-routing返回路径

FAQ:3 个最常被问到的细节

1. 排除文件支持域名吗?

不支持。QL 的 TUN 驱动在 IP 层工作,只能识别 CIDR。如需按域名分流,请改用 SOCKS 5 + proxychains 的 proxy_dns 选项。

2. 日志能否直接送到 rsyslog?

可以。在 /etc/quicklink/daemon.confQL_SYSLOG_FACILITY=local2,然后给 rsyslog 写一条 local2.* @remote:514 即可。结构化 JSON 也会一并转发。

3. 与 Docker 共存时容器流量会不会被 TUN 截走?

默认不会。Docker 的 docker0 网段已写入官方 exclude 模板;若你自定义了 172.17.0.0/12 子网,只需把它追加到 exclude-lan.txt 并重载。

收尾:下一步该做什么

完成上述配置后,建议你立刻做一次「断网演练」:手动停掉 ql-daemon,确认 SSH 与内网仓库仍可用;再启动 daemon,确认公网 API 恢复。演练通过即可把相同模板批量下发到其余 Linux 节点,实现「代理加速」与「内网合规」两不误。