1. 首頁
  2. 部落格
  3. Clash 混合端口與允許局域網連接設置

Clash 混合端口與允許局域網連接設置:多設備共享代理完整配置

解釋 mixed-port 與 allow-lan 兩個字段的實際作用,示範如何讓手機、電視盒子和遊戲機透過區域網路內一台電腦的 Clash 上網,並提示防火牆放行與鑑權注意事項。

為什麼一台電腦就能讓全屋設備上網

很多人對 Clash 的第一印象停留在「幫瀏覽器換個網路路徑」,實際上 Clash 的代理核心和系統防火牆沒有綁定關係——它本質上是一個監聽在本機某個端口上的網路服務,任何能連接到這個端口的設備,無論是不是同一台電腦,都可以把流量交給它處理。這意味著只要區域網路內的其他設備知道這台電腦的內網 IP 和 Clash 監聽的端口,把自己的網路請求指向這個地址,就能借用這台電腦已經配置好的訂閱節點和分流規則上網,而不需要在電視盒子、遊戲主機這類難以安裝客戶端的設備上重複配置一遍。

這種用法在家庭網路裡很常見:一台常年開機的電腦或者 NAS 上跑著 Clash,手機、平板、智慧電視、遊戲機全部透過區域網路連接過去,省去了逐台設備安裝客戶端、逐台設備維護訂閱的麻煩。要實現這一點,核心只涉及配置檔案裡的兩個字段:決定監聽端口的 mixed-port,以及決定是否接受區域網路外部連接的 allow-lan。這兩個字段配合得當,一台電腦就能變成全屋的出口網關;配置不當,輕則其他設備連不上,重則把未鑑權的代理端口暴露給了整個區域網路甚至更大範圍。

mixed-port 字段到底控制什麼

Clash 早期版本裡,HTTP 代理、SOCKS5 代理是分開監聽在不同端口上的,配置檔案裡會看到 port(HTTP)和 socks-port(SOCKS5)兩個獨立字段。這種拆分方式在客戶端只需要轉發瀏覽器流量時夠用,但一旦要接入的設備類型變多——有些客戶端只支援 HTTP 代理,有些只認 SOCKS5,維護兩套端口就很繁瑣。mixed-port 是後來引入的合併方案:同一個端口同時接受 HTTP 和 SOCKS5 兩種協議的連接,Clash 核心會自動識別客戶端發來的是哪種協議並做相應處理。

目前主流客戶端的預設配置裡,混合端口普遍設置為 7890,這也是大多數教學裡出現這個數字的原因。字段寫法很簡單:

mixed-port: 7890

把這個端口告訴其他設備,它們只需要在自己的 Wi-Fi 或網路設定裡填入「這台電腦的內網 IP + 7890」作為代理地址,就能把流量轉發過來。需要注意的是,mixed-port 只決定「用哪個端口接客戶端連接」,它不管這個端口能不能被區域網路裡的其他設備存取到——這部分權限完全由另一個字段決定,也就是接下來要說的 allow-lan

allow-lan:決定端口是否對外開放

預設情況下,Clash 出於安全考量,allow-lan 字段的值是 false。這個狀態下,即使 mixed-port 監聽著 7890 端口,這個端口也只接受來自本機(127.0.0.1)的連接請求,區域網路內的其他設備發起連接會被直接拒絕,表現為連接超時或拒絕連接。這是一種保護機制:如果沒有這道限制,任何一台運行著 Clash 且連接了公共 Wi-Fi 的電腦,都可能把自己的代理端口暴露給同一 Wi-Fi 下的陌生設備。

要讓區域網路內其他設備接入,需要明確開啟這道限制:

allow-lan: true
bind-address: "*"

bind-address 決定監聽地址綁定在哪個網卡上,寫成 * 表示監聽本機所有網路介面(包括有線和無線),這樣無論其他設備是透過路由器的哪個網段接入,都能連接到這台電腦上的 Clash 服務。如果這台電腦同時插著網路線又連著 Wi-Fi,且兩者在不同的子網段,綁定 * 能避免遺漏某個網卡上的連接請求。

注意

allow-lan: true 開啟後,理論上任何能存取到這台電腦所在網段的設備都可以嘗試連接這個端口,不只是你信任的家庭設備。如果這台電腦接入的是公司網路、咖啡廳 Wi-Fi 或者未做隔離的公共網路,開啟這個字段前務必先確認鑑權配置(見下文),否則相當於把出口權限交給了整個網段。

從零搭建家庭多設備共享出口

以家庭網路場景為例,完整流程大致分為四步。

  1. 確認承載設備的內網 IP

    在 Windows 上開啟命令提示字元執行 ipconfig,在 macOS 或 Linux 上執行 ifconfigip addr,找到形如 192.168.x.x10.x.x.x 的地址。這個地址要保持相對固定——建議在路由器管理後台為這台設備的 MAC 位址綁定一個固定 IP(通常叫「靜態 DHCP」或「IP-MAC 綁定」),否則路由器重啟後這台電腦換了個 IP,其他設備的代理配置就要跟著改。

  2. 配置 mixed-port 與 allow-lan

    在 Clash 客戶端的配置檔案裡加入前文提到的三行:mixed-port: 7890allow-lan: truebind-address: "*"。多數圖形化客戶端也提供了對應的開關,不需要手動改檔案,在設定面板裡找到「區域網路連接」或「Allow LAN」選項開啟即可,效果等同。

  3. 放行本機防火牆

    Windows 系統防火牆、macOS 的應用程式防火牆預設會攔截外部設備對未知端口的存取請求,即使 Clash 已經在監聽 7890 端口,防火牆層面沒有放行的話,區域網路設備依然連不進來。Windows 上需要在「允許應用程式通過防火牆」裡為 Clash 程式放行私人網路存取權限;macOS 首次執行開啟監聽時通常會彈出系統權限提示,選擇允許即可。

  4. 在其他設備上填寫代理地址

    手機、平板在 Wi-Fi 詳情頁的代理設定裡選擇「手動」,填入這台電腦的內網 IP 和端口 7890。智慧電視和遊戲機的網路設定裡通常也有類似的「HTTP 代理」選項,填法相同。設定完成後開啟一個網頁測試,能正常載入即說明鏈路暢通。

