Fedora 上安裝 Clash Verge:SELinux 與 firewalld 放行實測步驟
為什麼在 Fedora 上談 Clash Verge,要先講 SELinux 與 firewalld?
Fedora(以及許多 RHEL 系發行版)預設同時啟用強制存取控制與動態防火牆:前者是 SELinux,後者通常是 firewalld。這與部分桌面環境「預設較寬鬆」的體驗不同,因此當您照著一般 Linux 圖形用戶端教學(例如匯入訂閱、開啟系統代理、打開 Allow LAN)操作時,可能會遇到兩種看似「程式沒問題」卻仍失敗的現象。
第一種是本機連線正常,但同一區網的手機或另一台電腦無法連到您電腦上的 HTTP/SOCKS 代理埠;第二種是進階需求(例如 TUN 模式)在介面顯示成功,實際卻無法建立虛擬介面或路由未生效。這類問題在 Ubuntu 上較少見,在 Fedora 上卻很常與 SELinux 拒絕(AVC)或「防火牆未放行入站」疊加出現。下文將把排查順序固定下來,避免您同時改訂閱、DNS 與規則,反而找不到真正原因。
與 Ubuntu 教學的關係:本站已有 Ubuntu 上安裝 Clash Verge、訂閱匯入與 systemd 開機自啟的專文,偏重套件格式、XDG 自動啟動與使用者服務。本文不重複訂閱匯入細節,而是補上 Fedora 常見的 SELinux 與 firewalld 實測步驟,兩篇並列閱讀最完整。
安裝 Clash Verge Rev:在 Fedora 上該注意什麼?
Clash Verge Rev是基於 Tauri 的圖形用戶端,預設搭載 Mihomo(原 Clash Meta)核心。實際安裝包格式會隨上游發行而更新,常見包含 .rpm、AppImage 或社群打包方式。若您從可信來源取得安裝檔,請優先透過本站 下載頁面選擇對應平台與架構,避免誤裝來路不明的封裝檔。
在 Fedora 上安裝後,建議先確認程式能正常啟動、能匯入訂閱並在「僅限本機」情境下測試通(例如瀏覽器指向 127.0.0.1 的代理埠)。若本機都無法連線,請先回到訂閱與規則層面排查;若本機正常、區網或 TUN 異常,再進入下一節的系統層級檢查。
SELinux:先判斷「有沒有擋」,再談怎麼放
SELinux 的核心是為程序與檔案標上安全脈絡,當程序行為與政策不符時,核心會拒絕並留下稽核紀錄。對 Clash 類用戶端而言,較常見的觸發點包括:非標準路徑執行檔、需要建立 tun 裝置、或對特定網路相關能力的需求與預設類型不吻合。
建議您先確認 SELinux 是否處於強制模式(而非停用)。可用下列指令檢視(需終端機):
bashgetenforce
sestatus
若看到 Enforcing,代表任何「看起來像權限不足」的錯誤,都值得先查一次稽核紀錄。可安裝並使用稽核工具(套件名稱常為 setroubleshoot 或稽核伺服器相關套件,依 Fedora 版本略有差異),並以時間點對齊的方式重現問題:在 Clash Verge 內重現一次開啟 TUN 或允許區網監聽,立刻檢視是否有新的 AVC 拒絕。
實務上常見的兩條路是:第一,若稽核紀錄指出某個可執行檔的標籤類型不正確,可考慮在確認路徑無誤後,使用 restorecon 或依官方文件調整該檔案的脈絡(這類操作與「關閉 SELinux」無關,而是讓檔案與發行版預期一致)。第二,若確定需要放寬政策,應優先使用模組化方式(例如由稽核建議產生的自訂政策模組),而不是長期把整機設成 Permissive,以免降低整體安全防護。
若您暫時需要「先確認是不是 SELinux 造成」,可在短時間、且清楚風險的前提下,以維護模式切換到 Permissive 做對照測試,然後務必回到 Enforcing 並改以正規方式修正。切勿在生產或長期使用的桌面環境永久停用 SELinux,除非您完全理解後果。
firewalld:本機代理與區網入站是兩件事
即使 Clash Verge 在設定檔中已開啟 Allow LAN,並將監聽位址設為 0.0.0.0 或正確的區網 IP,firewalld仍可能攔截來自其他主機的入站連線。這與「本機瀏覽器連 127.0.0.1」完全不同:前者是跨主機的入站,後者多半仍走 lo 介面,通常較不會被擋。
建議您先確認網路介面所屬的防火牆區域(例如 public 或 home),再決定要開放哪些埠。Clash 設定裡的 mixed-port(混合埠)或分開的 HTTP/SOCKS 埠,必須與您實際要給手機填寫的埠一致,否則會出現「防火牆已放行、但連線仍打到錯埠」的假性故障。
下列為概念性檢查(實際指令與區域名稱請依您機器為準):
bashsudo firewall-cmd --list-all
sudo firewall-cmd --list-ports
若您要長期放行特定 TCP 埠,可使用 --add-port 並以 --permanent 寫入設定,再 --reload。若環境較複雜(例如多張網卡、VPN 或橋接),可改用豐富規則,只允許特定來源網段連到特定埠,避免把整個埠暴露在您不信任的網路介面上。
更多關於「Allow LAN、混合埠、手機仍連不上」的通用排查順序,可參考本站 區網代理與防火牆排查;該文涵蓋綁定位址與埠號一致性,與本文 Fedora 專屬部分互補。
TUN 模式與路由:除錯時要連同核心模組一起看
TUN 模式會把系統流量導入虛擬網路介面,細節與各平台權限模型有關。在 Linux 上,除了用戶端介面顯示「已開啟」,您仍需確認:使用者是否具備建立 /dev/net/tun 或使用相關能力的條件、是否有其他 VPN 同時占用、以及 ip route 是否出現預期的路由表項。若您需要完整觀念與跨平台對照,可延伸閱讀本站 Clash TUN 模式完全指南。
在 Fedora 上,若 TUN 啟用瞬間出現稽核拒絕,請先回到上一節 SELinux 的稽核紀錄;若無 SELinux 拒絕、但介面仍異常,再檢查是否為路由或 DNS 鏈路問題,避免把「政策」與「規則」混在同一個除錯迴圈裡。
實測驗證:建議照這個順序收斂問題
為了讓您少繞路,建議固定順序如下:第一,本機瀏覽器或 curl 走 127.0.0.1 代理是否成功;第二,在同一台電腦上以區網 IP 自連(若可)是否成功;第三,從手機連同一 Wi-Fi 後再測;第四,若仍失敗,同時檢視 ss -lntp 監聽位址、firewalld 入站規則、以及 SELinux 稽核紀錄。每一步只改一類設定,較容易判斷責任歸屬。
進階使用者若要檢視規則命中與連線日誌,仍建議以 Clash Verge 內建日誌為主,並搭配本站 教學文件中關於規則與 DNS 的章節,避免一次改動過多參數。
結語
在 Fedora 上使用 Clash Verge Rev,本質上與其他 Linux 桌面相同:先把訂閱與規則跑通,再談系統整合。差別在於 Fedora 預設的 SELinux 與 firewalld 會把「區網代理」與「TUN」這類能力放到更嚴格的安全邊界下檢驗,因此症狀會更像「只有某個場景失效」。把稽核、防火牆與埠號一致性拆開來查,通常比盲目重裝更有效。
相較於零散工具拼裝,整合 Mihomo 核心且持續更新的圖形用戶端,在協議相容與日常維護上通常更省心。
若您希望先取得穩定的安裝入口與版本選擇,再回來對照本文的系統設定,可直接從本站下載頁開始。→ 立即免費下載 Clash,開啟流暢上網新體驗