我尝试创建一台从网络加载根文件系统的 Linux 计算机。目前这适用于 NFS,但不幸的是它不是很安全。
该网络只是一个家庭网络,这意味着网络中很多时候还有其他人(访客、朋友……)。我的 NFS 共享不使用身份验证,并且似乎无法使用身份验证来挂载根文件系统: https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt
这让我想到了我的问题:是否有一个文件系统或其他东西可以用作 Linux 的根文件系统,并且可以通过网络运行并进行身份验证?
我已经找到 iSCSI,但我的 BIOS / EFI 不支持从 iSCSI 启动。
答案1
您的 BIOS 应支持 PXE。您必须在服务器上配置 DHCP,以便在系统启动时,它通常通过 TFTP 提供指向内核映像和 initrd(初始 RAM 磁盘)映像的指针。您的 initrd 映像本身就是操作系统的一个小型版本,能够加载驱动程序并在需要时运行命令。理论上,整个操作系统可以在该映像上运行,但通常,它用于暂存加载操作系统的下一阶段,此时可以是 iSCSI。
例如,您的 initrd 可以创建到 NFS 服务器的安全隧道,而不是执行 iSCSI。 IPSEC 将加密整个 IP 流,而基于套接字的解决方案将要求 NFS 使用 TCP(而不是 UDP)。