macOS“网络位置”是一套完整独立的网络配置快照,可保存Wi-Fi名称、接口启停、IP分配方式、DNS、代理及服务顺序等参数,创建后通过控制中心、苹果菜单或终端命令networksetup -switchlocation秒级切换,无需重启;切换后需执行sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder刷新DNS缓存以确保生效。

macOS 的“网络位置”不是快捷方式,而是一套完整、独立的网络配置快照。它能同时保存 Wi-Fi 名称与连接逻辑、以太网是否启用、IP 分配方式(DHCP 或静态)、DNS 服务器、代理开关、服务优先级顺序等全部参数。只要提前建好,切换就是秒级生效,不用重连、不弹提示、不重启网络服务。
怎么创建实用的网络位置
位置的价值不在数量,而在贴合真实使用场景。比如“办公室”“家庭”“咖啡馆”比“位置1”“位置2”更易识别,也方便后续扩展。
- 打开“系统设置” → “网络”,点击右上角 ⋯ → “编辑位置…”
- 点左下角 + 号,输入名称(如“出差模式”),点“完成”
- 新位置会自动激活,此时左侧服务列表默认继承当前所有接口状态;你只需勾选该场景实际用的服务(例如“出差模式”只留 Wi-Fi,关掉以太网和蓝牙 PAN)
- 选中 Wi-Fi → 点“详细信息…” → 在“Wi-Fi”页指定首选网络、关闭自动加入陌生网络;在“TCP/IP”页选“使用 DHCP”或填静态 IP;在“DNS”页添加 223.5.5.5 和 119.29.29.29 等常用 DNS
- 点击左下角齿轮图标 → “设定服务顺序…”,把最常优先连接的接口拖到顶部(比如办公室里以太网永远排第一)
三种真正顺手的切换方式
别再每次进系统设置点半天。这三种方法覆盖日常高频操作,且都实时生效:
- 控制中心一键展开:确保“系统设置 > 桌面与程序坞 > 控制中心”里,“位置”设为“显示在菜单栏中”。点击右上角控制中心图标 → 找到“位置”模块 → 直接点选目标名称
- 苹果菜单直达:只要已创建两个及以上位置,左上角苹果菜单 中就会自动出现“位置”子菜单,鼠标悬停即展开,单击切换,适合键盘+鼠标协同操作
- 终端命令秒切(适合自动化):打开终端,执行 networksetup -switchlocation "办公室" 即可切换;配合 networksetup -getcurrentlocation 可随时确认当前状态
切换后 DNS 不生效?这是常见误区
网络位置切换本身不触发 DNS 缓存刷新,所以即使 DNS 地址已写入,nslookup 仍可能返回旧结果。这不是配置失败,而是缓存未更新。
- 切换位置后,建议立即执行刷新命令:sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
- 验证是否生效:运行 nslookup apple.com,看返回的 DNS 服务器地址是否为你刚设的那个
- 如果某位置需固定 DNS,可在切换后追加设置命令,例如:networksetup -setdnsservers "Wi-Fi" 223.5.5.5 114.114.114.114
进阶技巧:复制位置 + 快捷指令封装
新建一个跟“家庭”几乎一样、只改 DNS 的“家庭-开发版”,不用从头配。在“编辑位置…”界面选中“家庭”,点右键或按 Cmd+C 复制,粘贴后重命名即可微调。
- 用“快捷指令”App 创建一个新指令,添加“运行 shell 脚本”操作,内容为:networksetup -switchlocation "办公室"; sleep 0.5; sudo dscacheutil -flushcache
- 把它设为菜单栏快捷按钮,或添加到触控栏,一点即切,连终端都不用开
- 如需同步切换显示器布局,可搭配 DisplayPlacer 工具,在同一指令中追加 displayplacer 命令,实现“网络+屏幕”双状态一键还原


















