Linux Clash Verge 教程:安装后连不上,先查架构、端口和 TUN
简答:先确认 Linux 架构和安装包匹配,再安装 Clash Verge Rev;导入可用的订阅链接后,先开启系统代理并用 127.0.0.1:7897 测试,确认监听正常后再启用 TUN。
定义:Linux Clash Verge 教程,是在 Linux 图形桌面中安装 Clash Verge Rev、导入订阅、选择节点并排查系统代理、TUN、DNS和终端连接问题的操作说明。
先判断:你要解决的是安装失败,还是安装后连不上
本文与 Clash Verge Rev 项目及其开发者无隶属关系。Clash Verge Rev 是 Linux 图形客户端,不等于订阅服务;仅安装客户端不会自动产生可用节点,导入前需要准备格式受客户端支持的订阅链接或配置文件,具体支持情况以项目文档和客户端提示为准。
截至 2026-10-23,项目 GitHub Release 页面列出的最新正式标签为 v2.5.8,并提供 Linux DEB 和 RPM 安装包。下载时优先从项目 Release 页面核对文件名、架构和校验值,不要把旧版文件名直接套到新版命令中。
| 现象 | 优先检查 | 判定标准 |
|---|---|---|
| 安装时报架构错误或无法启动 | uname -m、DEB/RPM 架构 | 系统架构与安装包后缀一致 |
| 客户端打开但浏览器不通 | 订阅、节点、系统代理、混合端口 | ss -lntp 能看到本地端口监听 |
| 系统代理能用,终端或 Docker 不通 | 环境变量或 Docker daemon 配置 | 命令明确连接到 127.0.0.1:7897 |
| TUN 打不开或开后断网 | 服务权限、DNS、IPv6、NetworkManager | 关闭 TUN 后系统恢复,开启后路由和 DNS 均可验证 |
第一步:查看 Linux 架构并选择安装包
先打开终端执行:
uname -m
常见结果中,x86_64 通常对应 64 位 Intel/AMD 电脑,aarch64 对应 ARM64;不要只根据发行版名称猜 CPU 架构。Debian、Ubuntu 等系统看 DEB 文件,Fedora、RHEL、openSUSE 等系统看 RPM 文件。项目安装文档列出了 x64、arm64 和 armv7 的对应文件名,可对照Clash Verge Rev Linux 安装文档核验。
Debian/Ubuntu 可进一步执行:
dpkg --print-architecture
若返回 amd64,选择文件名含 amd64.deb 的安装包;若返回 arm64,选择含 arm64.deb 的包。安装包下载完成后,文件名中的版本号可能不同,下面的 文件名.deb 要替换成你实际下载的文件:
sudo apt install -y ./文件名.deb
Fedora 或其他使用 dnf 的系统:
sudo dnf install ./文件名.rpm
命令结束没有依赖错误,并且应用能从桌面菜单启动,才算安装完成。若安装失败,不要先改 TUN;先执行 uname -m 和 file ./文件名.deb,检查是否下载错架构。
第二步:Arch 或 Manjaro 安装,以及卸载方法
Arch、Manjaro 和 SteamOS 可使用 AUR 助手。项目安装文档给出的常见安装命令是:
sudo pacman -S --needed base-devel git
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay -S clash-verge-rev-bin
其中 clash-verge-rev-bin 是正式版包名,AUR 包的维护状态和构建内容可能变化,执行前应在AUR 的 clash-verge-rev-bin 页面复核。若你不想使用 AUR,也可以回到项目 Release 页面,选择与系统架构匹配的安装方式;不要把 RPM 或 DEB 直接交给 pacman。
卸载前先确认实际安装包名:
pacman -Qs clash-verge
如果输出中确认包名为 clash-verge-rev-bin,可执行:
sudo pacman -Rns clash-verge-rev-bin
如果是 DEB 系统,先用 dpkg -l | grep -i clash 查看已安装包名,再把确认后的包名交给 sudo apt remove。不要直接复制未经核对的包名。
第三步:首次启动、导入订阅并先用系统代理验证
启动客户端后,先完成最小配置,不要一开始同时修改规则、DNS、IPv6 和 TUN:
- 导入配置:在订阅或配置页面粘贴服务提供方给出的订阅链接,或导入本地配置文件;点击更新后,确认配置列表出现且没有明显的解析错误。
- 选择节点:进入代理组,选择一个可用节点或策略组;若节点列表为空,优先检查订阅是否过期、链接是否复制完整以及客户端日志。
- 选择模式:规则模式适合按规则分流,全局模式用于排除规则因素,直连模式用于确认系统本身是否能正常联网。三者一次只改一个,便于定位问题。
- 开启系统代理:先不开 TUN,只打开客户端的系统代理开关。浏览器重新打开页面测试,能通后再继续下一步。
混合端口请以客户端设置页显示的值为准。Clash Verge Rev 常见默认混合端口是 7897,但端口可能被用户修改或因占用发生变化;HTTP 和 SOCKS 示例统一使用客户端当前显示的混合端口,不要把 7890、7891 当成固定值。
检查端口是否监听:
ss -lntp | grep 7897
如果没有输出,说明本机没有进程监听 7897:回到客户端设置查看实际端口,再执行 ss -lntp | grep 实际端口。如果有监听,再用 curl 明确观察是否连接到了本地代理:
curl -v -x http://127.0.0.1:7897 https://example.com -o /dev/null
这里的 example.com 只是测试域名;若测试其他站点,请替换为你要访问的域名。正常判定不是“curl 有输出”,而是详细日志中出现连接到 127.0.0.1:7897,并完成后续 TLS 或 HTTP 请求;若报 connection refused,先修复端口监听,不要先改 DNS。
第四步:系统代理、TUN 和 DNS 怎么分开排查
系统代理通常只影响遵循桌面代理设置的应用;终端工具、后台服务和部分程序可能不读取桌面开关。TUN通过虚拟网络接口接管更多系统流量,但需要客户端服务权限,启用后也可能暴露路由、DNS 或 IPv6 配置问题。因此建议先用系统代理验证订阅和节点,再启用 TUN。
启用 TUN 后,若浏览器和终端都断网,先关闭 TUN,确认系统代理仍能用,再逐项检查客户端的 TUN 权限引导、自动路由、DNS 劫持和 IPv6 选项。不要把多个配置文件中的 tun 字段混在一起复制;界面设置、订阅覆写和内核配置的优先级可能不同,应以当前客户端日志和生效配置为准。
如果 DNS 使用 Mihomo 的 fake-ip 模式,解析结果出现 198.18.x.x 不一定是故障。Mihomo 文档将 198.18.0.1/16列为 fake-ip 地址范围,并说明 enhanced-mode 可使用 fake-ip 或 redir-host,可参考Mihomo DNS 配置文档。判断 DNS 是否异常,要结合网页是否能打开、客户端日志和实际连接结果,不要只看一次 resolvectl query 的地址。
可执行以下检查:
resolvectl status
resolvectl query example.com
ip route
ip -br addr
若开启 fake-ip 后只看到 198.18.x.x,先确认这是客户端配置的 fake-ip 范围;若关闭 TUN 后仍无法解析普通域名,再检查系统 DNS、局域网 DNS 和客户端 DNS 监听端口。
如果怀疑 NetworkManager 与虚拟接口冲突,先查看设备状态:
nmcli device status
重点看真实网卡是否为 connected,TUN 虚拟接口是否反复在连接和断开之间变化。NetworkManager 的nmcli 参考文档提供了设备状态、设备详情以及 managed 状态的查询和设置方式。不要直接把所有虚拟接口设为 unmanaged;先记录接口名和状态,再针对单个接口处理。
第五步:让终端、Git 和 Docker 使用同一个混合端口
终端临时使用 HTTP 代理时,将 7897 替换为客户端设置页显示的混合端口:
export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897
curl -v https://example.com -o /dev/null
检查方法是看 curl 详细输出是否先连接 127.0.0.1:7897。关闭客户端代理后重新执行,结果应能看出是否确实经过本地端口;不要只凭“命令没有报错”判断代理生效。
Git 的 HTTPS 远程通常使用 http.proxy 配置项,不要只设置一个不存在或不会被读取的 https.proxy 主配置。可临时设置:
git config --global http.proxy http://127.0.0.1:7897
git config --global --get http.proxy
不再需要时删除:
git config --global --unset http.proxy
Docker daemon 与当前终端不是同一层。Docker 官方文档建议为 systemd 服务创建 drop-in 文件;以下示例中的端口必须替换为客户端当前混合端口:
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/http-proxy.conf > /dev/null <<'EOF'
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7897"
Environment="HTTPS_PROXY=http://127.0.0.1:7897"
Environment="NO_PROXY=localhost,127.0.0.1"
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl show --property=Environment docker
Docker 官方daemon 代理配置文档明确给出了 drop-in 路径、Environment= 写法、daemon-reload、重启和验证顺序。正常判定是最后一条命令能看到 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY;若只想让容器或构建使用代理,不要误改 daemon,可参考Docker CLI 代理配置文档。
常见失败场景:按最短路径恢复
- 安装包打不开:重新执行
uname -m,核对 DEB/RPM 后缀;架构不匹配属于安装问题,不要用 TUN 或 DNS 解决。 - 客户端打开但节点为空:先检查订阅链接是否完整、更新请求是否成功,再查看日志;不要把“没有节点”和“节点连接失败”混为一谈。
- 浏览器不通且 ss 没有监听:查看客户端实际混合端口和内核状态;端口没有监听时,curl、Git 和 Docker 都会出现 connection refused。
- 浏览器能通但终端不通:设置当前 shell 的
http_proxy和https_proxy,再用curl -v检查本地连接;系统代理开关不会自动修改每个终端进程。 - TUN 一开就断网:关闭 TUN 验证系统代理,记录
ip route、resolvectl status和客户端日志,再检查 DNS、IPv6、自动路由和虚拟接口状态。 - 无图形界面的服务器:Clash Verge Rev 的项目 FAQ 说明它需要图形化 WebView;无 GUI 环境不要强行启动桌面客户端,应改用适合命令行的内核或工具,参考Linux FAQ。
常见问题
Linux 上 Clash Verge Rev 应该下载 DEB 还是 RPM?
Ubuntu、Debian 等 Debian 系通常选择 DEB;Fedora、RHEL、openSUSE 等使用 RPM。最终以发行版包管理器和项目 Release 页面列出的文件为准,并先用 uname -m 或 dpkg --print-architecture 核对 CPU 架构。
Clash Verge Rev 的 7897 端口一定固定吗?
不一定。7897 是常见混合端口示例,实际值可能被修改或因端口占用发生变化。应以客户端设置页当前显示的混合端口为准,再用 ss -lntp | grep 实际端口确认监听。
TUN 开启后 DNS 返回 198.18.x.x 正常吗?
如果 Mihomo 使用 fake-ip 模式,198.18.x.x 可能属于配置的 fake-ip 地址范围,不应单凭这个结果判断故障。应同时检查客户端 DNS 模式、网页访问、路由和日志;关闭 TUN 后仍无法解析普通域名,才继续排查系统 DNS。
为什么浏览器能用,Git 或 Docker 却不能用?
桌面系统代理不会自动修改所有终端进程或 Docker daemon。终端需要设置 http_proxy 和 https_proxy;Git 通常检查 http.proxy;Docker daemon 则需要按 systemd drop-in 配置并执行 daemon-reload、重启和 systemctl show 验证。
Linux 没有桌面环境,可以直接运行 Clash Verge Rev 吗?
不建议。项目 Linux FAQ 说明 Clash Verge Rev 需要图形化 WebView;无图形界面的服务器应选择适合命令行运行的内核或工具,不要把桌面客户端当作纯命令行程序使用。
相关阅读
参考资料
- Clash Verge Rev GitHub Releases
- Clash Verge Rev Linux 安装文档
- Clash Verge Rev Linux FAQ
- Mihomo DNS 配置文档
- NetworkManager nmcli 参考手册(networkmanager.pages.freedesktop.org)
- Docker daemon 代理配置
- Docker CLI 代理配置
- AUR clash-verge-rev-bin 页面(aur.archlinux.org)