一、安装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 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.4 <<>>
;; 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:
; 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服务,再测试果然好了