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 之後,port 和 socks-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-port、allow-lan、bind-address 三項之後,還需要知道執行 Clash 這台電腦在區域網路裡的實際 IP 位址,其他裝置要填的正是這個位址。
Windows 查看方法
開啟命令提示字元,執行:
ipconfig
在目前正在使用的網路介面卡(有線用「以太網路介面卡」,無線用「無線區域網路介面卡 WLAN」)下面找到「IPv4 位址」,形如 192.168.x.x 或 10.0.x.x 的一段,就是要填的位址。
macOS 查看方法
開啟「系統設定」→「網路」,選中目前連線的網路(Wi-Fi 或以太網路),右側會直接顯示 IP 位址;也可以在終端機裡執行:
ipconfig getifaddr en0
en0 通常對應內建的有線或無線網卡,不同 Mac 型號編號可能不同,如果 en0 沒有回傳結果可以依次嘗試 en1、en2。
Windows 防火牆放行
Windows 的防火牆預設會攔截外部裝置存取某個程序新開的端口,即便 Clash 已經在監聽 0.0.0.0:7890,區域網路裝置發來的連線也可能在防火牆這一層被直接丟棄。放行步驟如下:
- 開啟「Windows Defender 防火牆」→「進階設定」,進入「輸入規則」。
- 點擊右側「新增規則」,類型選擇「端口」。
- 協定選擇 TCP,特定本機端口填寫
mixed-port對應的端口號,例如7890。 - 動作選擇「允許連線」,網路類型可以按需勾選「私人」(建議,避免公用網路也放行)。
- 給規則命名(比如「Clash 區域網路代理」),完成建立。
如果用戶端本身自帶安裝包,首次執行時系統通常會彈出「是否允許此應用程式通過防火牆」的提示,直接勾選「私人網路」並允許即可,效果等同於上面的手動步驟,不需要重複操作。
macOS 防火牆放行
macOS 的防火牆(位於「系統設定」→「網路」→「防火牆」)預設對本機主動發出的連線和監聽外部連線的處理邏輯不同。如果開啟了防火牆,首次有其他裝置嘗試連接 Clash 監聽的端口時,系統會彈出詢問是否允許該應用程式接受連入連線,選擇「允許」即可。
如果沒有彈出提示,或者提示被誤操作拒絕了,可以手動檢查:
- 進入「系統設定」→「網路」→「防火牆」→「選項」。
- 在應用程式清單裡找到 Clash 用戶端,確認狀態為「允許連入連線」。
- 如果清單裡沒有,點擊「+」手動新增用戶端應用程式,再設為允許。
另外要注意,如果電腦使用了第三方安全軟體(部分企業裝置或安全套件會額外加一層網路過濾),也需要在對應軟體裡做同樣的放行,系統自帶防火牆放行不代表第三方軟體也會放行。
其他裝置如何填寫代理
區域網路內的手機、平板、電視、遊戲機,基本都在系統的 Wi-Fi 設定裡提供手動代理選項,填法大同小異:
- 代理伺服器位址:填執行 Clash 那台電腦的區域網路 IP,比如
192.168.1.5。 - 端口:填
mixed-port的值,比如7890。 - 協定類型:如果裝置只支援填一種協定,選 HTTP 即可,
mixed-port同樣能正常接受 HTTP 連線。 - 確認兩台裝置在同一個區域網路段,尤其是家裡存在多個 Wi-Fi 網路(比如訪客網路)時,訪客網路往往和主網路隔離,互相無法存取。
- 確認
allow-lan確實是true,而不是儲存設定後用戶端沒有重新載入。 - 確認
bind-address沒有被寫成127.0.0.1,這是最常見的疏漏點。 - 確認防火牆規則裡填寫的端口號和實際
mixed-port一致,改過端口後要同步更新防火牆規則。 - 在執行 Clash 的電腦上用手機瀏覽器直接存取
http://區域網路IP:端口,如果連線被拒絕而不是逾時,說明端口已經通,問題更可能出在其他裝置的代理設定本身。
Android 裝置一般在「Wi-Fi 詳細資訊」→「進階選項」→「代理」裡選擇「手動」,填入上述位址和端口;iOS 裝置在「Wi-Fi 詳細資訊」→「設定代理」裡同樣選「手動」填寫;智慧電視和遊戲機的入口名稱各廠商略有差異,通常也在網路設定的進階選項裡能找到「代理伺服器」欄位。
手動填寫系統代理只會轉發支援系統代理設定的流量,部分應用程式(尤其是使用自有網路實作的遊戲或直播軟體)可能不走系統代理,這屬於應用程式層面的限制,與 Clash 設定無關。
連不上時的排查順序
區域網路共享代理設定完成後如果其他裝置連不上,建議按下面的順序逐項排查,大多數情況都能定位到問題:
路由器層面一般不需要額外設定,區域網路內裝置互訪不經過路由器的轉發規則,只有當代理服務和用戶端跨越不同子網路(比如透過 VPN 連回家庭網路)時,才需要考慮路由和端口轉發的問題,這屬於另一個話題,不在常規區域網路共享的範圍內。