You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Core无法解析主机名问题技术求助

解决Ubuntu Core主机名解析异常问题

我之前在Ubuntu Core上碰到过几乎一模一样的DNS解析问题,给你几个针对性的排查和修复步骤,应该能解决:

  • 先确认系统实际使用的DNS服务器
    Ubuntu Core默认用systemd-resolved管理DNS,就算你在NetworkManager里设了8.8.8.8,也可能没同步生效。执行下面的命令检查当前生效的DNS配置:

    resolvectl status
    # 或者直接查看实际生效的resolv.conf内容
    cat /run/systemd/resolve/stub-resolv.conf
    

    如果输出里看不到8.8.8.8,说明NetworkManager的配置没同步到systemd-resolved,可以手动添加:

    sudo resolvectl dns <你的网卡名称> 8.8.8.8
    # 比如网卡是eth0的话,命令就是:sudo resolvectl dns eth0 8.8.8.8
    
  • 检查snapd的DNS独立配置
    Snap应用的DNS是由snapd单独管理的,可能和系统DNS不同步。先检查这个关键开关:

    snap get system network.disable-resolve-conf
    

    如果返回true,说明snapd没有使用系统的resolv.conf,需要把它改成false并重启snapd:

    sudo snap set system network.disable-resolve-conf=false
    sudo systemctl restart snapd
    
  • 重启关键服务恢复进程状态
    有时候服务进程卡住会导致解析异常,重启这两个核心服务试试:

    sudo systemctl restart systemd-resolved
    sudo systemctl restart snapd
    
  • 直接验证DNS解析能力
    绕开系统配置,用指定DNS服务器测试解析,确认网络层面没问题:

    dig www.nasa.gov @8.8.8.8
    

    如果这个命令能返回正确的IP,说明DNS服务本身没问题,只是系统没正确调用;如果还是失败,要检查是不是防火墙或者网络规则挡住了53端口的UDP请求。

  • 修复resolv.conf软链接
    Ubuntu Core里/etc/resolv.conf通常是软链接到systemd-resolved的配置文件,如果链接失效也会引发问题:

    ls -l /etc/resolv.conf
    # 如果不是链接到/run/systemd/resolve/stub-resolv.conf,重新建立链接:
    sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
    

做完这些步骤后,再试试snap find ntpserver和ping www.nasa.gov,应该就能正常工作了。

内容的提问来源于stack exchange,提问作者Nick Paraschou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:46:54