Fedora 工作站首次安装 Clash Verge:SELinux 与 firewalld 放行分步操作(2026)
在 Fedora Workstation 上安装带界面的 Clash Verge Rev(内核多为 Mihomo/Clash Meta)并导入订阅时,很多人已经习惯参考 Debian 系教程;但 Fedora 默认启用的 SELinux 与 firewalld 会显著改变「装得上却起不来」「本机通、局域网不通」「一开 TUN 就报错」的表现。本文与站内 Ubuntu 24.04 安装 Clash Verge 教程互补,专门讲 Linux 桌面里 Fedora 侧的放行与验证步骤;请仅在合法合规且网络环境可信的前提下使用。
本文适合谁、读完能做什么
适合已经在用或准备使用 Fedora Workstation/Fedora KDE,希望从本站下载页获取 Linux 制品、完成图形客户端 首次配置,并在启用系统代理、允许局域网或 TUN 模式时遇到权限/防火墙告警的读者。读完你可以独立完成:判断当前问题是订阅与节点层面,还是SELinux 拒绝访问、firewalld 未放行端口;用系统自带工具查看 AVC 与日志;用 firewall-cmd 为当前活动区域持久化添加端口规则;并在改完后用 curl、ss 等命令做对照验证。若尚未建立「订阅、配置档、规则、代理组」的整体概念,可先浏览Clash 使用教程;订阅拉取失败等共性问题仍建议对照订阅链接那些事。
为什么 Fedora 与「Ubuntu 上能跑」不是同一套排错
Ubuntu 24.04 等 Debian 系默认往往不启用 SELinux,防火墙也常由 iptables/nft 或用户自行安装的工具管理;而 Fedora 作为 RHEL 家族的工作站发行版,默认强制访问控制与区域化防火墙同时存在。结果是:同一份 Clash Verge 安装包,在 Ubuntu 上「双击就能用」的路径,在 Fedora 上可能多出一层:可执行文件读取配置目录、内核创建 TUN 设备、或监听非回环地址时,被策略拒绝并只在日志里留下一条 AVC。
另一方面,firewalld 按「区域」管理入站策略,默认 public 区域对入站连接较保守;当你打开允许局域网(配置里常对应 allow-lan: true)并希望同网段设备使用本机代理端口时,与 Windows 上「补一条入站规则」类似,需要在 firewalld 中显式放行对应 TCP 端口。本文把「先确认 SELinux 是否拒绝,再处理 firewalld 端口」作为固定顺序,避免把策略问题误判为端口写错或订阅失效。
安装与首次启动:制品类型与常见路径
请优先从本站下载页获取 Fedora/Linux 对应的 AppImage、RPM 或 Flatpak 说明所指向的制品,避免使用来路不明的二次打包。若使用 RPM 安装,系统包管理器会把文件放入标准前缀,SELinux 对发行版打包路径往往已有预期标签;若使用 AppImage 或解压到用户家目录的独立目录,则更容易触发「可执行文件访问非常规路径」的 AVC,需要结合下文用 audit2why 或调整文件上下文。
首次启动后,先完成最基本的「能打开界面、能写入配置目录」再谈订阅;若图形界面直接报错退出,优先在终端从前台启动同一条命令,观察完整 stderr。若提示与 /dev/net/tun、cap_net_admin 等相关,多半与 TUN 权限有关,可先不启用 TUN,仅用系统代理完成订阅导入与节点验证,再按TUN 模式深度解析逐步尝试。
第一步:确认 SELinux 是否拒绝(AVC)
在终端执行 getenforce,若输出为 Enforcing,说明策略处于强制模式;若为 Permissive,策略仍会记录拒绝,但不会拦截;若为 Disabled,则与 SELinux 无关,应直接排查防火墙与客户端配置。绝大多数 Fedora 默认工作站安装为 Enforcing,因此「服务起不来」时值得先看审计日志。
使用 root 或具备权限的账户执行:
# Show recent SELinux denials (example)
sudo ausearch -m avc -ts recent 2>/dev/null | tail -n 50
sudo journalctl -xe
若看到与 Clash Verge 或 Mihomo 进程相关的 denied 行,把其中一条交给 audit2why 或 sealert(若已安装 setroubleshoot 相关组件)解析,通常会提示是否缺少某个布尔值、是否需要为路径设置 fcontext。不要一上来就把整机关成 Permissive 作为长期方案;仅在隔离环境下短暂切换以验证「确实是 SELinux 导致」时,可临时使用 sudo setenforce 0,验证后务必 sudo setenforce 1 恢复,并改为针对性策略或移动文件到符合标签的路径。
对常见场景:可执行文件位于家目录下的自定义文件夹,若策略期望其具有 bin_t 等类型,可能需要 semanage fcontext 与 restorecon;具体命令必须以 audit2why 输出为准,不同版本 Fedora 策略集略有差异,本文不给出可能覆盖过大的通配符示例。若你使用发行版或第三方仓库提供的 RPM,通常比手工解压更少遇到标签问题。
第二步:firewalld 放行本机代理与局域网入站
仅当你需要本机浏览器走代理时,流量多为出站,firewalld 往往不拦;但若你打开允许局域网,内核会在 0.0.0.0 或指定网卡上监听 HTTP/SOCKS/mixed 端口,其他设备访问属于入站,必须在防火墙中放行对应端口。先确认活动区域与接口:
# List active zones and interfaces
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --list-all
记下当前网卡所在的区域(常见为 public)。假设客户端 mixed 端口为 7890(请以你界面或 YAML 中实际 mixed-port 为准),可添加持久化规则并重载:
# Replace 7890 with your real mixed-port / HTTP port
sudo firewall-cmd --permanent --add-port=7890/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
若你同时开放 SOCKS 端口或另一个 HTTP 端口,需分别添加;若仅在可信家庭网络使用,仍建议把允许局域网与防火墙放行视为同一套安全策略:离开公共 Wi‑Fi 后应关闭局域网监听或收紧规则。与 Windows 上「公用/专用网络」类似,firewalld 的区域决定了哪些接口适用哪些规则;若你把无线网卡划到 home 区域,请在该区域同样执行 --add-port,或改用 --zone=... 显式指定。
第三步:订阅导入与「能连上」的最低闭环
在客户端内新建订阅,粘贴服务商提供的 HTTPS 订阅链接,保存并执行更新;成功后激活包含该订阅的配置档,在代理组中选择可用节点,将模式设为「规则」或按需测试。若此处仍失败,优先检查系统时间、HTTPS 是否被劫持、DNS 是否异常,而不是继续改防火墙;详细归纳见订阅链接常见问题。
Linux 桌面下,开启 Clash Verge 的系统代理后,多数遵循桌面代理设置的浏览器会走本地端口;若命令行工具不走代理,属正常现象,与 Fedora 特有问题无关。需要更底层接管时再考虑 TUN;TUN 与 DNS、fake-ip 的耦合仍建议对照TUN 模式深度解析,避免把解析问题误判为节点失效。
第四步:开机自启与 systemd(与 Ubuntu 文一致)
若你希望登录后自动启动图形客户端,可使用 systemd 用户实例编写单元文件,具体路径、ExecStart 写法与注意事项与 Debian 系相同,可直接对照站内 Ubuntu 24.04 安装 Clash Verge:订阅导入与 systemd 开机自启 一文中的「第三步」小节;若服务启动失败,请同时查看 journalctl --user -u 你的服务名 与 SELinux 审计日志,避免只改一端。
验证与对照排查顺序
建议按下列顺序收敛问题:(1)关闭 TUN,仅用系统代理,确认浏览器能访问外网;(2)ss -lntp 查看监听地址是否为 127.0.0.1 或 0.0.0.0,与「是否允许局域网」预期一致;(3)同网段设备测试前,确认 firewalld 已放行对应端口;(4)出现权限拒绝时先查 AVC,再考虑调整策略或安装路径;(5)修改防火墙或 SELinux 后,用 curl -x http://127.0.0.1:端口 https://www.example.com(端口与协议按你实际为准)做本机回环测试。若仍异常,记录完整日志片段再检索,避免在未确认订阅有效的前提下反复重装机。
安全与合规提醒
开启允许局域网意味着同网段设备可能尝试连接你的代理端口;在不可信网络应关闭。不要在公开渠道泄露订阅链接与 Token。请遵守所在地法律法规与服务条款;本文仅描述在自有设备与授权网络下的技术调试。
小结
在 Fedora Workstation 上用好 Clash Verge,除了「订阅导入与规则」之外,还要把 SELinux 与 firewalld 纳入同一套 checklist:先确认没有 AVC 拒绝,再为需要对外监听的端口配置 firewalld,最后才做局域网与 TUN 的进阶能力。与站内 Ubuntu 24.04、Windows 11 等教程并列,可把「Linux 桌面」场景下不同发行版的差异补齐。相比在多个论坛碎片间拼凑命令,统一从本站下载页获取客户端、配合使用教程建立习惯,长期维护成本更低;在规则分流与可观测性方面,Clash 系仍有明显优势。→ 立即免费下载 Clash,开启流畅上网新体验。