DNS 在 macOS 上如何工作?
我有一台 Mac,上面安装了 Cisco AnyConnect。我连接到一个可用的 VPN。有一条 DNS 记录grafana-exmaple.ru
。
当我从 Safari 回来时,它给了我一切。当我curl
这样做时,一切都正常。但是当我尝试dig
或nslookup
它去192.168.1.1
时却找不到这样的条目。
我可以在/etc/resolv.conf
I have中看到这一点nameserver 192.168.1.1
,但是 Safari 如何curl
知道正确的 DNS?
当我这样做时scutil --dns
,我有一个解析器具有公司服务器的正确 IP DNS。我只是不明白为什么curl
有效,但又nslookup
不起作用dig
。
我正在努力改变/etc/resolv.conf
。它有效,但我不明白为什么curl
不需要这种改变。
答案1
除非另有说明,否则工具如dig
、nslookup
和host
查询。/etc/resolv.conf
根据手册页dig
它特别指出:
除非被告知要查询特定的名称服务器,否则 dig 将尝试 /etc/resolv.conf 中列出的每个服务器
而不是dig
,尝试使用host
:
% host domain-to-lookup dns-server-ip