如果我抓住我的resolv.conf,我会看到这样的消息:
# # Mac OS X Notice # # This file is not used by the host name and address resolution # or the DNS query routing mechanisms used by most processes on # this Mac OS X system. # # This file is automatically generated. #
我正在尝试添加DNS条目.我编辑了我的hosts文件并刷新了dns缓存,但是如果我使用主机服务器名,则该名称无法解析.我想也许主机没有配置为查看hosts文件.如何解析我的新条目,如果不是resolv.conf,OSX使用的是什么?
解决方法
主机工具不是简单地解析名称(例如,使用系统名称解析器),而是实际查询dns服务器(如,发送数据包到udp / 53和可能tcp / 53):它不知道也不使用本地主机文件.
如果要测试操作系统的解析器(例如,gethostbyname()和类似的libc函数),可以尝试ping你添加到/ etc / hosts的名称,它将尊重你放在该文件中的内容.
此外,正如您已经发现Mac OSX上的DNS查找不使用/etc/resolv.conf,并且配置哪些DNS服务器的正确方法是在网络设置gui和/或networksetup命令行工具中.老实说,我不知道你是否可以配置尝试源的顺序,但标准行为是首先尝试/ etc / hosts,然后再尝试dns服务器.