使用 macOS 内置功能(最推荐、最安全)
对于大多数用户来说,使用 macOS 自带的“网络”偏好设置中的防火墙和“应用防火墙”规则是最直接、最安全的方法。

步骤 1:确保防火墙已开启
确保你的系统防火墙是开启的,这是所有网络控制的基础。
- 打开 系统设置 (System Settings)。
- 在左侧边栏点击 网络 (Network)。
- 点击右下角的 防火墙 (Firewall) 按钮。
- 如果防火墙是关闭的,点击 防火墙选项... (Firewall Options...),然后点击 锁形图标 并输入你的管理员密码来解锁。
- 确保 启用防火墙 (Enable Firewall) 是勾选状态,你也可以选择 阻止所有传入连接 (Block all incoming connections),但这会阻止其他设备访问你的 Mac(如文件共享、AirDrop等),一般不建议普通用户使用,保持默认的 启用防火墙 即可。
步骤 2:添加阻止特定应用程序的规则
这是核心步骤,通过“自动允许的列表”来管理哪些应用可以联网。
- 在同一个 防火墙 设置页面,点击 防火墙选项...。
- 在弹出的窗口中,你会看到一个 自动允许的列表 (Automatically allow signed software to receive incoming connections),这个列表里的应用是系统默认允许联网的。
- 我们需要做的是 从这里移除 你想要阻止的应用。
- 点击列表下方的 - (减号) 按钮。
- 从列表中选择你想要阻止联网的应用程序,然后点击 移除。
- 点击 好 保存设置。
工作原理: 当你从“自动允许的列表”中移除一个应用后,系统防火墙会阻止该应用的所有传入和传出网络连接,对于大多数应用来说,这已经足够阻止其联网了。
使用第三方防火墙软件(功能更强大)
如果你需要更精细的控制,比如按端口号、协议(TCP/UDP)或 IP 地址来阻止,或者需要一个更友好的用户界面,那么第三方防火墙是更好的选择。

推荐软件:LuLu
Luulu 是一款免费、开源且广受好评的防火墙,它基于 macOS 的 PF (Packet Filter) 构建,但提供了更易于管理的图形界面。
-
下载与安装:
- 访问 LuLu 的官方网站:https://objective-see.org/products/lulu.html
- 下载并安装,首次打开时,需要你在 系统设置 > 隐私与安全性 中授予其完全磁盘访问权限,并允许其在后台运行。
-
使用 LuLu 阻止应用:
- 打开 LuLu,主界面会显示所有尝试进行网络连接的活动。
- 点击左下角的 规则 (Rules) 按钮。
- 你会看到一个应用程序列表,找到你想要阻止的应用。
- 右键点击该应用,在弹出的菜单中选择 Block (阻止)。
- LuLu 会询问你阻止的规则,你可以选择:
- Block All (阻止所有):阻止该应用的所有网络活动。
- Block Incoming (阻止传入):只阻止外部连接到该应用。
- Block Outgoing (阻止传出):这是你需要的选项,阻止该应用主动连接到外部网络。
- 你还可以设置更具体的规则,比如只阻止连接到特定域名或 IP 地址。
LuLu 的优点:

- 功能强大:可以精确控制出站和入站连接。
- 日志清晰:所有网络活动都有详细记录,方便排查问题。
- 免费:对个人用户完全免费。
- 社区支持好:更新和维护活跃。
使用终端(命令行,适合高级用户)
如果你熟悉命令行,可以使用 macOS 内置的 pf (Packet Filter) 来实现更底层的网络控制,这种方法非常灵活,但配置也最复杂,且容易出错。
警告: 此方法需要谨慎操作,错误的配置可能会导致网络中断。
-
创建规则文件:
- 打开 终端 (Terminal) 应用。
- 创建一个规则文件,
sudo nano /etc/pf.anchors/com.blockapps。 - 在文件中添加你想要阻止的应用程序,你需要知道应用程序的可执行文件路径,要阻止 Chrome:
block out quick from any to any port 80,443 proto tcp user "your_username" program "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"block out:阻止传出连接。quick:匹配到此规则后立即停止处理。from any to any:从任何地方到任何地方。port 80,443:可选,指定阻止的端口(HTTP/HTTPS)。user "your_username":指定运行该程序的用户。program "...":指定应用程序的完整路径。
- 按
Ctrl + X,然后按Y和回车键保存并退出。
-
加载规则到主 pf 配置文件:
- 编辑主 pf 配置文件:
sudo nano /etc/pf.conf - 在文件末尾添加一行,引用你刚刚创建的锚点:
anchor "com.blockapps" - 保存并退出。
- 编辑主 pf 配置文件:
-
启用并加载规则:
- 在终端中运行以下命令来加载并启用规则:
sudo pfctl -f /etc/pf.conf sudo pfctl -e
- 要临时禁用规则,可以使用:
sudo pfctl -d
- 在终端中运行以下命令来加载并启用规则:
-
恢复:
- 如果出现问题,你可以通过编辑
/etc/pf.conf并移除anchor "com.blockapps"这一行,然后重新运行sudo pfctl -f /etc/pf.conf来恢复。
- 如果出现问题,你可以通过编辑
总结与对比
| 方法 | 优点 | 缺点 | 适用人群 |
|---|---|---|---|
| macOS 内置防火墙 | - 系统原生,最安全稳定 - 无需安装额外软件 - 操作简单直观 |
- 控制粒度较粗,只能完全阻止或允许应用 - 无法按端口、IP 精细化控制 |
绝大多数普通 Mac 用户 |
| 第三方防火墙 (如 LuLu) | - 功能强大,可精细控制出站/入站连接 - 详细的网络日志 - 界面友好,易于管理 |
- 需要下载安装第三方软件 - 需要授予较高权限 |
需要高级网络控制、注重隐私或开发者 |
| 终端 (pf) | - 极致灵活,可定制任何规则 - 无需图形界面 |
- 操作复杂,门槛高 - 容易因配置错误导致网络问题 - 无日志界面 |
高级用户、系统管理员、开发者 |
推荐流程
- 首选尝试方法一(macOS 内置防火墙),对于 95% 的阻止应用联网的需求,这已经足够了。
- 如果方法一无法满足你的需求(你只想阻止应用访问某个特定的网站,而不是全部),或者你想要更详细的网络活动记录,升级到方法二(使用 LuLu)。
- 只有当你是一名经验丰富的用户,并且需要编写非常复杂的网络规则时,才考虑使用方法三(终端命令行)。