混合端口鑑權:不給整個網段開後門

開啟 allow-lan 之後,如果不加任何限制,同一網段內的所有設備(包括你不認識的鄰居蹭網設備、公司裡的其他同事電腦)理論上都能把流量轉發到這台電腦的 Clash 上,白用你的節點流量,極端情況下還可能被用來做一些你無法控制的網路行為。給混合端口加一層使用者名稱密碼鑑權是低成本的防護手段:

authentication:
  - "homeuser:a-strong-password"

這行配置生效後,設備端填寫代理時需要額外提供這組使用者名稱和密碼才能通過鑑權,大多數系統的代理設定介面在填寫代理地址後會彈出帳號密碼輸入框,支援這項功能;不支援鑑權彈窗的客戶端(某些電視盒子的網路設定選單)可能無法使用鑑權後的代理,這種設備只能依賴網段隔離或者放寬鑑權限制,需要權衡便利性和安全性。

另一種更徹底的隔離思路是把承載 Clash 的這台電腦放進獨立的 VLAN 或者路由器的「訪客網路」以外的可信網段,只讓家庭內部信任的設備能觸達這個網段,即便不設鑑權也不會暴露給外部陌生設備。有能力自訂路由器網路拓撲的使用者,這種方式比單純依賴帳號密碼更穩妥。

區域網路共享時常見的連接失敗排查

實際操作中最常遇到的問題往往不是配置檔案寫錯,而是網路環境的細節被忽略。以下幾種情況按排查優先順序列出:

  • 兩台設備不在同一網段:路由器如果開啟了 AP 隔離(常見於訪客 Wi-Fi)或者手機連的是 5G 行動網路而不是同一個 Wi-Fi,內網 IP 根本互相不可達,這種情況下無論配置怎麼改都連不通,先確認兩台設備處於同一區域網路。
  • 防火牆攔截了入站連接:即使客戶端軟體層面開了 allow-lan,系統防火牆的預設規則也可能優先攔截,需要單獨為 Clash 程序或 7890 端口新增入站放行規則。
  • bind-address 綁定了錯誤的網卡:如果配置裡寫了具體的某個 IP 而不是 *,且這個 IP 對應的網卡目前沒有連接網路(比如電腦同時裝了虛擬機器網卡),監聽就落在了一個「死」介面上,外部設備自然連不進來。
  • 客戶端介面開關和配置檔案衝突:部分客戶端在圖形介面裡單獨維護一份「區域網路連接」開關,和訂閱配置檔案裡的字段是兩套邏輯,配置檔案寫對了但介面開關沒同步開啟,同樣會導致連接失敗,建議以客戶端介面的實際開關狀態為準做二次確認。
  • 端口被其他程式佔用:如果這台電腦上還跑著別的代理軟體或者資料庫服務佔用了 7890 端口,Clash 啟動時會監聽失敗或者改用其他端口,查看客戶端日誌確認實際監聽端口是否與設備端填寫的一致。

混合端口共享與其他分流方式的關係

需要說明的是,透過 mixed-port 共享出去的連接,走的是系統代理這條路徑,規則分組、DNS 處理等邏輯都在承載設備(那台開著 Clash 的電腦)的核心裡完成,接入的手機或電視盒子本身不需要理解任何 Clash 概念,它們只是把流量原樣丟給代理端口,處理結果原樣收回。這和在設備本機安裝 Clash 客戶端並開啟 TUN 模式是兩種不同的思路:TUN 模式接管的是本機全部網路層流量,包括 UDP 與不支援代理協議的程式;而區域網路共享本質上仍是應用層的 HTTP/SOCKS5 代理轉發,某些強制走系統底層網路堆疊、不識別代理設定的應用程式或遊戲,即便設備連接到了共享代理,依然可能繞過它直連。

因此,區域網路共享方案更適合覆蓋瀏覽器、影片類客戶端等遵守系統代理設定的場景,如果某台電視盒子或遊戲機的特定應用程式連不上、繞過了代理,大多是這類應用程式不讀取系統代理配置導致的,不屬於 Clash 配置錯誤,遇到這種情況通常需要該設備本身支援全局透明代理或者路由器層面的分流路由方案才能徹底解決,這也是很多家庭最終選擇在路由器上直接部署核心的原因。

小結

mixed-port 決定 Clash 用哪個端口同時接受 HTTP 與 SOCKS5 連接,allow-lan 決定這個端口是否對區域網路內其他設備開放,兩者配合 bind-address 與鑑權字段,就能讓一台電腦變成全屋設備的出口網關。開啟區域網路存取前先確認所在網路環境是否可信,給端口加上帳號密碼鑑權是最基本的防護措施。

取得 Clash 客戶端

需要一台設備率先跑通訂閱、規則與區域網路共享配置?前往下載頁取得對應平台的官方客戶端,或查看安裝教學了解從零配置的完整步驟。

下載 Clash 客戶端