在旧计算机上设置 rngd(随机生成器)

在旧计算机上设置 rngd(随机生成器)

rngd程序来自rng-tools5Ubuntu/Debian 上的软件包。


# neofetch 
             ...-:::::-...                 root@dell-7577 
          .-MMMMMMMMMMMMMMM-.              -------------- 
      .-MMMM`..-:::::::-..`MMMM-.          OS: Linux Mint 21.1 x86_64 
    .:MMMM.:MMMMMMMMMMMMMMM:.MMMM:.        Host: Inspiron 7577 
   -MMM-M---MMMMMMMMMMMMMMMMMMM.MMM-       Kernel: 5.15.0-57-generic 
 `:MMM:MM`  :MMMM:....::-...-MMMM:MMM:`    Uptime: 32 mins 
 :MMM:MMM`  :MM:`  ``    ``  `:MMM:MMM:    Packages: 3489 (dpkg), 45 (flatpak), 11 (snap) 
.MMM.MMMM`  :MM.  -MM.  .MM-  `MMMM.MMM.   Shell: bash 5.1.16 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM-MMM:   Resolution: 1920x1080 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM:MMM:   DE: Cinnamon 5.6.5 
:MMM:MMMM`  :MM.  -MM-  .MM:  `MMMM-MMM:   WM: Mutter (Muffin) 
.MMM.MMMM`  :MM:--:MM:--:MM:  `MMMM.MMM.   WM Theme: Mint-Y-Dark-Aqua (Mint-Y) 
 :MMM:MMM-  `-MMMMMMMMMMMM-`  -MMM-MMM:    Theme: Mint-Y-Aqua [GTK2/3] 
  :MMM:MMM:`                `:MMM:MMM:     Icons: Mint-Y-Aqua [GTK2/3] 
   .MMM.MMMM:--------------:MMMM.MMM.      Terminal: gnome-terminal 
     '-MMMM.-MMMMMMMMMMMMMMM-.MMMM-'       CPU: Intel i7-7700HQ (8) @ 3.800GHz 
       '.-MMMM``--:::::--``MMMM-.'         GPU: NVIDIA GeForce GTX 1060 Mobile 
            '-MMMMMMMMMMMMM-'              GPU: Intel HD Graphics 630 
               ``-:::::-``                 Memory: 1158MiB / 31839MiB 

                                                                   
                                                                   


# rngd -v
Available entropy sources:
    Intel/AMD hardware rng
    DRNG

上面是一台相对较新的笔记本电脑(3.5年),具有第7代Intel CPU,并结合了TPM 2.0(但我不知道是否rngd默认使用它)。正如您所看到的,没有产生任何错误消息,因此我认为它运行良好,因为没有特殊设置。注意:DRNG我不知道那是什么。


root @ acer-5742g /root # neofetch 
            .-/+oossssoo+/-.               root@acer-5742g 
        `:+ssssssssssssssssss+:`           --------------- 
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 22.04.1 LTS x86_64 
    .ossssssssssssssssssdMMMNysssso.       Host: Aspire 5742G V1.24 
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 5.15.0-57-generic 
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 36 mins 
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 2099 (dpkg), 8 (snap) 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: bash 5.1.16 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1920x1080 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: Mutter (Muffin) 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM Theme: () 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Theme: Adwaita [GTK3] 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Icons: Adwaita [GTK3] 
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Terminal: /dev/pts/0 
  +sssssssssdmydMMMMMMMMddddyssssssss+     CPU: Intel Pentium P6200 (2) @ 2.133GHz 
   /ssssssssssshdmNNNNmyNMMMMhssssss/      GPU: NVIDIA GeForce GT 520M 
    .ossssssssssssssssssdMMMNysssso.       GPU: Intel Core Processor 
      -+sssssssssssssssssyyyssss+-         Memory: 689MiB / 3597MiB 
        `:+ssssssssssssssssss+:`
            .-/+oossssoo+/-.                                       
                                                                   


root @ acer-5742g /root # rngd -v
read error

read error

Available entropy sources:
    Intel/AMD hardware rng

相比之下,上面的第二台计算机已经有很多年历史了,运行rngd会产生两个错误,我的意思是:

读取错误

这会以某种方式影响随机性吗rngd 交付对于这些旧机器,他们是否需要以rngd某种方式调整设置,如果是这样,那么我应该如何或做什么?

谢谢。

手册页:https://linux.die.net/man/8/rngd

关于 DRNG 的注意事项:

数字随机数发生器;它是一种使用 RDRAND 处理器指令实现高质量、高性能熵和随机数生成的英特尔硬件方法。检查:

grep -m1 rdrand /proc/cpuinfo

systemctl status rngd -l

在旧计算机上会产生以下结果:

○ rngd.service - Start entropy gathering daemon (rngd)
     Loaded: loaded (/lib/systemd/system/rngd.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Fri 2023-01-06 06:03:46 CET; 1h 19min ago
       Docs: man:rngd(8)
    Process: 619 ExecStart=/usr/sbin/rngd -f (code=exited, status=0/SUCCESS)
   Main PID: 619 (code=exited, status=0/SUCCESS)
        CPU: 2ms

Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: read error
Jan 06 06:03:45 acer-5742g rngd[619]: No entropy sources working, exiting rngd
Jan 06 06:03:46 acer-5742g systemd[1]: rngd.service: Deactivated successfully.

答案1

注意:这是一个伪解决方案,因为您使用设备/dev/random中的数据填充设备/dev/urandom


使用您最喜欢的编辑器编辑此文件:

/etc/systemd/system/multi-user.target.wants/rngd.service

代替:

ExecStart=/usr/sbin/rngd -f

和:

ExecStart=/usr/sbin/rngd -f -r /dev/urandom

保存该文件后,运行:

systemctl daemon-reload && systemctl restart rngd.service

检查之后是否工作:

# systemctl status rngd -l
● rngd.service - Start entropy gathering daemon (rngd)
     Loaded: loaded (/lib/systemd/system/rngd.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-01-06 08:07:33 CET; 8s ago
       Docs: man:rngd(8)
   Main PID: 4757 (rngd)
      Tasks: 1 (limit: 4173)
     Memory: 224.0K
        CPU: 2ms
     CGroup: /system.slice/rngd.service
             └─4757 /usr/sbin/rngd -f -r /dev/urandom

Jan 06 08:07:33 acer-5742g systemd[1]: Started Start entropy gathering daemon (rngd).

相关内容