所以我有一台名为“B”的 Scientific Linux 6.3(RHEL 克隆,所以基本上问题与 Redhat 相关)机器(除了系统 HDD 之外还有一个额外的“A”HDD)和一台带有 SL 6.3 的笔记本。它们位于 /24 IPv4 子网中,并且可以完全相互访问。
问: 如何将“A”HDD设备导出到笔记本上,以便在笔记本上可以将“A”HDD视为设备/HDD/? (并使用 LUKS 对其进行本地加密 - 我知道最后的加密部分)
重要的是我需要保护连接(SSL?),这样就没有人可以拦截我在笔记本上加密的数据。或者:它已经通过 LUKS 加密了吗? (笔记本电脑和“B”机器之间的 SSL 连接只是一种开销?) - 额外:我还需要“设备的导出”必须可通过网络路由。
ps.:所以主要问题是:笔记本和“B”机器之间是否需要加密通信,或者在离开笔记本时HDD上的所有数据都已经加密(甚至LUKS密码也是如此??)
答案1
iSCSI Enterprise Target (iet) 正是您想要的。
在服务器端,您告诉 iet 获取文件或块设备并将其公开为 iSCSI 目标。
在客户端,运行 iSCSI 启动器。然后,您将能够将目标安装为块设备,即/dev/iscsi_target_1
然后,您可以使用或在您端/dev/iscsi_target_1
对其进行加密。只有加密数据通过 iSCSI 会话来回传输,类似于在本地连接设备的相同情况下只有加密数据通过 SATA 或其他存储链路传输。cryptsetup
truecrypt
更简单的方法也可能对您有用:您可以在服务器端创建一个大文件并使用 NFS 或 samba 共享它,然后truecrypt
在客户端上对其进行加密 - 加密/解密发生在系统truecrypt
运行时打开并且不会传输未加密的数据。我相信您还可以将该大文件安装为环回设备并用于cryptsetup
创建 LUKS 卷。
答案2
由于导出数据已加密,因此您无需加密流量。您可能也不需要对其进行身份验证(如果中间有一个人,您的密码将负责身份验证,就好像您没有看到可以使用您的密码解密密钥的设备一样,它只会失败)。
一个通过互联网导出块设备的简单解决方案是使用 nbd(网络块设备)。在上运行 nbd-server出口和 nbd-client 你想在哪里使用它。 nbd 设备也可以分区 ( modprobe nbd max_part=16
)。
nbd 通过一个 TCP 连接,因此您还可以将其封装在 ssh 或 openssl(使用 socat)、SOCKS 或 HTTP 代理中...