Clash 混合端口與局域網共享代理設置:讓其他設備走同一份配置

開啟 allow-lan 與 mixed-port 後,同一區網內的電視、遊戲機、平板都能借用電腦上的 Clash 代理。本文講清端口含義、各系統防火牆放行方法與常見連不上的原因。

混合端口是什麼,為什麼區網共享要用它

Clash 核心在本機會同時監聽幾種代理協定:HTTP 代理端口、SOCKS5 代理端口,以及混合端口(mixed-port)。前兩者各管一種協定,用戶端連接時要分清用哪個端口;混合端口則是把 HTTP 與 SOCKS5 合併到同一個端口上,核心會自動識別用戶端傳來的是哪種協定再分別處理。對使用者來說,好處很直接:只需要記住一個端口號,不管是瀏覽器、下載工具,還是電視、遊戲機這類只支援某一種代理協定的設備,都指向這同一個端口即可,不用為不同設備分別配置不同端口。

大多數現代 Clash 用戶端(包括基於 Mihomo 核心的圖形介面用戶端)預設就會啟用一個混合端口,常見值是 7890。如果你打開設定檔(config.yaml),通常能看到類似這樣的欄位:

mixed-port: 7890
allow-lan: true
bind-address: "*"

這三行分別做了三件事:指定混合端口號、允許區網內其他設備連接、把監聽位址綁定到所有網卡而不是只綁定本機回環位址。三者缺一,區網共享就無法正常生效——很多人只改了 allow-lan 卻忘了檢查 bind-address,結果依舊連不上,下一節會具體展開這兩個開關的關係。

開啟區網共享的兩個開關:allow-lan 與 bind-address

allow-lan 控制的是「是否接受非本機來源的連接請求」。預設情況下,為了安全,大多數用戶端會把這個值設為 false,也就是只允許本機上的程式連接代理端口,區網裡其他設備傳來的請求會被直接拒絕。把它改成 true,是打開區網共享的第一步,也是最容易被記住的一步。

bind-address 則決定核心把服務「綁」在哪張網卡上。如果只綁定 127.0.0.1(本機回環位址),即便 allow-lan 已經打開,區網設備依然連不進來,因為流量根本沒有走到對外的網卡上。把 bind-address 設為 "*" 或者具體的區網 IP(例如 192.168.1.5),才能讓端口真正對外部設備可見。大多數圖形介面用戶端會把這一項做成開關,介面上寫著「允許區網連接」,勾選後底層其實是同時改了 allow-lan 和 bind-address 兩處,不需要手動編輯設定檔。

區網共享意味著同一網路裡的任何設備理論上都能嘗試連接你的代理端口。如果所在網路是公司、學校或咖啡廳的公共 Wi-Fi,建議只在確認可信的家庭網路裡開啟這項功能,用完及時關閉。

確認電腦區網 IP 的方法很簡單:Windows 下打開命令提示字元輸入 ipconfig,找到「IPv4 位址」;macOS 下打開「系統設定 → 網路」,選中目前連接的網路即可看到 IP;Linux 下用 ip addrhostname -I 查看。記下這個 IP,稍後配置其他設備時要用到——格式通常類似 192.168.1.x10.0.0.x

各系統防火牆放行方法

就算設定檔裡已經打開了 allow-lan,作業系統自帶的防火牆依然可能默默攔截外部連接,這是區網共享連不上的第二大原因。三大桌面系統的放行思路都類似:找到對應程式或端口,允許「私人網路/區網」方向的入站連接。

系統放行位置操作要點
WindowsWindows Defender 防火牆 → 允許應用程式通過防火牆找到 Clash 用戶端程式,勾選「私人網路」欄;若清單裡沒有,用「允許其他應用程式」手動新增安裝目錄裡的可執行檔
macOS系統設定 → 隱私權與安全性 → 防火牆 → 選項找到對應用戶端,設定為「允許傳入連線」;如果防火牆整體處於關閉狀態可跳過此步
Linuxufw / firewalld 等防火牆工具sudo ufw allow 7890/tcp 一類指令放行混合端口對應的 TCP 端口號,端口號需與設定檔中的 mixed-port 保持一致

