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

systemd启动任务DNS解析失败求助:配置相关target仍无效

解决systemd启动任务DNS解析失败的问题

我之前碰到过一模一样的问题!用systemd配置了一个启动任务,结果每次启动都因为DNS解析失败报错「Temporary Error in Name Resolution」。试过把network-online.target、nss-lookup.target、systemd-resolved.service全加到Wants、Requires、After标签里,可完全没用,任务还是没法稳定启动,DNS问题依旧。折腾了好久,终于找到了几个靠谱的解决思路:

先确认systemd-resolved本身正常运行

首先得确保负责DNS解析的systemd-resolved服务真的在正常工作:

  • 先执行systemctl status systemd-resolved.service看看服务状态是不是active (running)。如果没启动,先启动并设置开机自启:systemctl enable --now systemd-resolved.service
  • 再检查/etc/resolv.conf的指向:正常情况下它应该是个软链接,指向/run/systemd/resolve/stub-resolv.conf或者/run/systemd/resolve/resolv.conf。如果不是的话,删掉原来的文件重新创建软链接:ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

优化systemd单元文件的依赖配置

之前的依赖配置太杂反而容易出问题,试试更精准的配置:

[Unit]
Description=Does some stuff
# 核心依赖只留systemd-resolved,确保DNS服务就绪
Requires=systemd-resolved.service
# 让任务在resolved和网络都就绪后启动
After=systemd-resolved.service network-online.target
# 可选:依赖network-online.target但不强求
Wants=network-online.target
# 关键兜底:启动前强制等待目标域名能解析成功
ExecStartPre=/bin/bash -c 'until nslookup your-target-domain.com >/dev/null 2>&1; do sleep 1; done'

[Service]
Type=simple
ExecStart=/path/to/your/script-or-binary
# 解析失败时自动重启,增加稳定性
Restart=on-failure

[Install]
WantedBy=multi-user.target

这里的重点是:

  • 不要把太多target塞进Requires里,network-online.target有时候会提前标记为就绪,但实际DNS还没完全配置好,所以用Wants更稳妥
  • ExecStartPre的脚本是杀手锏——它会循环检测目标域名的解析状态,直到能解析成功才启动主任务,彻底避免启动时机过早的问题

额外排查点

如果上面的方法还是不行,可以试试这些:

  • 手动验证域名解析:系统启动后执行nslookup your-target-domain.com,看看是不是真的能解析到IP,排除域名本身的问题
  • 检查内网DNS配置:如果是内网域名,编辑/etc/systemd/resolved.conf,设置DNS和Domains字段(比如DNS=192.168.1.1),然后重启服务:systemctl restart systemd-resolved.service
  • 协调NetworkManager和systemd-resolved:如果你的系统用NetworkManager,确保它把DNS管理交给systemd-resolved——编辑/etc/NetworkManager/NetworkManager.conf,添加或修改dns=systemd-resolved,然后重启NetworkManager:systemctl restart NetworkManager.service

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:14:56