mac上的两级域后缀完成

时间:2014-11-13 15:00:32

标签: macos ubuntu dns resolve

在Ubuntu中,我在/etc/resolv.conf

中有这一行
search example.com uk.example.com se.example.com 

现在当我输入host svr1.uk时,我获得了svr1.uk.example.com的记录 如果我ping svr1.uk,我会看到来自svr1.uk.example.com的ping。

但是,如果我在/etc/resolv.conf中存在相同ping svr1.uk行的mac上尝试search,我会得到"ping: cannot resolve svr1.uk: Unknown host",但我确实看到了srv1的记录。来自host命令的uk.example.com。

是否有人可以根据ping中显示的顺序,使/etc/resolv.conf使用哪种查找方法正确解析域后缀?

3 个答案:

答案 0 :(得分:3)

这对El Capitan不起作用了。如果您升级到El Capitan,您需要这样做:

  1. defaults write /Library/Preferences/com.apple.mDNSResponder.plist AlwaysAppendSearchDomains -bool true

  2. 重新启动

  3. 有关详细信息,请参阅mDNSResponder手册页。

答案 1 :(得分:2)

OSX不使用/etc/resolv.conf进行DNS配置。请查看networksetup

设置搜索域:

sudo networksetup -setsearchdomains <network-interface> example.com uk.example.com se.example.com

列出网络接口/服务:

networksetup -listallnetworkservices

答案 2 :(得分:0)

在OS X 10.7-8

查找这些行(第16行; 10.8从第17行开始),并在末尾添加第三行,然后保存文件

<string>/usr/sbin/mDNSResponder</string>
<string>-launchd</string>
<string>-AlwaysAppendSearchDomains</string>

在OS X 10.9上

这仍然在第17行附近,需要在操作系统升级后重新编辑。 “-launchd”行不存在,因此只需附加alwaysappend行。

重新启动响应者:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

在OS X 10.10.1上

该文件现在称为com.apple.discoveryd.plist,您需要在ProgramArguments标记下添加一个非常相似的项目。在标记中的项目中添加<string>--AlwaysAppendSearchDomains</string>(注意,两个连字符)。运行一对类似的加载/卸载命令,但引用这个新的plist