Clash 區域網路共享代理:mixed-port 與 allow-lan 多裝置接入教學
您已經在單一電腦上把 Clash(或 Clash Meta/Mihomo 系核心)跑通,現在希望同一個 Wi‑Fi下的手機、平板或其他電腦不必各自匯入訂閱,而是透過這台電腦上的代理埠上網。關鍵在於:開啟區域網路存取(常見為 allow-lan)、讓核心在正確介面上監聽(常搭配 mixed-port 或分開的 port/socks-port),再於其他裝置填寫代理伺服器位址=電腦的區網 IP、連接埠=mixed-port(或您實際指定的埠號)。本篇整理設定檔要點、各平台代理欄位怎麼填,以及連不上時最常見的排查順序。
為什麼會用到 mixed-port 與 allow-lan
預設情況下,許多 Clash 組態會讓 HTTP/SOCKS 只聽在 127.0.0.1(本機回環),好處是只有本機行程能連進來,較符合「代理服務不對外廣播」的安全假設。當您要把同一區域網路內的其他裝置指到這台電腦時,就必須讓監聽位址涵蓋區網介面,並明確允許 LAN 連線——在設定檔裡通常對應 allow-lan: true,以及適當的 bind-address(或依核心版本等效選項)。
mixed-port 的價值在於單一埠號同時支援 HTTP 與 SOCKS5(依核心行為與客戶端實作而定),行動裝置或另一台桌機在填「代理伺服器」時,只要記一組IP+埠號即可,較不必在 HTTP 代理與 SOCKS 之間來回切換。若您的組態仍使用傳統的 port 與 socks-port 分開定義,概念相同:區網裝置填的仍是執行 Clash 那台機器的區網 IP,以及您實際開放的那個埠。
安全與法遵提醒
開放區網代理代表能連上該 Wi‑Fi 且能連到您電腦 IP:埠的裝置,都可能透過您的 Clash 出口上網。請僅在您信任的區網環境使用,並避免在公共熱點開啟 allow-lan。請遵守在地法規與服務條款。
先查清楚:這台電腦的區域網路 IP
手機與其他電腦要連線時,代理「主機名稱」應填執行 Clash 的電腦在該 Wi‑Fi 上的 IPv4 位址,例如 192.168.1.23 或 10.0.0.5,而不是 127.0.0.1。127.0.0.1 永遠指向「裝置自己」,在手機上填它只會讓手機找自己的本機埠,當然連不到您的電腦。
快速查 IP(依系統擇一)
- Windows:命令提示字元或 PowerShell 執行
ipconfig,在作用中的 Wi‑Fi 介面找「IPv4 位址」。 - macOS:系統設定 → 網路 → Wi‑Fi → 詳細資訊,或終端機
ipconfig getifaddr en0(介面名稱視機型可能為en1)。 - Linux:
ip addr或hostname -I,確認無線介面(常見wlan0)上的區網位址。
若電腦同時連了有線與無線,或裝了虛擬機/Docker,請確認 Clash 綁定的是與手機同一子網路的那張網卡;查錯介面 IP 是「看得到設定卻永遠連不上」的典型原因之一。
設定檔:allow-lan、mixed-port 與 bind-address
以下為示意用 YAML 片段,實際鍵名請以您使用的核心與訂閱產生的組態為準;若圖形客戶端會覆寫設定,請在 UI 中同步勾選「允許區域網路連線」等選項。
# Illustrative snippet — align ports with your profile
mixed-port: 7890
allow-lan: true
bind-address: '*'
# Some stacks use 0.0.0.0 for all interfaces; follow your core docs.
bind-address: '*' 或 0.0.0.0 的語意,是讓服務不只綁在回環位址,而能對區網請求回應;若您只見到連線仍失敗,請再核對 埠號是否與客戶端顯示一致、以及是否被其他程式占用。
| 項目 | 用途 |
|---|---|
mixed-port |
單一埠提供 HTTP/SOCKS 相容連入(實際支援度依核心版本)。 |
allow-lan |
允許非本機的區域網路裝置連線至代理埠。 |
bind-address |
控制監聽介面;需能對區網開放時勿只綁 127.0.0.1。 |
與 TUN 的關係
電腦本機若使用 TUN 模式攔截全系統流量,與「其他裝置經由 HTTP/SOCKS 連到您電腦」是不同層次的問題。區網裝置通常只要在 Wi‑Fi 設定或 App 裡填手動代理即可,不必在該裝置上重複開 TUN。若您對 DNS、fake-ip 或本機「已連線卻無法上網」有疑問,可併讀 DNS 與 fake-ip 排查專文。
圖形客戶端上常見的對應位置
多數 Windows/macOS 圖形介面會用開關或勾選表達「允許來自區域網路的連線」,文字可能寫成「Allow LAN」「區域網路」「Allow connections from the LAN」等;實質上等於把 allow-lan 打開。若您修改 YAML 後又被 UI 還原,請在介面裡找進階設定/覆寫或暫停由 UI 託管該欄位。
若您尚未完成電腦端首次安裝,可先參考 Clash for Windows 安裝教學 或 Clash Verge Rev macOS 一文,再回到本篇開區網共享。
防火牆、路由器與「訪客網路」
作業系統防火牆可能預設阻擋連入連線。當 allow-lan 已開、IP 與埠號正確,手機仍逾時時,請在執行 Clash 的電腦上為該 TCP 埠新增允許規則(僅限區域網路或私人網路設定檔),再重試。
許多家用路由器提供訪客 Wi‑Fi(Guest)或 AP/用戶端隔離:訪客與主網段無法互連,手機就算填對 IP 也打不到您的筆電。請讓手機與電腦連到同一 SSID/同一子網,或暫時關閉隔離功能測試。
公司或校園網路
部分網路會阻擋裝置間互連(用戶隔離)。此情況下區網代理可能根本不可行,只能改用其他合規上網方式。
手機、平板與其他電腦要填什麼
在目標裝置上,將HTTP 代理或支援的SOCKS5 指向:
- 伺服器:您查到的電腦區網 IP(IPv4)。
- 連接埠:與
mixed-port(或您使用的 HTTP/SOCKS 埠)完全一致。 - 驗證:一般家用情境未另設帳密則留空;若您曾為代理加上認證,需同步填寫。
iOS/iPadOS可在 Wi‑Fi 詳細資訊中設定「設定 HTTP 代理」為「手動」;Android 依廠牌可能在 Wi‑Fi 進階選項中,或由特定瀏覽器/工具軟體設定。另一台 Windows/macOS/Linux 則可在系統代理或環境變數(如 http_proxy、all_proxy)中指到 http://區網IP:埠 或 socks5://區網IP:埠。
建議先用手機瀏覽器開啟一個純 HTTP 的測試頁或搜尋引擎,確認流量確實經過 Clash(可在電腦端檢視連線紀錄或即時連線列表)。若只有瀏覽器可走、系統 App 不行,多半是該 App 不支援系統代理或需另行設定。
連不上時:建議排查順序
- 同一 Wi‑Fi、同一網段:確認手機與電腦 IP 前三段通常相同(視子網遮罩而定),且非訪客隔離。
- IP 是否變動:DHCP 可能換 IP;可考慮在路由器為該電腦做DHCP 保留/靜態指派。
- 埠號:以電腦上
ss、netstat或工作管理員確認 Clash 實際監聽的埠與介面。 - allow-lan 與 bind:仍只聽
127.0.0.1時,外機必敗。 - 防火牆:為該埠放行區域連線。
- 節點與規則:區網已通但網頁仍失敗時,問題可能回到出口節點、DNS 或規則,請勿只重複改 IP。
若您使用多重 VPN 或虛擬網卡,路由表可能被改寫,導致回應封包走錯介面;可暫停其他 VPN 後再測。
實務檢查清單
- 電腦本機確認 Clash 已啟用且可正常上網。
- 設定
allow-lan: true、合適的bind-address,並記下mixed-port(或實際埠)。 - 查電腦區網 IPv4,手機填「IP+埠」,勿填
127.0.0.1。 - 檢查防火牆與路由器是否阻擋或隔離。
- 用瀏覽器先測,再處理不跟系統代理的 App。
結語
區網共享的本質,是把「本機代理埠」變成區域網路內可存取的小型轉送站:mixed-port 簡化埠號管理,allow-lan 則是明確授權這一步。把 IP、埠、防火牆與 Wi‑Fi 隔離四件事對齊後,多數連線問題都能快速收斂。