一、安装bind后,启动named服务卡在generating rndc.key

安装完bind后启动named服务:services named start,发现卡在产生rndc.key文件不动了

看了下named脚本,发现有如下一段

if [ ! -s /etc/rndc.key ]; then   
  # Generate rndc.key if doesn't exist    
  echo -n $"Generating /etc/rndc.key:"    
  if /usr/sbin/rndc-confgen -a > /dev/null 2>&1; then    
    chmod 640 /etc/rndc.key    
    chown root.named /etc/rndc.key    
    [ -x /sbin/restorecon ] && /sbin/restorecon /etc/rndc.key    
    success $"/etc/rndc.key generation"    
    echo    
  else    
    failure $"/etc/rndc.key generation"    
    echo    
  fi    
fi 

上文中标红的命令应该是出问题地方,手动敲了下这条命令果然如此。查了下网上资料,应该是由于系统启动时过于“干净”,导致/dev/random随机文件中随机数过少,进而导致rndc-confgen卡死

cd /etc    //主要是为了把随机文件和rndc.key放在此目录下,后面省事

echo jfldjfopiejlkfdjfgiodwurfopihjfgohj >random       //手工建一个random文件(其实文件名随便)

rndc-confgen –r random >rndc.key     //产生rndc.key

chown :named rndc.key      //修改rndc.key属组

再次启动服务,ok了

service named start   
Starting named: [  OK  ]

下面就可以继续进行配置了,不过后面又碰到了个小问题,见下节

 

二、证书(签名)问题

其实这个问题虽然解决了,但我到现在也不知道这个证书到底是哪个………

配置任务完成了,开始测试

dig example.com      //我建的测试域名

[root@Centos6 ~]# dig example.com 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> example.com   
;; global options: +cmd    
;; Got answer:    
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36572    
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 

;; QUESTION SECTION:   
;example.com.                   IN      A 

;; AUTHORITY SECTION:   
example.com.            10800   IN      SOA     ns1.example.com. root.example.com. 2013052001 86400 3600 604800 10800 

;; Query time: 1 msec   
;; SERVER: 127.0.0.1#53(127.0.0.1)    
;; WHEN: Tue May 21 03:10:26 2013    
;; MSG SIZE  rcvd: 74

没有问题

但却发现没法解析外部域名

dig www.sina.com.cn

[root@Centos6 ~]# dig www.sina.com.cn 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>> www.sina.com.cn   
;; global options: +cmd    
;; Got answer:    
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2428    
;; flags: qr rd ra; QUERY: 1, ANSWER: 18, AUTHORITY: 4, ADDITIONAL: 4 

;; QUESTION SECTION:   
;www.sina.com.cn.               IN      A 

;; Query time: 3197 msec   
;; SERVER: 127.0.0.1#53(127.0.0.1)    
;; WHEN: Tue May 21 03:11:24 2013    
;; MSG SIZE  rcvd: 465

重新检查遍配置,没发现问题(named-checkconf和named-checkzone都通过了)。看了下日志

tail –20 /var/log/message

  validating @0x7fba40482ca0: cn NSEC: no valid signature found   
May 12 04:48:42 Centos6 named[1250]: error (no valid RRSIG) resolving 'cn/DS/IN': 192.33.4.12#53

大概意思是签名有问题,由于之前配置路由器做证书的时候,证书出问题经常跟时间不对有关系,下意识的看了下系统时间,果然系统时间落后了8天,先修改回来

date -s "Mon May 20 18:48:30 UTC 2013"

重启了下named服务,再测试果然好了