1. 为什么 Fedora 要单独讲:与 deb 系不同的真实差异
Fedora 默认启用较新的内核与用户态工具链,软件仓库以 RPM 为主,命令行入口是 dnf。社区里常见的 Clash Meta 上游发布物多为通用静态链接或 glibc 系压缩包,并不总是提供官方签名的 Fedora 专用仓库。于是「复制二进制到 /usr/local/bin、自建配置目录、用 systemd 管生命周期」反而成为桌面与轻量服务器上最可控的路径;它与 Ubuntu 上 deb 安装后再 enable 服务的心智相同,差别主要在包管理器命令与发行版安全策略(例如 firewalld、SELinux)上需要你多留一步。
另一块常被忽略的是本机代理端口模型。在桌面场景,把 mixed-port 定清楚,等于同时定好了浏览器、终端工具链、以及部分桌面应用走 HTTP 或 SOCKS 的入口;这比上来就折腾 TUN 更利于排错。下文假设你使用 Fedora Workstation 或 Server 近年版本,systemctl 与 journalctl 行为与多数 systemd 发行版一致。
2. 安装:dnf/rpm 与通用二进制在 Fedora 上的落点
若你通过可信第三方 rpm 或 dnf install 获得已打包的 mihomo,请以包内说明为准,确认可执行文件路径与单元里 ExecStart 一致。更常见的情形是:从上游发布页获取 linux-amd64(或 aarch64)压缩包,校验哈希后解压,将二进制重命名为你记得住的名字(例如 mihomo),再放入 /usr/local/bin/ 并赋予可执行位。Fedora 上 /usr/local/bin 通常在默认 PATH 中,适合个人或单用户机器。
无论 rpm 还是手动落盘,都请避免从不可信渠道下载「已改名」的可执行文件。订阅与远程配置的导入与 deb 系没有本质区别;若你还不熟悉订阅链接如何写入配置,可先阅读站内 订阅导入教程,再回到 systemd 段落,避免 YAML 未就绪就反复重启服务。
与图形化「全家桶」客户端的关系
本文写的是内核加 systemd 的半无头路线。若你希望节点切换、规则编辑都在图形界面完成,可在本站 下载页选择带 UI 的桌面客户端;与裸跑内核相比,客户端往往替你处理系统代理开关与部分权限细节,但同一台机器上应避免两个进程绑定同一 mixed-port 或争抢 TUN。
3. mixed-port 首配:一个端口承接 HTTP 与 SOCKS
mixed-port 的含义很直白:在同一个 TCP 端口上同时接受类 HTTP 代理与 SOCKS 客户端连接,由内核按协议嗅探分流。对 Linux 桌面代理来说,这减少了你记两套端口的心智负担:桌面「手动代理」里填 127.0.0.1 加该端口即可;终端里导出 ALL_PROXY、HTTP_PROXY 时也指向同一地址。初次配置建议选一个未被占用的高位端口(例如 7890 一类常见约定),并在改完后用 ss -lntp 确认监听已出现。
下面是一段仅示意结构的片段,字段名与层级请与你实际使用的 mihomo 版本文档对齐;重点是显式写出 mixed-port,并保留 mode 与最简 proxies 或订阅引用,先保证进程能启动、端口能监听。
port: 0
socks-port: 0
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
proxies: []
proxy-groups: []
rules:
- MATCH,DIRECT
将 port 与 socks-port 置零、只保留 mixed-port,可避免「误以为旧端口仍在用」的混乱。真正接入订阅后,再把 rules 换成你的策略组与域名规则;若你希望理解策略命中顺序,可对照站内 高级规则分流指南,避免把「DNS 或 Fake-IP 问题」误判成端口没起来。
4. 基础策略顺序:先能上网,再谈精细化分流
第一次把 mihomo 拉到 Fedora 上时,最稳的路径是:进程能启动 → 端口在监听 → 本机 curl 走代理能出网 → 再逐步收紧规则。若一上来就写大量 GEOIP 与第三方规则集,出错面会成倍放大。建议先用最小规则确认链路,再导入远程规则提供者;订阅 URL 若需 TLS 校验或内网 DNS,请在 YAML 与系统解析之间对齐,避免 journalctl 里只看到反复的超时。
mode: rule 与 GLOBAL 策略组的关系这里不展开到每一条边;你只要记住:策略组名称、引用关系与规则最后一行兜底必须自洽,否则浏览器会表现为「连接被重置」或长时间白屏,与 systemd 是否自启无关。排错时先看日志级别与错误行号,再动规则。
5. systemd 单元:与 Ubuntu 思路一致,路径按本机校正
Fedora 同样以 systemd 为 PID 1 标配。新建 /etc/systemd/system/clash-meta.service(文件名可自定),把 ExecStart 指到你的二进制与配置目录。下面模板与站内 Ubuntu 专文同构,请替换路径与用户。
[Unit]
Description=Clash Meta (mihomo)
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=clash
Group=clash
ExecStart=/usr/local/bin/mihomo -d /etc/clash
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
AmbientCapabilities=CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_NET_ADMIN CAP_NET_RAW
NoNewPrivileges=true
[Install]
WantedBy=multi-user.target
若你尚未创建系统用户 clash,可用 useradd 建立不可登录的系统账号,并把 /etc/clash 属主与权限设好。修改单元后执行 sudo systemctl daemon-reload。CAP_NET_ADMIN 是否保留取决于你是否启用 TUN;若暂用仅 mixed-port,可先收紧权能集,失败再加回,减少攻击面。
若你更倾向「登录后再起代理」,可改用用户级 systemd(~/.config/systemd/user/)并配合 linger,但开机自启与无头场景仍以系统级单元更直观。
6. 开机自启、立即启动与 journalctl 验证
首次启用:sudo systemctl enable --now clash-meta.service。enable 写入开机自启链接,--now 立即拉起一次。日常改配置后多用 sudo systemctl restart clash-meta.service;若内核支持 API 热重载,可在不中断长连接的前提下更新部分设置,具体以上游文档为准。
验证三步:systemctl status clash-meta.service 看是否 active (running);journalctl -u clash-meta.service -e 看启动期报错;curl -x http://127.0.0.1:7890 -I https://www.example.com(端口换成你的 mixed-port)验证本机 HTTP 代理链是否通畅。若此处失败,先不要动防火墙规则,优先查 YAML 与上游连通性。
7. Linux 桌面代理:把 GNOME 或应用指向本机 mixed-port
Fedora Workstation 默认 GNOME 可在「设置 → 网络 → 网络代理」选择手动,把 HTTP 与 HTTPS 代理填为 127.0.0.1 与 mixed-port。部分应用不读桌面代理,需要单独配置或走环境变量;这与发行版无关,是桌面生态的常态。若你后续改用 TUN 做透明代理,行为会与「仅系统代理」显著不同,可再阅读站内 TUN 模式说明 对照理解。
终端会话里临时测试可执行 export HTTPS_PROXY=http://127.0.0.1:7890,确认无误后再写入 ~/.bashrc 或 fish 配置,避免把调试态永久固化。与 Windows 或 macOS 上图形客户端一键「系统代理」相比,Linux 桌面需要你自己把「系统设置」与「shell 环境」两条线对齐,这是正常现象。
8. firewalld、allow-lan 与 SELinux 注意点
默认 allow-lan: false 时,监听只应对本机可见,firewalld 往往无需放行。若你把 allow-lan 打开给局域网设备用,需要在 firewall-cmd 里为对应 zone 放行该 TCP 端口,并清楚认知局域网内任何人可尝试连接你的代理入口的风险。Fedora 上 SELinux 对非包管理器写入的路径、以及监听低端口等行为可能更敏感;若 journalctl 出现拒绝类审计行,需要按审计建议调整布尔值或策略,而不是简单关闭 SELinux。
TUN 场景涉及创建虚拟网卡与路由改写,与仅 mixed-port 的权能需求不同;若你启用 TUN 后服务起不来,应回到单元里的 CapabilityBoundingSet 与上游文档逐项核对,而不是先怀疑 dnf。
9. 与站内 Ubuntu systemd 专文如何对照阅读
站内已有 Ubuntu 安装 Clash Meta 与 systemd 自启:从 deb 到开机拉起完整步骤,其systemd 单元骨架、Restart 策略、journalctl 排错与本文完全可对照:差别主要在「你如何拿到二进制」以及「Fedora 上防火墙与 SELinux 多留一步」。若你双系统并行,建议两套配置目录分开,避免路径写串。
读完两篇后,你在任何 systemd Linux 上都会落到同一结论:YAML 负责策略,systemd 负责进程与自启;把边界划清,排错会快很多。
10. 常见问题
服务反复重启:多半是配置解析失败、mixed-port 被占用,或订阅 URL 不可达。先 journalctl 定位具体行,再改 YAML,避免把 Restart 调成 always 掩盖根因。
桌面已开代理但浏览器不走:检查是否用了不支持系统代理的浏览器配置、或扩展覆盖了代理;用 curl -x 对比排除。
想用 dnf 一键装好一切:请只添加你信任的仓库;上游发布节奏与 Fedora 审核节奏不一致时,手动二进制仍是常见做法。
11. 排查清单
在 Fedora 这条线上,rpm/dnf 与 SELinux 会改变你「装软件」的手感,但 Clash Meta 作为常驻代理内核,仍最吃systemd 这一套:开机自启、异常退出后的自动拉起、以及日志里可检索的启动轨迹。把 mixed-port 先定稳,再在 YAML 里逐步加规则,你会比一上来就堆规则集少踩很多坑。相比完全依赖临时终端会话,这种组合在Linux 桌面代理场景里长期稳定性明显更好。
mihomo 内核的源码、变更记录与议题跟踪见 GitHub 仓库 MetaCubeX/mihomo,便于核对行为与参与社区讨论;该链接与下方「获取客户端」入口分工,日常安装包与跨平台客户端仍以本站下载页为主路径。
若你希望以图形安装包与固定更新节奏获取客户端,把精力放在规则与节点质量上,本站聚合的各平台安装入口会更省心。
相关阅读 · 同主题集群
按主题相关度匹配的延伸阅读,覆盖同分类下的实战配置文章。
Debian 12 安装 Clash Meta:从二进制到 systemd 自启与 mixed-port 首配(2026)
面向 Bookworm 桌面与服务器:说明稳定仓库现状与「照抄 Ubuntu」的坑,用校验过的 mihomo 二进制落盘、/etc/clash 权限与 systemd 实现开机自启;mixed-port 首配、journalctl 与 curl 验证、ufw 与 allow-lan 暴露面,并与站内 Ubuntu de…
阅读全文Arch Linux 安装 Clash Meta:systemd 自启与首配步骤(2026)
面向 Arch 与 Manjaro:在 AUR、yay 与手动包路径上部署 mihomo(Clash Meta),用 systemd 系统或用户单元实现开机自启与崩溃拉起;mixed-port 首配、订阅与配置目录、journalctl 验证,及 KDE/GNOME 桌面代理;与站内 Ubuntu deb、Fedora…
阅读全文Ubuntu 安装 Clash Meta 与 systemd 自启:从 deb 到开机拉起完整步骤
在 Ubuntu 桌面或轻量服务器安装 Clash Meta(mihomo):deb 与二进制路径、配置目录与权限、systemd 单元实现开机自启与崩溃重启,以及 journalctl 验证与 TUN 权能要点。
阅读全文