啟動named服務報錯!


安裝及配置bind服務程序:

yum -y install bind

三個關鍵文件:

主配置文件(/etc/named.conf)

區域配置文件(/etc/named.rfc1912.zones)

數據配置文件目錄(/var/named)

 

vim /etc/named.conf

修改兩個參數:

listen-on port 53   {  any ;  };       //服務器上所有IP地址均可提供DNS域名解析服務

allow-query   {   any;   };        //允許所有人對本服務器發送DNS查詢請求

 

例如進行正向解析實驗中:

第一步:編輯區域配置文件:vim  /etc/named.rfc1912.zones(按照模板添加自己的域名解析信息)

第二步:編輯數據配置文件:可以先從/var/named目錄中復制一份正向解析的模板文件,需要-a參數

命令如下:cd  /var/named

                  cp   -a  named.localhost     文件名(與區域配置文件中一致)

                   vim   文件名    //添加自己的數據

問題來啦!!!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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM