在 macOS 环境中,许多网络工具(如 Clash, V2Ray, Shadowrocket 等)需要依赖系统代理才能正常分流或转发流量。Mac 系统提供了两种主要的代理配置方式:手动代理设置和自动代理脚本(PAC)。
本文旨在解决 Mac 用户在不同场景下如何正确配置代理的问题,重点区分两种模式的适用场景、配置步骤及常见故障排查。
为什么需要配置 Mac 代理?
Mac 系统本身并不直接处理复杂的网络路由规则(如按域名分流)。当使用代理工具时,客户端软件通常会将流量引导至本地监听端口(如 127.0.0.1:7890)。此时,操作系统需要知道哪些流量应该发送给这个本地端口。
如果不配置系统代理,或者配置错误,会导致以下现象:
• 工具显示已连接,但网页无法打开。
• 部分应用(如浏览器)可以使用,而其他应用(如终端 curl、系统更新)无法使用。
• 本地局域网设备无法访问。
🔥 推荐:Mac系统代理配置:手动与自动模式全解析相关的稳定 VPN 方案
如果你正在了解“Mac系统代理配置:手动与自动模式全解析”,可以结合节点稳定性、客户端兼容性、连接失败排查和隐私安全,选择更适合长期使用的网络加速方案。
手动代理配置:适用于固定端口
手动代理是最基础的方式,适用于你希望将特定协议(HTTP, HTTPS, SOCKS)的流量统一指向某个固定端口。这种方式配置简单,但无法实现精细的域名分流。
1. 进入网络设置
点击屏幕左上角的苹果菜单 > 系统设置(System Settings)。在左侧栏找到 网络(Network),点击右侧的 详细信息(Details)或 高级(Advanced,视 macOS 版本而定)。
2. 选择当前网络
在弹出的窗口中,选择你当前正在使用的网络服务(如 Wi-Fi 或以太网)。点击下方的 代理(Proxy)选项卡。
3. 配置协议
在代理列表中,你会看到多种协议选项。根据你的代理工具类型,通常只需配置以下两项:
• Web Proxy (HTTP):如果你的工具支持 HTTP 代理,勾选此项。
• Secure Web Proxy (HTTPS):同样勾选,端口通常与 HTTP 相同。
• SOCKS Proxy:大多数现代代理工具(如 Clash, V2Ray)主要使用 SOCKS5 协议。勾选此项,并在“服务器”栏输入 `127.0.0.1`,端口输入工具监听的 SOCKS 端口(常见为 7890, 7891 等)。
关键提示:
• 如果你同时使用 HTTP 和 SOCKS,请确保端口正确。通常建议优先使用 SOCKS,因为它支持 UDP,对 DNS 解析和游戏/视频流媒体更友好。
• “排除简单主机名”(Exclude Simple Hostnames)选项:建议勾选。这可以确保本地局域网设备(如 NAS、打印机)不经过代理,直接通过本地网络访问,避免连接本地设备时超时。
4. 验证配置
打开终端(Terminal),输入以下命令测试 SOCKS 代理是否生效:
“`bash
curl -v –socks5 127.0.0.1:7890
“`
如果返回了 HTTP 响应代码(如 200 OK),说明系统代理配置正确。
自动代理配置(PAC):适用于域名分流
如果你使用的是支持 PAC(Proxy Auto-Config)文件的工具,或者希望实现“国内直连,国外代理”的效果,自动代理是更优选择。PAC 文件是一个 JavaScript 脚本,系统会根据其中的规则决定每个域名是使用代理还是直连。
1. 获取 PAC 文件地址
大多数代理客户端软件在启动后,会在设置中提供 PAC 文件的 URL。这个 URL 通常指向本地服务(如 ` 或 `。请从你的客户端软件中复制这个地址。
2. 配置自动代理
回到 系统设置 > 网络 > 代理。在左侧列表中找到 自动代理(Auto Proxy),勾选它。
3. 输入 URL
在“URL”输入框中,粘贴你从客户端软件中复制的 PAC 文件地址。点击 好(OK)保存。
4. 原理与优势
PAC 文件会根据预设的规则(如 GFW List)自动判断。当访问被屏蔽的域名时,流量走代理;访问国内域名时,流量直接走本地网络。这种方式避免了手动配置时可能出现的漏网之鱼,且无需为每个应用单独设置代理。
常见问题与故障排查
即使配置了代理,仍可能遇到连接问题。以下是 Mac 用户最常遇到的三个问题及其解决方法。
问题一:代理已开启,但某些应用无法上网
原因分析:
macOS 的系统代理设置主要影响使用系统网络框架的应用(如 Safari, Mail, App Store)。第三方应用(如 Chrome, Firefox, 部分游戏)可能忽略系统代理,或者使用了独立的代理设置。
解决方法:
• 检查应用内部设置:确保浏览器或应用内部的代理设置与系统代理一致,或设置为“使用系统代理”。
• 使用全局模式:部分代理工具提供“全局模式”(Global Mode)。开启后,所有流量无论域名如何,都强制走代理。这可以解决因 PAC 规则更新滞后导致的问题,但会牺牲访问国内网站的速度。
• 检查防火墙:macOS 防火墙可能会阻止代理工具监听端口。前往 系统设置 > 网络 > 防火墙,确保代理工具被允许接收传入连接。
问题二:配置代理后,本地局域网设备无法访问
原因分析:
如前所述,如果未勾选“排除简单主机名”,或者 PAC 文件未正确配置本地网络地址,系统会将本地 IP(如 192.168.x.x)也发送到代理服务器,导致连接超时。
解决方法:
• 手动代理:在代理设置中勾选“排除简单主机名”。
• 自动代理:检查 PAC 文件内容,确保其中包含对 `192.168.*.*` 和 `10.*.*.*` 等私有 IP 地址的直连规则。大多数标准 PAC 文件已包含此规则,如果仍有问题,尝试刷新 PAC URL 或重启网络服务。
问题三:代理配置后,DNS 泄露或解析错误
原因分析:
系统代理只控制流量路由,不自动处理 DNS 解析。如果代理工具未接管 DNS,或系统 DNS 设置错误,可能导致 DNS 泄露(即 DNS 请求未走代理,暴露浏览历史)或解析到错误的 IP。
解决方法:
• 启用 DNS 接管:在代理工具的设置中,确保开启了“DNS 接管”或“Fake IP”等功能。这将强制所有 DNS 请求通过代理工具处理。
• 检查系统 DNS:在 系统设置 > 网络 > 详细信息 > DNS 中,确保没有手动添加冲突的 DNS 服务器。建议设置为“仅使用 DHCP 分配的 DNS”或留空,由代理工具管理。
配置完成后的验证步骤
在结束配置前,建议进行以下验证,确保代理稳定且无泄露。
• IP 地址检查:
打开浏览器,访问 `ip138.com` 或 `ifconfig.me`。显示的 IP 地址应为代理服务器的 IP,而非你本地的公网 IP。
• DNS 泄露测试:
访问 `dnsleaktest.com` 或 `ipleak.net`。检查结果中的 DNS 服务器所在地应与代理服务器所在地一致,且不应出现你本地 ISP(如电信、联通)的 DNS 服务器。
• 应用连通性测试:
在终端中使用 `ping` 或 `curl` 测试不同域名的连通性,确认 PAC 规则或手动代理规则按预期工作。
总结
Mac 系统代理配置的核心在于理解 手动代理 与 自动代理(PAC) 的区别。手动代理适合简单场景和固定端口,配置直观但缺乏灵活性;自动代理适合需要域名分流的场景,能实现更精细的网络控制。
无论选择哪种方式,务必注意:
• 确保代理工具正在运行且端口监听正常。
• 检查“排除简单主机名”以避免本地网络冲突。
• 验证 DNS 设置,防止信息泄露。
• 对于特定应用,可能需要单独配置代理以兼容系统框架。
通过正确配置系统代理,你可以充分发挥代理工具的功能,实现稳定、高效的网络访问。