Centos 6.3 绑定挂在“生成 /etc/rndc.key”上

sol*_*sol 6 bind centos centos6

我正在一个干净的 Centos 6.3 系统上安装 bind。在以前的版本中,它会像魅力一样工作,但现在我明白了

生成 /etc/rndc.key

安装后尝试启动绑定时。为什么会这样,有谁知道如何解决这个问题?

谢谢!

小智 9

尝试使用

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”

我在这里找到了答案并进行了自我测试,因为我遇到了同样的问题。

干杯

  • 我通常不会投反对票,但这不是一个好主意。解锁随机设备 (`/dev/urandom) 根本不是随机的,只是 PRNG 的输出。这对于很多事情来说已经足够了,但对于可能在未来几年内保持不变的加密密钥来说**不是**。如果是熵短缺导致了 solsol 的问题,他最好在具有大量熵的不同盒子上生成一个强密钥并将其安全地复制到他的服务器。 (4认同)

Mad*_*ter 4

如果这看起来很老套,我很抱歉,但我怀疑错误消息意味着系统正在尝试在/etc/rndc.key. BIND 的正确操作需要这样的密钥,因为它在 CentOS 中是开箱即用的配置,尽管只需要在第一次创建。

我怀疑它挂在创作上,因为你通过 ssh 连接到远程服务器,没有通过键盘和鼠标连接的方便人员,他们可以提供此类密钥生成所需的熵。

您可以通过执行以下操作来测试该假设的第一部分

ls -al /etc/rndc.key
Run Code Online (Sandbox Code Playgroud)

如果它不存在,那就是问题所在。

您可以通过执行以下操作来测试第二部分

sudo rndc-confgen -a -c /etc/rndc.key
Run Code Online (Sandbox Code Playgroud)

在您的远程服务器上。如果它挂起,请尝试执行以下操作

rndc-confgen -a -c /tmp/disposable.key
Run Code Online (Sandbox Code Playgroud)

在您的远程服务器上。如果它也挂起,问题不在于文件/etc/rndc.key,而在于密钥生成行为,正如我怀疑的那样。尝试

rndc-confgen -a -c /tmp/disposable.key
Run Code Online (Sandbox Code Playgroud)

在您的本地桌面上(假设您已bind安装该软件包,或任何适合您本地发行版的软件包)。如果完成,问题很可能是熵的可用性(台式机有很多熵,并置服务器的熵较少;正如我所说,在 HID 电缆末端有一个人可以为系统提供大量有用的随机性) )。

您可以安排远程系统具有一些熵(这有点超出了本答案的范围),或者在本地生成密钥文件并将其复制到服务器(它只是一个格式正确、预共享的随机数秘密) 。

如果您执行后者,请确保该文件属于远程系统root:named并处于440远程系统上。