可通过Configuration Profile配合MDM或命令行批量部署DNS:先用Apple Configurator 3创建含DNS服务器与搜索域的.mobileconfig文件,再经MDM推送或sudo profiles install静默安装,最后用networksetup验证并刷新网络服务。

如果您需要在多台 macOS 设备上统一部署相同的 DNS 服务器地址,手动逐台设置效率低下且易出错。通过配置文件方式可实现标准 DNS 设置的批量分发与自动应用。以下是完成该任务的具体步骤:
一、使用 Configuration Profile 创建 DNS 配置
Configuration Profile 是 Apple 官方支持的标准化管理机制,适用于 macOS 10.12 及以上版本,能直接写入系统网络偏好设置中的 DNS 服务配置,无需用户交互即可生效。
1、打开 Apple Configurator 3(从 Mac App Store 免费下载并安装)。
2、点击左上角“新建”按钮,选择“配置描述文件”,输入名称如“Standard-DNS-Profile”。
3、在左侧列表中勾选“网络”,展开后点击“DNS”子项。
4、启用“配置 DNS 设置”,在“DNS 服务器”栏中依次输入目标 DNS 地址,例如:8.8.8.8、1.1.1.1、192.168.1.1。
5、在“搜索域”字段中可选填内网域名,如:corp.local。
6、点击右上角“存储”,将配置文件保存为 .mobileconfig 格式。
二、通过 MDM 服务器推送配置文件
MDM(Mobile Device Management)平台可远程向注册设备下发配置文件,适合企业环境中对已加入管理的 Mac 进行集中控制和策略同步。
1、登录您的 MDM 管理控制台(如 Jamf Pro、Kandji、Mosyle Business 等)。
2、进入“配置文件”或“设置策略”模块,点击“上传新配置文件”。
3、选择上一步生成的 .mobileconfig 文件,确认其签名状态为有效。
4、设定目标设备群组,例如“研发部-MacBook-Pro”或“全部 macOS 13+ 设备”。
5、启用“强制安装”选项,并设置生效时间为立即或下次检查时。
6、提交发布,设备将在下一次与 MDM 通信时自动接收并安装该 DNS 配置。
三、使用命令行部署配置文件(无 MDM 环境)
在未部署 MDM 的小规模场景中,可通过终端执行 profile 命令完成静默安装,适用于管理员拥有本地管理员权限的设备。
1、将 .mobileconfig 文件复制到目标 Mac 的任意路径,例如:/Users/admin/Desktop/dns-config.mobileconfig。
2、以管理员身份打开终端,执行以下命令:sudo profiles install -path /Users/admin/Desktop/dns-config.mobileconfig。
3、系统提示输入密码后,等待命令返回“Installation was successful.”。
4、运行 networksetup -getdnsservers Wi-Fi 验证当前 Wi-Fi 接口是否已应用新 DNS。
5、若需对有线接口生效,替换命令中接口名为 Ethernet 或执行 networksetup -listallnetworkservices 查看可用服务名。
四、通过脚本自动触发配置文件安装与网络重载
当需确保 DNS 设置在安装后立即生效且不依赖用户重启网络服务时,可组合配置文件安装与 networksetup 命令实现完整闭环。
1、创建 shell 脚本文件,例如:install-dns.sh。
2、在脚本中写入以下内容:sudo profiles install -path "$1"; sudo networksetup -setdnsservers "Wi-Fi" 8.8.8.8 1.1.1.1; sudo networksetup -renamenetworkservice "Wi-Fi" "Wi-Fi"; sudo networksetup -setnetworkserviceenabled "Wi-Fi" off; sudo networksetup -setnetworkserviceenabled "Wi-Fi" on。
3、赋予执行权限:chmod +x install-dns.sh。
4、执行脚本并传入配置文件路径:sudo ./install-dns.sh /path/to/dns-config.mobileconfig。
5、该流程将安装配置、显式设置 DNS、重命名服务以刷新上下文,并开关 Wi-Fi 接口以强制应用变更。










