DNS服务器systemctl start named启动失败

systemctl restart named
Job for named.service failed because the control process exited with error code. See “systemctl status named.service” and “journalctl -xe” for details.

命令:named-checkconf -z /etc/named.conf
zone linuxprobe.com/IN: NS ‘ns.linuxprobe.com.linuxprobe.com’ has no address records (A or AAAA)
zone linuxprobe.com/IN: not loaded due to errors. // 没有指定A记录导致出错

在 /usr/lib/systemd/system/named.service 中定义了一行:
ExecStartPre=/bin/bash -c 'if [ ! “$DISABLE_ZONE_CHECKING” == “yes” ];

then /usr/sbin/named-checkconf -z “$NAMEDCONF”;

else echo “Checking of zone files is disabled”; fi’

就是因为启动 named 前会检查 named-checkconf -z /etc/named.conf ,回应 exit 1,所以启动失败

解决方式

  1. 直接用 named -u named 启动,如果要习惯 systemctl restart named.service启动的话,就不要这么做了,只是暂时。
  2. 改写 ExecStartPre 检查方式,让它 exit 0
  3. 注解ExecStartPre 不检查 zone
  4. 或在 /etc/sysconfig/named 加入 DISABLE_ZONE_CHECKING=”yes”,并确认 named.service 文档里的 EnvironmentFile 是不是长这样: EnvironmentFile=/etc/sysconfig/named,我刚看时是长这样: EnvironmentFile=-/etc/sysconfig/named (多了 – dash)。改了 named.service 后要 systemctl daemon-reload

我是用方法 4 解决的!!!

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值