Linux DNS服务器troubleshooting两则

一、安装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

[root@Centos6 ~]# dig

; <<>> 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服务,再测试果然好了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/04216c18a20c24c27a266c34209e0cc9.html