Karl Wonders

Karl 在想什么呢

🚀 教程:如何把你的 Mac 变成全家通用的“网络办事处”

10
2026-01-04

技术讨论前置声明

本文仅作代理技术协议、加密逻辑的纯技术探讨,仅限企业合规专线、局域网管理等合法场景参考,不涉及任何非法跨境网络访问行为。

违规使用相关技术产生的一切责任,与本文作者无关。

通过配置局域网代理,让同一 WiFi 下的手机、平板、Windows 电脑,都能通过 Mac 的 Clash 通道访问海外网络。

1.jpg

🏢 第一部分:先聊聊为啥能这么玩

1. 打个比方:封闭办公室与特权办事员

想象你家里的局域网(连接同一个 WiFi 的所有设备)是一个封闭的办公室

  • 🏠 局域网 (LAN) = 办公室内部。大家都在这里办公,可以互相说话。

  • 🚪 路由器 (Gateway) = 传达室大门。负责收发普通信件。但如果你把“海外信件”直接交给它,大概率会被退回或丢弃。

  • 💻 Mac 电脑(任意可连海外网络的设备) = 特权办事员。它是全屋唯一拥有“海外专线”(Clash)的人。

  • 📱 手机/平板/其他电脑 = 普通员工。没有权限,无法直接寄信到海外。

2. 核心原理:代理机制 (Proxy Delegation)

我们要做的是建立一套“代理流程”

  1. 手机等设备不再自己闯大门(直接连路由),而是把请求打包,通过办公室内部网络,交给 Mac电脑

  2. Mac电脑 收到请求,通过他的专线处理完,拿到结果回传给手机等设备(代理连路由)。


🛠️ 第二部分: Mac 电脑(可连海外网络)要怎么配置才能进行代理

Mac 上的 Clash 默认配置是“自私”的(为了安全,默认只允许本机访问)。我们需要修改它的核心配置文件,从底层逻辑上开放权限。

1. 找到并修改配置文件

不同版本的软件入口略有不同,请找到你的版本:

  • Clash Verge / Rev: 点击左侧 Profiles -> 右键点击当前使用的配置 -> 选择 Edit (编辑)。

  • ClashX Pro / Meta: 点击状态栏图标 -> 配置 -> 打开配置文件夹 -> 用文本编辑器打开 config.yaml

2. 核心代码修改对照表(原理深究)

请在文件顶部的 General 区域(通常是前 20 行),添加或修改以下三项。请仔细阅读右侧的技术定义,这是理解的关键。

关键代码 (Code)

👨🏻‍💻 场景比喻 (Analogy)

⚙️ 技术解释 (Technical Reality)

allow-lan: true

📜 签署授权书


默认 Mac 拒绝陌生人。这行代码意思是:“允许办公室里的其他同事来找我办事”。

✅ ACL 访问控制


默认情况下,Clash 会启用安全策略,拒绝非本机 IP 的入站连接。设为 true 则是关闭这个限制,允许来自局域网网段(如 192.168.x.x)的流量进入。

mixed-port: 7897

📥 指定收纳筐


Mac 桌上东西很乱。这行代码是放一个标着 7897 的收纳筐,告诉手机:“委托单统统扔进这里”。

🔀 协议混合端口


传统代理区分 HTTP 和 SOCKS5 端口。mixed-port 允许在一个端口上同时处理这两种协议。这样手机配置时不用纠结选哪种,更方便。

bind-address: "*"


(或 "0.0.0.0")

👂 摘下耳机,面向全屋


默认 Mac 戴着耳机只听自己(Loopback)。这行代码命令它:“摘下耳机,监听房间里所有的声音”。

🌐 全接口监听 (Wildcard Binding)


这是最关键的概念!


127.0.0.1:仅监听回环接口(只能本机访问)。


0.0.0.0:监听本机所有网络接口(Wi-Fi网卡、有线网卡、虚拟网卡等)。


意义:只有监听了物理网卡接口,手机通过 WiFi 发来的数据包,才能被 Clash 捕获到。

⚠️ 生效操作:代码修改并保存后,必须重启 Clash 软件(或点击 Reload Config),新的行政命令才会生效!

3. 获取 Mac 的“工位号” (局域网 IP)

手机要找 Mac,必须知道 Mac 在网络中的坐标。

  • 路径系统设置 -> Wi-Fi (或网络) -> 点击 详细信息

  • 目标:找到 IP 地址 一栏(通常是 192.168.x.x10.0.x.x)。

    • 注意:不要找成“路由器 IP”或“公网 IP”,我们要的是 Mac 自己在局域网的身份证。


🔍 第三部分:检查一下是不是真的搞定啦

配置完了心里没底?别急着连手机。我们要用终端命令,像监工一样去检查 Mac 到底有没有按我们的要求工作。

操作步骤:打开 Mac 的 终端 (Terminal),复制以下命令并回车:

netstat -an | grep 7897

这一步在查什么?

  • netstat (Network Statistics):调取系统所有网络连接的统计表。

  • grep 7897 (Search):在几千行数据中,只筛选包含我们端口号 7897 的行。

✅ 成功标志:看到 LISTEN

如果你看到类似下面的输出,说明配置绝对正确

tcp4       0      0  *.7897                 *.* LISTEN

深度解读 *.7897LISTEN

  • *.7897 中的 * 代表 0.0.0.0。这就验证了你刚才设置的 bind-address 生效了!它表示 Clash 正在监听任意地址的 7897 端口。

  • LISTEN (监听状态):这是 TCP 协议的一种状态。表示进程(Clash)已经初始化完成,正在“阻塞等待”客户端(手机)的连接请求。

  • 如果没输出,或者显示的不是 LISTEN,说明软件没启动或配置没保存。


📱 第四部分:手机端配置代理

服务端(Mac)已经就绪,最后一步是告诉客户端(手机)如何发起代理。

以 iPhone 为例(Android 类似):

  1. 找到 WiFi:设置 -> 无线局域网 -> 点击当前 WiFi 旁的 (i) 图标。

  2. 开启代理:拉到底部 -> 配置代理 -> 改为 手动

  3. 填写委托单

设置项

填写内容

技术含义

服务器

192.168.x.x

Target IP:填 Mac 的 IP。告诉手机数据包往哪台机器发。

端口

7897

Target Port:填 Clash 的监听端口。告诉手机往哪个进程发。

认证

(留空)

Auth:局域网环境通常通过 IP 白名单管理,无需账号密码。


🚨 第五部分:如果还是连不上,看看防火墙

如果你前面的 LISTEN 都查到了,手机还是连不上,通常是这道“隐形墙”在作祟。

🛑 罪魁祸首:Mac 防火墙

  • 原理:防火墙是 Mac 自带的保安。即使 Clash 打开了门(LISTEN),保安可能站在门口把手机拦住了。

  • 解决

    1. 打开 系统设置 -> 网络 -> 防火墙

    2. 粗暴法:直接关闭防火墙(测试用)。

    3. 优雅法:点击 选项,添加 Clash 应用,并设置为“允许传入连接”。

祝大家都能轻松上网~🎉