网络配置
macOS 的网络设置分散在系统设置、钥匙串与命令行工具中。以下从日常使用到排障分层说明;命令均可在 终端与Shell 中执行。
图形界面:系统设置
路径大致为 系统设置 → 网络(不同 macOS 版本名称可能为「系统偏好设置」或「系统设置」)。
| 区域 | 用途 |
|---|---|
| 服务列表(Wi‑Fi、以太网等) | 启用/停用接口、设定「服务顺序」(多网卡时谁优先) |
| 详细信息 / 高级 | TCP/IP(DHCP/手动 IP)、DNS、代理、WINS、硬件信息等 |
| VPN | 第三方或系统级 VPN 配置;常与登录项、描述文件共存 |
DNS:可在网络服务的 DNS 面板添加服务器(如 1.1.1.1、8.8.8.8);公司内网多依赖内网 DNS,勿随意改为仅公网 DNS 以免解析不到内部域名。
代理:HTTP/HTTPS/SOCKS、自动代理配置(PAC)、忽略列表;若浏览器能上而终端不能,常与代理环境变量或工具链无关有关(见下文「代理与环境变量」)。
菜单栏与快速信息
- 按住 Option 点菜单栏 Wi‑Fi 图标(若已显示):可查看信道、RSSI、BSSID 等诊断信息(随系统版本略有差异)。
- 控制中心 / Wi‑Fi:快速切换已知网络。
命令行:networksetup(常见)
需要合适权限;部分操作会触发系统认证。
# 列出所有硬件端口(服务名)
networksetup -listallhardwareports
# 列出当前 Wi‑Fi 网络(接口名常见为 en0,以本机为准)
networksetup -listallhardwareports
networksetup -getairportnetwork en0
# 打开/关闭 Wi‑Fi(接口名按上一步确认)
networksetup -setairportpower en0 on
# 当前位置(Location)名称列表
networksetup -listlocationsLocation(位置):可为「家里 / 公司」保存不同网卡、DNS、代理组合,在系统设置 网络 中切换。
更多子命令:man networksetup。
路由与接口速查
# 接口与地址
ifconfig
# 路由表
netstat -rn
# 现代化替代(若系统提供)
route get defaultDNS 与解析
# 测试解析(可使用指定服务器)
dig example.com
nslookup example.com若 浏览器正常、ping 域名失败,可能是 代理 仅作用于浏览器,或 IPv6/IPv4、拆分隧道 VPN 导致路径不一致。
代理与环境变量
终端里的 curl / git / npm 等是否走代理,取决于:
- 系统代理(部分工具会继承,部分不会);
- 当前 shell 中的
http_proxy/https_proxy/ALL_PROXY(大小写变体); .npmrc、git config http.proxy等工具级配置。
在 Homebrew、开发工具排错时,可先 env | grep -i proxy 确认是否误设。
防火墙
系统设置 → 网络 → 防火墙(或「安全性与隐私」相关页,依版本):可阻止入站连接;多数个人场景保持默认即可。企业 MDM 可能统一下发策略。
无线分析与诊断
- 无线诊断:在按住 Option 时点 Wi‑Fi 菜单中的「打开无线诊断…」(具体文案因版本而异),可生成报告。
- 路由器侧:信道拥堵、2.4/5/6 GHz 选择、固件更新同样影响体验。
简要排障顺序
- 同一网络下其它设备是否正常 → 区分终端/线路问题。
- 关闭 VPN / 代理 再试 → 排除拆分隧道或错误 PAC。
- ** forgetting Wi‑Fi 后重连** 或 续订 DHCP 租约(网络详情中)。
- DNS:暂时改用可靠公共 DNS 测试(确认不影响内网解析需求)。
- 仍异常:有线网络对比、查看 系统报告 或无线诊断日志。