习惯性的按照Linux下修改方式,直接编辑 /etc/resolv.conf ,改完发现没有生效,仔细看了一下文档
#
# macOS Notice
#
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
# scutil --dns
#
# SEE ALSO
# dns-sd(1), scutil(8)
#
# This file is automatically generated.
#
查看系统使用的DNS配置
scutil --dns
查询了一下相关资料,原来macOS使用 networksetup 命令来管理
列出所有的网络连接方式
networksetup -listallnetworkservices
给指定的网络连接方式设定DNS服务器
networksetup -setdnsservers <workservices> x.x.x.x
# 注:x.x.x.x就是要更改的DNS地址,可以加空格跟多个
# <workservices>是要修改的网络接口,需要替换为具体的网络接口名称(参看前一步列表)
检查当前DNS设置
networksetup -getdnsservers <workservices>
清空当前的DNS设置
networksetup -setdnsservers <workservices> empty
清空DNS缓存
dscacheutil -flushcache