Fedora 上安装 Clash Verge:SELinux 与防火墙放行实测操作次序
为什么在 Fedora / RHEL 系要单独谈 SELinux 与 firewalld? 实战经验
不少用户从 Ubuntu 或 Debian 系换到 Fedora Workstation、Rocky、Alma 等 RHEL 家族发行版后,会沿用同一套「下载图形客户端 → 带进来订阅 → 开系统代理」的流程;前端前端前端界面层面一切正常,却在以下几类场合突然卡住:本机浏览器明明已走代理,局域网里的手机却连不上电脑的 HTTP 端口;客户端日志提示监听走不通或权限不足;开启 TUN 后路由表异常或与自带 VPN 冲突。与预置关闭强制访问目标目标目标控制的桌面环境相比,Fedora 预置启用 SELinux(强制模式),再配合预置运转的 firewalld,入站流量与可执行文件标签都会多一层策略约束。
本站已有面向 Linux 的 《Ubuntu 上装 Clash Verge:订阅带进来与 systemd 开机自启》,侧重 deb/AppImage 路径与 systemd 用户单元。这篇不重复逐步教订阅语法,而是补齐 Fedora 上最高频的 SELinux 审计与 firewalld 放行顺序,并说明与局域网代理、端口监听相关的实测排错路径,便于你在企业级策略环境下也能靠得住拿它来用 Clash Verge(基本上时候指社区维护、内核为 Mihomo 的 Clash Verge Rev 系构建)。
范围说明:下文以 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 流程(最高频)(实战)
- 将
.AppImage放到固定目录,举个实例~/Applications/或/opt/clash-verge/(后者便于统一标签与备份)。 - 执行
chmod +x Clash.Verge*.AppImage;若从浏览器下载,部分文件多半带「禁止执行」扩展属性,可用chmod与ls -l复查。 - 首次自然可以考虑在终端前台跑起来,便于就这么看到 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 同级的一站。
推荐验证顺序(实测可复现) 拿它来用心得
- 本机回环:在电脑上用浏览器验证代理与节点出口,确认配置本身可用。
- 监听地址:拿它来用
ss -tlnp | grep -E '7890|mixed'(端口换成你的实际值)确认进程监听在0.0.0.0或期望地址。 - 防火墙:
firewall-cmd --list-all核对端口与区域;必要时暂时对单接口测试(仅在可信环境)。 - SELinux:若仍异常,回到审计日志查 AVC,按提示调整文件位置或策略,避免先关防火墙再关 SELinux 的「双关」习惯。
- 局域网设备:最后用手机在同一网段访问目标目标代理端口,再排查 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 与防火墙后再带进来订阅;内核与客户端同步到最新可在应用内确认。