我正在一个干净的 Centos 6.3 系统上安装 bind。在以前的版本中,这很管用,但现在我
生成 /etc/rndc.key
安装后尝试启动 bind 时出现此问题。这是为什么?有人知道如何解决吗?
谢谢你!
答案1
尝试使用
rndc-confgen -a -r /dev/urandom
如果您使用 bind-chroot,请添加:
rndc-confgen -a -r /dev/urandom -t /var/named/chroot
结果应该是:
写入密钥文件“/etc/rndc.key”
写入密钥文件“/var/named/chroot/etc/rndc.key”
我找到了答案这里并对自己进行了测试,因为我也遇到了同样的问题。
干杯
答案2
抱歉,如果这听起来有些陈词滥调,但我怀疑错误消息意味着系统正在尝试生成 rndc 密钥/etc/rndc.key
。 这样的密钥是 BIND 正确运行所必需的,因为它在 CentOS 中是现成的,尽管它只需要在第一次创建。
我怀疑它之所以挂在创建上,是因为你已通过 ssh 连接到远程服务器,而该服务器没有通过键盘和鼠标连接的方便的人员,无法提供此类密钥生成所需的熵。
你可以通过以下方式测试这个假设的第一部分
ls -al /etc/rndc.key
如果没有的话,那就是问题所在。
你可以通过以下方式测试第二部分
sudo rndc-confgen -a -c /etc/rndc.key
在您的远程服务器上。如果它挂起,请尝试执行
rndc-confgen -a -c /tmp/disposable.key
在您的远程服务器上。如果它也挂起,问题就不在于文件/etc/rndc.key
,而在于密钥生成行为,我怀疑是这样。尝试
rndc-confgen -a -c /tmp/disposable.key
在您的本地桌面上(假设您已bind
安装软件包,或任何适合您本地发行版的软件包)。如果完成,问题很可能是熵的可用性(桌面有很多熵,而共置服务器则较少;正如我所说,在 HID 电缆的末端有一个人可以为系统提供许多有用的随机性)。
您可以安排远程系统具有一些熵(这有点超出了该答案的范围),或者在本地生成密钥文件并将其复制到服务器(它只是一个正确格式的、预共享的随机数秘密)。
如果选择后者,请确保该文件归远程系统所有并且处于远程系统root:named
模式。440
答案3
我遇到了同样的问题,但已经解决了。我所做的一切:在生成卡住后,只需输入几个字母,它就可以顺利启动。
答案4
RHEL 6(CentOS 基于此)显然不再在安装过程中生成 rndc.key - 有关详细信息,请参阅此错误报告:Centos 6.3 Bind 挂在“正在生成 /etc/rndc.key”处
因此,在第一次启动命名服务时会自动生成密钥。命令行可能看起来令人困惑,因为它以列结尾,如下所示:
[root@linx etc]# service named start
Generating /etc/rndc.key:
好像它提示输入,但实际上没有。这可能需要一些时间,可能 30 - 60 秒,所以请稍等,它应该像这样完成:
[root@linx etc]# service named start
Generating /etc/rndc.key: [ OK ]
Starting named: [ OK ]
希望能帮助到你。