网络配置

macOS 的网络设置分散在系统设置钥匙串命令行工具中。以下从日常使用到排障分层说明;命令均可在 终端与Shell 中执行。


图形界面:系统设置

路径大致为 系统设置 → 网络(不同 macOS 版本名称可能为「系统偏好设置」或「系统设置」)。

区域用途
服务列表(Wi‑Fi、以太网等)启用/停用接口、设定「服务顺序」(多网卡时谁优先)
详细信息 / 高级TCP/IP(DHCP/手动 IP)、DNS、代理、WINS、硬件信息等
VPN第三方或系统级 VPN 配置;常与登录项、描述文件共存

DNS:可在网络服务的 DNS 面板添加服务器(如 1.1.1.18.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 -listlocations

Location(位置):可为「家里 / 公司」保存不同网卡、DNS、代理组合,在系统设置 网络 中切换。

更多子命令:man networksetup


路由与接口速查

# 接口与地址
ifconfig
 
# 路由表
netstat -rn
 
# 现代化替代(若系统提供)
route get default

DNS 与解析

# 测试解析(可使用指定服务器)
dig example.com
nslookup example.com

浏览器正常、ping 域名失败,可能是 代理 仅作用于浏览器,或 IPv6/IPv4拆分隧道 VPN 导致路径不一致。


代理与环境变量

终端里的 curl / git / npm 等是否走代理,取决于:

  • 系统代理(部分工具会继承,部分不会);
  • 当前 shell 中的 http_proxy / https_proxy / ALL_PROXY(大小写变体);
  • .npmrcgit config http.proxy 等工具级配置。

Homebrew、开发工具排错时,可先 env | grep -i proxy 确认是否误设。


防火墙

系统设置 → 网络 → 防火墙(或「安全性与隐私」相关页,依版本):可阻止入站连接;多数个人场景保持默认即可。企业 MDM 可能统一下发策略。


无线分析与诊断

  • 无线诊断:在按住 Option 时点 Wi‑Fi 菜单中的「打开无线诊断…」(具体文案因版本而异),可生成报告。
  • 路由器侧:信道拥堵、2.4/5/6 GHz 选择、固件更新同样影响体验。

简要排障顺序

  1. 同一网络下其它设备是否正常 → 区分终端/线路问题。
  2. 关闭 VPN / 代理 再试 → 排除拆分隧道或错误 PAC。
  3. ** forgetting Wi‑Fi 后重连** 或 续订 DHCP 租约(网络详情中)。
  4. DNS:暂时改用可靠公共 DNS 测试(确认不影响内网解析需求)。
  5. 仍异常:有线网络对比、查看 系统报告 或无线诊断日志。

相关链接