需要留意的是,Windows 防火牆有時會把「私人網路」和「公用網路」分開處理——家庭或辦公網路若被系統誤判為「公用」,即便放行了程式,連接依然會被拒絕。可以在「網路和網際網路設定」裡把目前 Wi-Fi 或乙太網路連接手動改為「私人網路」,再重新檢查一次防火牆規則。

讓電視、遊戲機、平板走同一份配置

很多設備沒有安裝 Clash 用戶端的能力,但只要支援手動設定代理,就能借用電腦上跑著的這一份配置。操作思路是統一的:在設備的網路設定裡找到「代理」選項,手動填入電腦的區網 IP,端口填混合端口號。

  • 智慧電視 / 電視盒:進入 Wi-Fi 設定,長按或點擊目前已連接的網路進入詳情,找到「代理設定」,選擇「手動」,依次填入 IP 與端口。安卓系統電視機基本都支援這一項,部分客製化系統可能藏在「進階設定」裡。
  • 遊戲機:主流主機的網路設定裡同樣有代理選項,路徑一般是「設定 → 網路 → 設定網際網路連線 → 自訂 → Proxy 伺服器 → 使用」,填入相同的 IP 與端口即可。
  • 平板 / 手機:連接同一 Wi-Fi 後,長按該網路進入詳情,找到「配置 Proxy」,選「手動」,填寫電腦 IP 與混合端口。iOS 與 Android 的具體入口位置略有差異,但欄位名稱基本一致。

由於混合端口同時支援 HTTP 與 SOCKS5 協定,絕大多數只提供「HTTP 代理」填寫項的設備也能正常工作——它們實際發出的是 HTTP 請求,核心會自動識別並按對應協定處理,不需要額外區分。

配置完成後,這些設備的流量分流規則、節點選擇,依然由電腦上運行的這一份 Clash 配置統一決定,不需要在設備上單獨維護規則或訂閱。

常見連不上的原因排查

區網共享配好之後仍連不上,通常逃不出下面幾種情況,按順序排查效率最高:

  1. allow-lan 或對應開關沒有真正生效。改完配置後要確認用戶端已經重新載入配置或重啟,部分用戶端修改設定後需要手動點擊「套用」才會寫入運行中的核心。
  2. bind-address 仍綁定在本機回環位址。圖形介面裡的「允許區網連接」開關理論上會同步處理,但如果是手動編輯 YAML 檔案,容易漏改這一項。
  3. 防火牆攔截。參照上一節逐一確認 Windows/macOS/Linux 對應的放行位置,尤其注意「私人網路」與「公用網路」的區分。
  4. IP 或端口填錯。電腦重啟或切換網路後區網 IP 可能發生變化,尤其是透過 DHCP 自動取得位址的網路環境;建議在路由器後台把電腦 IP 設為靜態綁定,避免每次都要重新查看。
  5. 兩台設備不在同一網段。如果電腦接的是 5GHz Wi-Fi、其他設備接的是訪客網路或 2.4GHz 隔離網路,即便同屬一個路由器,也可能被路由器的訪客網路隔離功能擋住,需要在路由器設定裡關閉「訪客網路隔離」或改為同一網路。

逐項排查完仍未解決時,可以先在電腦本機用瀏覽器手動設定同樣的代理位址測試,確認代理本身工作正常,再回頭檢查是設備端問題還是網路隔離問題,這樣能更快定位到底卡在哪一環。

把配置跑起來

區網共享說到底是在已經跑起來的 Clash 用戶端基礎上多開兩個開關。如果還沒有安裝用戶端,先完成下載與基礎配置,再回到本文照著開啟共享。

下載用戶端