Fedora 上安装 Clash Verge:SELinux 与防火墙放行实测一路走下来

为什么在 Fedora / RHEL 系要单独谈 SELinux 与 firewalld? 内在逻辑与实践

不少用户从 Ubuntu 或 Debian 系换到 Fedora Workstation、Rocky、Alma 等 RHEL 家族发行版后,会沿用同一套「下载图形客户端 → 导进订阅 → 开系统代理」的流程;人机人机人机界面层面一切正常,却在以下几类当下突然卡住:本机浏览器明明已走代理,局域网里的手机却连不上电脑的 HTTP 端口;

本站已有面向 Linux 的 《Ubuntu 上装 Clash Verge:订阅导进与 systemd 开机自启》,侧重 deb/AppImage 路径与 systemd 用户单元。

下文不重复逐步教订阅语法,而是补齐 Fedora 上最普遍的 SELinux 审计与 firewalld 放行顺序,并说明与局域网代理、端口监听相关的实测排错路径,便于你在企业级策略环境下也能经得起折腾上手上手上手使用 Clash Verge(按常规指社区维护、内核为 Mihomo 的 Clash Verge Rev 系构建)。

从机制上看:客户端日志提示监听弹出错漏或权限不足;开启 TUN 后路由表异常或与自带 VPN 冲突。与初始关闭强制开控制的桌面环境相比,Fedora 初始启用 SELinux(强制模式),再配合初始跑的 firewalld,入站流量与可执行文件标签都会多一层策略约束。

范围说明:下文以 Fedora Workstation 传统桌面(RPM/DNF、GNOME、初始 firewalld)为主;Silverblue / Kinoite 等不可变系统若上手上手上手使用 Flatpak,路径与 SELinux 标签存在存在存在可能不同,但「先看审计日志、再放行防火墙」的思路一致。

在 Fedora 上安装 Clash Verge Rev 技术拆解

Clash Verge Rev 在 Linux 上司空见惯分发为 AppImage、通用 .tar.gz,部分渠道也会提供 .rpm。更推荐在前从本站 下载页面 获取与当前架构(多为 x86_64,ARM 设备在意 aarch64)匹配的构建,避免跑来路不明的单文件。

AppImage 流程(最普遍)(内在逻辑)

  1. 将 .AppImage 放到固定目录,打个比方 ~/Applications/ 或 /opt/clash-verge/(后者便于统一标签与备份)。
  2. 执行 chmod +x Clash.Verge*.AppImage;若从浏览器下载,部分文件存在存在可能带「禁止执行」扩展属性,可用 chmod 与 ls -l 复查。
  3. 首次更推荐在终端前台唤起,便于一上来看到 GTK/WebKit 或 Tauri 相关依赖弹出错漏;若缺库,用 sudo dnf install 按弹出错漏名补装(具体包名随 Fedora 大版本变化,以终端提示为准)。

RPM 包(若可用)(机制)

若你拿到的是 .rpm,可用 sudo dnf install ./clash-verge*.rpm 安装,可执行文件按常规落在 /usr/bin 或厂商指定路径,SELinux 普遍已有对应域或落在 bin_t 一类宽松标签上,比「用户主目录里的 AppImage」更少遇到执行上下文要留意之处。无论哪种安装方式,后续订阅导进与「设为系统代理」在客户端内的操作与跨平台一致,不起眼却关键的地方可对照 《Clash 订阅链接怎么添加》。

订阅与系统代理:先确认本机可用 结构解析

在「订阅」页粘贴机场提供的 HTTPS 订阅地址,重新拉取成功后到「代理」页确认节点非空,再开系统代理或等价开关。若此处仍弹出错误,先按订阅文档排除环路、时间与 TLS 要留意之处,不要急于改防火墙。免不了要全局接管更多应用时,再考虑 TUN;内在逻辑与排错可延伸阅读 《Clash TUN 模式完全指南》。

小技巧:重新拉取订阅时若反复弹出错误,可暂时关闭系统代理再拉取,避免「用代理下载订阅」形成环路;这与 Windows、macOS 上的习惯一致。

SELinux:先审计,再决定放行方式 机制说明

SELinux 不是「关了就万事大吉」的开关;在桌面当下下,更稳妥的做法是先确认拒绝事件是否来自策略,再拿定移动文件位置、恢复上下文、或按需增加布尔值/本地策略模块。盲目执行 setenforce 0 仅适合短期验证,不适合长期上手上手使用。

是否拦截:看日志比猜端口稳定可靠(实现)

当客户端提示无法绑定某端口、无法创建设备或执行某辅助程序时,在复现要留意之处后立即用管理员权限查看审计日志(示例命令,需已安装 audit 相关包):

sudo ausearch -m avc -ts recent | tail -n 50
sudo journalctl -xe | grep -i denied

若出现 denied 且类型为 avc,记下源上下文(scontext)、目标上下文(tcontext)与被拒绝的操作(bind、name_connect、execmod 等)。图形化环境可安装 setroubleshoot,用 sealert 生成人类可读说明,它会经常提示「是否允许通过 audit2allow 生成模块」——仅在理解容易踩的坑后再采用。

可执行文件与目录位置(不起眼却关键的地方)

放在用户下载目录下的 AppImage 存在存在可能带 user_home_t 等标签,部分操作会被策略限制。实测中更稳妥的做法包含:把二进制放到 /opt 或 /usr/local/bin 等常规路径,并用 semanage fcontext 与 restorecon 恢复预期标签;或一上来上手上手使用打包规范较好的 RPM。具体标签名以你系统上的 ls -Z /path/to/file 为准,不要照抄网络上的单条 chcon,以免大版本升级后失效。

