2026-07-02 · 進階設定 · 約 9 分鐘·clashsupport.com

Clash 區域網路共享代理設定:mixed-port、allow-lan 與防火牆放行完整步驟

一台電腦跑 Clash,讓手機、電視、遊戲機共用同一條代理線路,不必逐裝置折騰。本文說明 mixed-port 混合端口的意義、allow-lan 的開啟方式、bind-address 的取值差異,以及 Windows 與 macOS 兩端的防火牆放行與其他裝置的代理填寫方法。

為什麼要做區域網路共享代理

Clash 本身是一個跑在單台裝置上的代理核心,預設只監聽本機位址(127.0.0.1),這意味著只有這台電腦上的軟體能透過它連上網路。但很多情境下,手機、平板、智慧電視、遊戲機同樣需要走同一條線路——單獨替每個裝置裝用戶端並不現實,尤其電視和遊戲機往往沒有對應的用戶端可裝。

區域網路共享代理的思路很直接:讓 Clash 監聽區域網路內的所有網卡位址,其他裝置把系統代理指向這台電腦的 IP 和端口,流量就會經過 Clash 的規則比對和節點轉發再出網。整個過程不需要額外軟體,靠的是設定檔裡幾個欄位的組合,以及作業系統防火牆層面的放行。

mixed-port:先搞清楚監聽的是哪個端口

Clash 的設定檔裡,端口相關欄位主要有 port(HTTP 代理端口)、socks-port(SOCKS5 代理端口)和 mixed-port(混合端口)。前兩者是歷史遺留的分離寫法,而 mixed-port 是目前主流用戶端(尤其是基於 Clash Meta / mihomo 核心的用戶端)推薦的寫法:同一個端口同時接受 HTTP 和 SOCKS5 協定的連線,用戶端會自動判斷協定類型再處理,不必再分別設定兩個端口。

mixed-port: 7890

寫了 mixed-port 之後,portsocks-port 可以不再單獨設定(部分用戶端介面會把三者合併為一個「混合端口」輸入框)。區域網路內的其他裝置在填寫代理時,統一填這個端口即可,不用區分 HTTP 還是 SOCKS5。

提示

如果你使用的用戶端圖形介面裡只有一個「端口」輸入框而沒有分離的 HTTP/SOCKS 端口,那它底層用的基本就是 mixed-port,不用額外操作。

allow-lan:打開區域網路存取的總開關

光設定好端口還不夠。Clash 預設的監聽行為是「只聽本機」,這是出於安全考量的預設值——避免設定檔被隨意分享後,別人不小心把自己電腦的代理端口暴露給整個區域網路。要讓區域網路內的其他裝置連接進來,必須明確打開這個開關:

allow-lan: true

這一項在多數用戶端的圖形介面裡也能找到,通常標注為「允許區域網路連線」「Allow LAN」之類的選項,打開效果和寫設定檔是一樣的。開啟之後,Clash 會開始接受來自區域網路內其他 IP 的連線請求,而不只是 127.0.0.1 發來的請求。

需要注意的是,allow-lan 打開後並不會自動幫你穿透系統防火牆——它只是讓 Clash 行程本身不再拒絕外部連線,後面的防火牆放行步驟仍然需要另外做。

bind-address:決定監聽哪些網卡

bind-address 決定的是 Clash 監聽端口時綁定在哪個(或哪些)網路介面上,常見取值有三種:

  • 127.0.0.1:只監聽本機回環位址,區域網路裝置完全連不進來,這是 allow-lan 為 false 時的等效行為。
  • 0.0.0.0:監聽本機所有網路介面,包括有線網卡、無線網卡以及可能存在的虛擬網卡(比如 VPN 用戶端建立的介面卡)。這是區域網路共享情境下最常用的取值。
  • 特定網卡 IP,例如 192.168.1.5:只監聽指定的這一張網卡,適合電腦有多個網路介面、只想透過某一張對外提供代理的情況。
mixed-port: 7890
allow-lan: true
bind-address: "*"

不少用戶端把 bind-address 簡寫為 *,等同於 0.0.0.0,效果是監聽全部介面。如果你的電腦同時接了有線網和 Wi-Fi,又不確定區域網路裝置透過哪張網卡存取,直接用 *0.0.0.0 最省心,不用逐一排查網卡分配到的 IP。

找到這台電腦的區域網路 IP

確認好 mixed-portallow-lanbind-address 三項之後,還需要知道執行 Clash 這台電腦在區域網路裡的實際 IP 位址,其他裝置要填的正是這個位址。

Windows 查看方法

開啟命令提示字元,執行:

ipconfig

在目前正在使用的網路介面卡(有線用「以太網路介面卡」,無線用「無線區域網路介面卡 WLAN」)下面找到「IPv4 位址」,形如 192.168.x.x10.0.x.x 的一段,就是要填的位址。

