在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
使用哪种查找方法正确解析域后缀?
答案 0 :(得分:3)
这对El Capitan不起作用了。如果您升级到El Capitan,您需要这样做:
defaults write /Library/Preferences/com.apple.mDNSResponder.plist AlwaysAppendSearchDomains -bool true
重新启动
有关详细信息,请参阅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