与 TUN / 权能相关(内在逻辑)

启用 TUN 惯常涉及创建 /dev/net/tun、改路由或 CAP_NET_ADMIN。在 SELinux 开启时,若内核或策略对未域化的用户进程限制较严,日志里存在存在可能出现与 tun_tap_device 或网络相关权能有关的拒绝项。此时应结合客户端是否提供「以 root 辅助进程提权」「安装为系统服务」等官方能力,而不是朴素关闭通盘安全模块。若你同时上手上手使用 NetworkManager 管理的 WireGuard 或第三方 VPN,在意避免两个栈争抢初始路由,可先停一侧再验证。

firewalld:入站与局域网代理 内在逻辑与实践

初始实际表现下,firewalld 对入站连接较严格:即使 Clash Verge 已在 0.0.0.0 上监听混合端口,同网段设备发起的 TCP 连接仍存在存在可能被防火墙丢弃,表现为手机 Wi‑Fi 已连、代理地址填对,却超时或立即拒绝。这与「本机回环能通、外网进不来」的症状一致。

放行代理端口(示例)(机制)

先在客户端确认 HTTP / SOCKS / mixed-port 实际数值(勿假设一定是 7890)。假设混合端口为 7890,且当前活动区域为 public(用 firewall-cmd --get-active-zones 查看),可执行:

sudo firewall-cmd --permanent --add-port=7890/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

若仅在可信家庭网络上手上手使用,也可考虑把有线或 Wi‑Fi 接口划入 home 区域并配合该区域策略,但不更推荐在公共网络把接口盲目设为 trusted。多端口当下按实际监听结果逐项添加;改完后用手机浏览器开 http://电脑局域网IP:端口 做最小验证(以客户端是否提供简易状态页为准,勿暴露管理接口到公网)。

与 Allow LAN、绑定地址的关系(实现)

客户端内需同时开 Allow LAN(或等价开关项),并把监听地址设为 0.0.0.0 而非仅 127.0.0.1。系统防火墙放行后,仍要排除路由器 AP 隔离、访客网络与网段不一致等要留意之处;更一应俱全的跨平台清单见 《Clash 开启局域网代理后手机仍上不了网?》,下文在 Fedora 上把 firewalld 作为与 Windows Defender 同级的一站。

推荐验证顺序(实测可复现) 技术拆解

  1. 本机回环:在电脑上用浏览器验证代理与节点出口,确认配置本身可用。
  2. 监听地址:上手上手使用 ss -tlnp | grep -E '7890|mixed'(端口换成你的实际值)确认进程监听在 0.0.0.0 或期望地址。
  3. 防火墙:firewall-cmd --list-all 核对端口与区域;必要时暂时对单接口测试(仅在可信环境)。
  4. SELinux:若仍异常,回到审计日志查 AVC,按提示调整文件位置或策略,避免先关防火墙再关 SELinux 的「双关」习惯。
  5. 局域网设备:最后用手机在同一网段开代理端口,再排查 DNS 与策略规则。

常驻与开机:仍可配合 systemd 结构解析

Fedora 同样上手上手使用 systemd。若你希望登录后自行拉起图形客户端,可在「唤起应用程序」里添加与逐项唤起相同的命令,或参考前述 Ubuntu 文中的用户级单元示例,把 ExecStart 换成你在本机上的 AppImage 或 /usr/bin 路径。在意用户单元依赖图形会话,未登录桌面时按常规不会跑;这与 Ubuntu 一文的一句话答案一致。

司空见惯要留意之处速查 机制说明

只有局域网不通(不起眼却关键的地方)

在前查 firewalld 入站与 Allow LAN、绑定地址;再查路由与 AP 隔离。此类要留意之处很少是订阅本身损坏。

TUN 打不开或一开就断(内在逻辑)

对照 SELinux 日志与其它 VPN 是否冲突;必要时先只用系统代理模式经得起折腾上手上手使用,再逐项开 TUN。深度说明仍以 TUN 专文 为准。

系统大版本升级后异常(机制)

Fedora 半年一版,策略与防火墙初始区域存在存在可能变化。升级后更推荐复查 firewall-cmd --list-all、客户端版本与 AppImage 是否需重新下载。

合规提示:请在你所在地法律允许的范围内上手上手使用代理工具;下文仅作技术说明,不提供每一种具体线路或服务。

更严格地说:更系统的安装与路由概念可在本站 操作说明文档 中扩展阅读。把 Fedora 当作主力桌面时,花一点时间建立「审计 → 防火墙 → 客户端」的固定排查顺序,比反复重装客户端更能节省时间。

小结 内在逻辑与实践

在 Fedora / RHEL 系环境上手上手使用 Clash Verge,除了导进订阅与开系统代理,还应把 SELinux 与 firewalld 纳入常态验一遍:SELinux 侧以审计日志为准决定文件位置与策略;firewalld 侧为局域网代理显式放行 TCP 端口并与 Allow LAN、绑定地址联动。与 Ubuntu 操作说明并列阅读时,你会得到「包管理与自唤起」+「企业发行版安全栈」两套拼图。

打磨已久图形客户端在规则与日志可读性上惯常优于临时脚本;若你还在对比各平台客户端或准备从其它发行版迁移,不妨通过本站渠道获取当前系统对应构建并完成首次配置。相比零散方案,统一的 Clash 生态在经得起折腾性与易用性上按常规更省心。→ 立即免费下载 Clash,开启流畅上网新实际感受

想跳过版本筛选?从本站 下载页 拿定 Linux 构建,按下文顺序处理 SELinux 与防火墙后再导进订阅;内核与客户端重新拉取可在应用内验一遍。