macOS 查看方法

開啟「系統設定」→「網路」,選中目前連線的網路(Wi-Fi 或以太網路),右側會直接顯示 IP 位址;也可以在終端機裡執行:

ipconfig getifaddr en0

en0 通常對應內建的有線或無線網卡,不同 Mac 型號編號可能不同,如果 en0 沒有回傳結果可以依次嘗試 en1en2

Windows 防火牆放行

Windows 的防火牆預設會攔截外部裝置存取某個程序新開的端口,即便 Clash 已經在監聽 0.0.0.0:7890,區域網路裝置發來的連線也可能在防火牆這一層被直接丟棄。放行步驟如下:

  1. 開啟「Windows Defender 防火牆」→「進階設定」,進入「輸入規則」。
  2. 點擊右側「新增規則」,類型選擇「端口」。
  3. 協定選擇 TCP,特定本機端口填寫 mixed-port 對應的端口號,例如 7890
  4. 動作選擇「允許連線」,網路類型可以按需勾選「私人」(建議,避免公用網路也放行)。
  5. 給規則命名(比如「Clash 區域網路代理」),完成建立。

如果用戶端本身自帶安裝包,首次執行時系統通常會彈出「是否允許此應用程式通過防火牆」的提示,直接勾選「私人網路」並允許即可,效果等同於上面的手動步驟,不需要重複操作。

macOS 防火牆放行

macOS 的防火牆(位於「系統設定」→「網路」→「防火牆」)預設對本機主動發出的連線和監聽外部連線的處理邏輯不同。如果開啟了防火牆,首次有其他裝置嘗試連接 Clash 監聽的端口時,系統會彈出詢問是否允許該應用程式接受連入連線,選擇「允許」即可。

如果沒有彈出提示,或者提示被誤操作拒絕了,可以手動檢查:

  1. 進入「系統設定」→「網路」→「防火牆」→「選項」。
  2. 在應用程式清單裡找到 Clash 用戶端,確認狀態為「允許連入連線」。
  3. 如果清單裡沒有,點擊「+」手動新增用戶端應用程式,再設為允許。

另外要注意,如果電腦使用了第三方安全軟體(部分企業裝置或安全套件會額外加一層網路過濾),也需要在對應軟體裡做同樣的放行,系統自帶防火牆放行不代表第三方軟體也會放行。

其他裝置如何填寫代理

區域網路內的手機、平板、電視、遊戲機,基本都在系統的 Wi-Fi 設定裡提供手動代理選項,填法大同小異:

  • 代理伺服器位址:填執行 Clash 那台電腦的區域網路 IP,比如 192.168.1.5
  • 端口:填 mixed-port 的值,比如 7890
  • 協定類型:如果裝置只支援填一種協定,選 HTTP 即可,mixed-port 同樣能正常接受 HTTP 連線。
  • Android 裝置一般在「Wi-Fi 詳細資訊」→「進階選項」→「代理」裡選擇「手動」,填入上述位址和端口;iOS 裝置在「Wi-Fi 詳細資訊」→「設定代理」裡同樣選「手動」填寫;智慧電視和遊戲機的入口名稱各廠商略有差異,通常也在網路設定的進階選項裡能找到「代理伺服器」欄位。

    注意

    手動填寫系統代理只會轉發支援系統代理設定的流量,部分應用程式(尤其是使用自有網路實作的遊戲或直播軟體)可能不走系統代理,這屬於應用程式層面的限制,與 Clash 設定無關。

    連不上時的排查順序

    區域網路共享代理設定完成後如果其他裝置連不上,建議按下面的順序逐項排查,大多數情況都能定位到問題:

    1. 確認兩台裝置在同一個區域網路段,尤其是家裡存在多個 Wi-Fi 網路(比如訪客網路)時,訪客網路往往和主網路隔離,互相無法存取。
    2. 確認 allow-lan 確實是 true,而不是儲存設定後用戶端沒有重新載入。
    3. 確認 bind-address 沒有被寫成 127.0.0.1,這是最常見的疏漏點。
    4. 確認防火牆規則裡填寫的端口號和實際 mixed-port 一致,改過端口後要同步更新防火牆規則。
    5. 在執行 Clash 的電腦上用手機瀏覽器直接存取 http://區域網路IP:端口,如果連線被拒絕而不是逾時,說明端口已經通,問題更可能出在其他裝置的代理設定本身。

    路由器層面一般不需要額外設定,區域網路內裝置互訪不經過路由器的轉發規則,只有當代理服務和用戶端跨越不同子網路(比如透過 VPN 連回家庭網路)時,才需要考慮路由和端口轉發的問題,這屬於另一個話題,不在常規區域網路共享的範圍內。

Clash下載