Virtio RNG es un generador de números aleatorios paravirtualizado. Virtio RNG proporciona números aleatorios de un conjunto de entropía generado por la máquina host de tu instancia de máquina virtual. El conjunto de entropía recoge bits aleatorios de información del sistema y los usa para generar números verdaderamente aleatorios, que puedes usar para información sensible, como claves SSH o IDs únicos.
Antes de empezar
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
-
Limitaciones
- Virtio RNG no está disponible para imágenes de Windows.
- De forma predeterminada, las VMs de Compute Engine usan Virtio RNG en lugar de un daemon para rellenar el grupo de entropía de los invitados. Si prefieres usar un daemon de recolección de entropía en lugar de Virtio RNG o junto con él, debes instalar uno. Para ver un ejemplo de un daemon de recolección de entropía, consulta la documentación de
rng-tools
.
Comprobar si Virtio RNG está habilitado
Para comprobar si Virtio RNG está habilitado en tu máquina virtual, ejecuta el siguiente comando:
lsmod | grep rng
Cuando Virtio RNG está habilitado, el resultado es similar al siguiente:
virtio_rng 16384 0 rng_core 16384 2 virtio_rng virtio_ring 28672 4 virtio_rng,virtio_scsi,virtio_pci,virtio_net virtio 16384 4 virtio_rng,virtio_scsi,virtio_pci,virtio_net
Probar Virtio RNG
Puedes probar Virtio RNG con el dispositivo /dev/random
.
Conéctate a la VM mediante SSH. Por ejemplo, puedes usar la CLI de gcloud para conectarte:
gcloud compute ssh VM_NAME
Sustituye
VM_NAME
por el nombre de tu VM.Instalar
rng-tools
:CentOS
Usa el siguiente comando para instalar
rng-tools
:sudo yum install rng-tools
Debian
Usa el siguiente comando para instalar
rng-tools
:sudo apt install rng-tools
Fedora CoreOS
Usa el siguiente comando para instalar
rng-tools
:sudo yum install rng-tools
RHEL - 6, 7
Usa el siguiente comando para instalar
rng-tools
:sudo yum install rng-tools
SLES
Usa el siguiente comando para instalar
rng-tools
:sudo zypper install rng-tools
Ubuntu LTS
Usa el siguiente comando para instalar
rng-tools
:sudo apt install rng-tools
Algunas imágenes de Ubuntu devuelven un error
Package 'rng-tools' has no installation candidate
. Si aparece este error, ejecuta los siguientes comandos:sudo apt update sudo apt install rng-tools
En la máquina virtual, ejecuta el comando
rngtest
:cat /dev/random | rngtest -c 1000
Si Virtio RNG no está habilitado, el comando no devuelve nada. Si está habilitada, recibirá una respuesta similar a la siguiente:
rngtest 2-unofficial-mt.14.. rngtest: starting FIPS tests... rngtest: bits received from input: 20000032 rngtest: FIPS 140-2 successes: 1000 rngtest: FIPS 140-2 failures: 0 rngtest: FIPS 140-2(2001-10-10) Monobit: 0 rngtest: FIPS 140-2(2001-10-10) Poker: 0 rngtest: FIPS 140-2(2001-10-10) Runs: 0 rngtest: FIPS 140-2(2001-10-10) Long run: 0 rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 rngtest: input channel speed: (min=4.801; avg=7.318; max=7.839)Mibits/s rngtest: FIPS tests speed: (min=39.005; avg=69.557; max=72.523)Mibits/s rngtest: Program run time: 2880954 microseconds
Siguientes pasos
- Consulta más información sobre Virtio RNG.
- Consulta más información sobre
/dev/random
. - Consulta los detalles del sistema operativo para obtener más información sobre las imágenes disponibles en Compute Engine.