9.6. 随机数字生成器(RNG)设备


virtio-rng 是一个虚拟 RNG(随机数生成器)设备,该设备向客户机虚拟机的操作系统提供 RNG 数据,从而在请求时为客户机虚拟机提供全新的熵。
当使用 RNG 的设备(如键盘)时,鼠标和其他输入不足以在客户机虚拟机上生成足够的熵。virtio-rng 设备可用于 Red Hat Enterprise Linux 和 Windows 客户机虚拟机。有关安装 Windows 要求的步骤,请参阅 注意。除非另有说明,否则以下描述适用于 Red Hat Enterprise Linux 和 Windows 客户机虚拟机。
当在 Linux 客户机虚拟机上启用了 virtio-rng 时,会在客户端虚拟机中创建 chardev,其位置为 /dev/hwrng/。然后可以打开这个 chardev,并读取从主机物理机器获取熵。为了使客户机应用程序能够透明地使用 virtio-rng 设备的随机性,/dev/hwrng/ 中的输入必须转发到客户机虚拟机中的内核熵池。如果此位置中的信息与 rgnd 守护进程合并(位于 rng-tools 中),则可以实现这一点。
这耦合会导致将熵路由到 guest 虚拟机的 /dev/random 文件。这个过程是在 Red Hat Enterprise Linux 6 客户机虚拟机中手动完成的。
Red Hat Enterprise Linux 6 客户机虚拟机与运行以下命令相结合:
# rngd -b -r /dev/hwrng/ -o /dev/random/
如需更多帮助,请运行 man rngd 命令以获得此处所示的命令选项的说明。有关更多示例,请参考 过程 9.11, “使用命令行工具实施 virtio-rng” 来配置 virtio-rng 设备。
注意
Windows 客户机虚拟机需要安装驱动程序 viorng。安装后,虚拟 RNG 设备将使用 Microsoft 提供的 CNG(下一代)API 工作。安装完驱动程序后,virtrng 设备就会出现在 RNG 供应商列表中。

过程 9.11. 使用命令行工具实施 virtio-rng

  1. 关闭客户机虚拟机。
  2. 在终端窗口中,使用 virsh edit domain-name 命令打开所需 guest 虚拟机的 XML 文件。
  3. 编辑 <devices> 元素使其包含以下内容:
    
      ...
      <devices>
        <rng model='virtio'>
          <rate period="2000" bytes="1234"/>
          <backend model='random'>/dev/random</backend>
               <source mode='bind' service='1234'>
               <source mode='connect' host='192.0.2.1' service='1234'>
          </backend>
        </rng>
      </devices>
      ...
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.