我想为一个特定域使用非默认 DNS 解析器,第一个想法是简单地使用本地 dnsmasq。在寻找 MacOS 版本时,我发现我可以通过创建一个域名为 in 的文件来实现相同的效果,只需/etc/resolver/example.com
简单的一行:
nameserver 8.8.8.8
一切都很好,按预期工作,解决方案有效,并scutil --dns
确认:
resolver #8
domain : example.com
nameserver[0] : 8.8.8.8
flags : Request A records
reach : Reachable
Run Code Online (Sandbox Code Playgroud)
接下来,我想通过创建一个可以在他的终端中运行的简单的 liner 来与朋友分享这一点:
sudo mkdir -p /etc/resolver/ && echo "nameserver 8.8.8.9" | sudo tee /etc/resolver/example.net
Run Code Online (Sandbox Code Playgroud)
再次scutil --dns
确认:
resolver #10
domain : example.net
nameserver[0] : 8.8.8.9
flags : Request A records
reach : Reachable
Run Code Online (Sandbox Code Playgroud)
然后我注意到一个错字,所以我将地址更正为 8.8.8.8 并再次运行该行:
sudo mkdir -p /etc/resolver/ && echo "nameserver 8.8.8.8" | sudo …
Run Code Online (Sandbox Code Playgroud)