Ubuntu 22.04服务器主机名解析失败,无法通过主机名执行Ping或挂载操作
Ubuntu 22.04服务器主机名解析失败,无法通过主机名执行Ping或挂载操作
我之前也碰到过完全一样的情况——一台刚搭完Apache+MySQL+PHP Web环境的Ubuntu 22.04服务器,在域网络里死活没法通过主机名Ping通,也没法用主机名挂载共享,只有直接用IP地址操作才正常,当时折腾了好一阵才搞定。
具体的报错现象跟你描述的一模一样:
- 直接Ping主机名,返回错误:
Temporary failure in name resolution - 尝试用主机名挂载时,报错:
mount error: could not resolve address for server_name: Unknown error - 就连输入完整的FQDN(比如
server_name.domain_name.local)Ping,结果还是同样的解析失败提示
后来我发现问题出在/etc/resolv.conf的软链接指向不对。Ubuntu 22.04默认把这个文件软链接到了../run/systemd/resolve/stub-resolv.conf,这个stub配置文件会干扰本地域的DNS解析逻辑。
只需要执行一条命令,把软链接改成指向真实的DNS配置文件就行:
sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
说下背后的原因:Ubuntu 18.04及之后的版本(包括22.04)用systemd-resolved管理DNS服务,默认的stub resolver会优先处理本地mDNS请求,反而导致域内的主机名解析失效。切换到真实的resolv.conf后,系统就能正确使用域内的DNS服务器来解析主机名,Ping和挂载操作也就恢复正常了。
备注:内容来源于stack exchange,提问作者SheldonCopper
相关产品推荐
相关产品推荐

