macOS系统 - macOS修改DNS配置永久生效方法

这是因为macOS使用系统配置缓存管理DNS,直接修改 /var/run/resolv.conf 是无效的(它会在每次网络变化或重启时被覆盖)。

正确的修改DNS方法(任选其一):

方法一:通过系统偏好设置(推荐)

  1. 打开 系统偏好设置 > 网络
  2. 选择当前使用的网络接口(如Wi-Fi或以太网)
  3. 点击 高级
  4. 切换到 DNS 标签页
  5. 点击左下角 + 添加DNS服务器
  6. 例如:8.8.8.81.1.1.1
  7. 点击 然后 应用

方法二:使用命令行(networksetup)

# 查看所有网络服务
networksetup -listallnetworkservices

# 设置Wi-Fi的DNS(替换为你的服务名称)
networksetup -setdnsservers Wi-Fi 8.8.8.8 1.1.1.1

# 清空DNS设置(恢复为DHCP分配)
networksetup -setdnsservers Wi-Fi "Empty"

方法三:创建配置文件(适用于高级用户)

创建 /etc/resolver/ 目录下的配置:

# 创建resolver目录
sudo mkdir -p /etc/resolver

# 为特定域名设置DNS
sudo tee /etc/resolver/google <<EOF
nameserver 8.8.8.8
EOF

为什么直接修改resolv.conf无效?

  • macOS使用 resolv.conf 是由 resolvd 动态生成的
  • 真正的配置存储在 系统配置数据库
  • /var/run/resolv.conf 只是一个临时映射

验证DNS是否生效:

# 查看当前DNS配置
scutil --dns

# 查看当前使用的DNS服务器
cat /etc/resolv.conf

# 测试DNS解析
nslookup example.com
dscacheutil -q host -a name www.apple.com

永久生效的要点:

使用上述系统提供的方法修改,而不是直接编辑 /var/run/resolv.conf/etc/resolv.conf,这样配置会被保存并在重启后依然有效。

posted @ 2025-12-28 18:50  箫笛  阅读(75)  评论(0)    收藏  举报