IBM Cloud File Share Mount Helper 实用程序
Mount Helper 是一款开源自动化工具,用于配置和建立计算主机与文件共享之间的安全通信。 它确保服务器与区域或地区文件共享之间的通信是加密的。
分区共享的 IPsec 封装连接
该实用程序使用 strongSwan 和 swanctl
在运行 Linux 操作系统的计算主机上配置 IPsec。
File Storage for VPC IPsec 连接需要相互认证。 挂载助手会从元数据服务中检索实例或裸机服务器身份令牌。 然后,它会使用身份令牌请求创建实例或裸机服务器身份证书。
安装帮助程序每 45 分钟发出一次新证书请求,因为证书的生存期为 1 小时。 新证书在旧证书到期之前生成,以确保无缝连接。 出于安全原因,将使用较短的生命周期来生成证书。
您可以将该实用程序用于加密或未加密的连接。 对于加密连接,挂载助手会使用设置为 http
或 https
的元数据服务协议选项。 有关详细信息,请参阅 metadata_service
实例供应 和 裸机服务器供应 选项的 API 参考。
Stunnel 地区股份的安全连接
新
该实用程序可在运行 Linux 操作系统的计算主机上安装 stunnel。 Stunnel 需要一个 pem 文件。 由于 stunnel 是在客户端模式下使用的,因此可以使用发行版附带的 pem。
要求
- 要与区域文件共享建立安全连接,必须在虚拟服务器实例上启用 元数据服务。 如果尚未启用,请按照以下说明 在控制台中启用元数据、从 CLI 启用元数据、从 API 启用虚拟服务器实例的元数据或 在控制台中启用元数据、从 CLI 启用元数据、从 API 启用裸机服务器的元数据。
- 文件共享必须具有 安全组访问模式,因此 VPC 的安全访问组可用来定义哪个计算主机可以挂载共享。
- 必须为挂载目标启用传输中数据加密。
- 计算主机和挂载目标必须是同一个 安全组 的成员。
- 必须使用 虚拟网络接口 创建安装目标,因此它在表示虚拟 NFS 服务器的 VPC 中具有 IP 地址。
限制
-
无法在多个区域中使用相同的证书。
-
仅 Linux 主机支持挂载助手。 有关支持的发行版,请参见表格:
下表显示了所支持的主机操作系统版本。 受支持的操作系统 受支持的操作系统 受支持的操作系统 UBUNTU_2204 UBUNTU_2404 SAP_SLES_15_SP3_HANA RHEL_8 [8.4, 8.6, 8.8, 8.10] RHEL_9 [9.0, 9.2, 9.4] SAP_SLES_15_SP3_APPLICATIONS CENTOS_STREAM_9 CENTOS_STREAM_10 SAP_SLES_15_SP4_HANA DEBIAN_11 DEBIAN_12 SAP_SLES_15_SP4_APPLICATIONS ROCKYLINUX_8 [8.9, 8.10] ROCKYLINUX_9 [9.4, 9.5] -
不支持在 Red Hat Enterprise Linux CoreOS 上安装挂载辅助程序。
安装和配置安装帮助程序
登录要挂载文件共享的计算主机。
然后,您可以直接从 GitHub, 下载软件包,或从源代码中构建实用程序
要在裸机服务器和文件共享之间建立加密连接,请下载 Mount Helper 版本 0.2.1。
下载安装包
-
从 GitHub下载 Mount Helper 软件包。
curl -LO https://github.com/IBM/vpc-file-storage-mount-helper/releases/download/latest/mount.ibmshare-latest.tar.gz
-
抽取压缩文件。
tar -xvf mount.ibmshare-latest.tar.gz
该文件包含以下项: 安装和卸载脚本,
rpm
和deb
软件包,根 CA 证书以及配置文件。已关闭环境: 要在没有因特网连接的虚拟服务器实例上安装 Mount Helper,请基于操作系统在 VSI 上创建或更新本地存储库。 将安装帮助程序包及其依赖关系复制到本地目录。
安装挂载助手以挂载区域文件共享
-
要安装安装帮助程序和所有依赖项,请使用以下脚本并指定要安装文件共享的区域。
./install.sh region=us-south
region
参数用于复制特定区域的根 CA 证书。 如果未指定区域,那么该实用程序将复制所有根 CA 证书。 下表显示了可用于指定区域的值。此表显示了脚本接受的区域值。 地区 新值 先前的价值 澳大利亚——悉尼 au-syd
syd
巴西 - 圣保罗 br-sao
sao
加拿大 - 蒙特利尔 ca-mon
加拿大 - 多伦多 ca-tor
tor
德国——法兰克福 eu-de
fra
日本 - 大阪 jp-osa
osa
日本 - 东京 jp-tok
tok
西班牙 - 马德里 eu-mad
mad
英国 - 伦敦 eu-gb
lon
美国 - 华盛顿特区 us-east
wdc
美国 - 德克萨斯州达拉斯市 us-south
dal
-
可选-每个安装映像都随附一个包含映像文件的校验和值的文件。 例如,映像文件 ibmshare-0.0.1.tar.gz 随附了包含校验和值的 ibmshare-0.0.1.tar.gz.sha256 文件。 要验证下载的软件包的完整性,请使用以下命令。
curl -LO https://github.com/IBM/vpc-file-storage-mount-helper/releases/download/latest/mount.ibmshare-latest.tar.gz.sha256
sha256sum -c mount.ibmshare-latest.tar.gz.sha256
成功的响应显示 "OK"。 输出结果如下。
# sha256sum -c mount.ibmshare-latest.tar.gz.sha256 ./mount.ibmshare-latest.tar.gz: OK
-
可选-缺省情况下,证书持续 1 小时,每 45 分钟访存一次新证书。 但是,您可以将配置文件
/etc/ibmcloud/share.conf
中的certificate_duration_seconds
选项修改为不同的时间间隔。 新值必须介于 5 分钟到 1 小时之间,并以秒表示。certificate_duration_seconds = 600
certificate_duration_seconds
值的有效范围为 300-3600 秒。 当当前证书达到其生命周期的 70% 时,将更新证书。 -
可选-如果要使用新的到期时间立即更新证书,请运行以下命令。
/sbin/mount.ibmshare -RENEW_CERTIFICATE_NOW
安装挂载助手以挂载区域文件共享
- 要安装安装助手和所有依赖项,请使用以下脚本并指定
--stunnel
选项。./install.sh --stunnel
- 可选-每个安装映像都随附一个包含映像文件的校验和值的文件。 例如,映像文件 ibmshare-0.0.1.tar.gz 随附了包含校验和值的 ibmshare-0.0.1.tar.gz.sha256 文件。 要验证下载的软件包的完整性,请使用以下命令。
curl -LO https://github.com/IBM/vpc-file-storage-mount-helper/releases/download/latest/mount.ibmshare-latest.tar.gz.sha256
成功的响应显示 "OK"。 输出结果如下。sha256sum -c mount.ibmshare-latest.tar.gz.sha256
# sha256sum -c mount.ibmshare-latest.tar.gz.sha256 ./mount.ibmshare-latest.tar.gz: OK
从源代码构建安装帮助程序实用程序
-
在基于 Debian的实例上,运行以下命令:
apt-get update -y apt-get install git make python3 -y git clone https://github.com/IBM/vpc-file-storage-mount-helper.git cd vpc-file-storage-mount-helper make build-deb
-
在基于 RPM 的实例上,运行以下命令:
yum update -y yum install git make python3 rpm-build -y git clone https://github.com/IBM/vpc-file-storage-mount-helper.git cd vpc-file-storage-mount-helper make build-rpm
更新安装帮助程序
要更新安装包,请再次运行 install.sh
脚本。
./install.sh
当你想升级 stunnel 软件包时,也可以使用 --stunnel
选项。
卸载安装帮助程序
以下命令将卸载该实用程序。
./uninstall.sh
故障诊断提示
-
如果 IPsec 安装失败,请检查标准输出上显示的 mount-helper 安装脚本日志。
-
如果正确安装了 IPsec 但未能启动 IPsec 服务,请检查
charon
日志。 可以在以下某个基于操作系统映像的日志文件中找到charon
日志:/var/log/syslog
或/var/log/messages
。 -
在尝试安装命令之前,可以在另一个终端上运行以下
swanctl
命令以检查 IPsec 连接协商日志。swanctl -T
-
要手动启动或断开 IPsec 连接,请使用下列其中一个命令。
ipsec up <connection-name> ipsec down <connection-name>
-
如果 IPsec 命令不可用,请使用以下
swanctl
命令。swanctl -i --ike <connection-name> swanctl -i --child <connection-name> swanctl -t --ike <connection-name>
-
要列出使用 ipsec 加密的活动连接,请使用以下命令之一。
ipsec status
或
swanctl -l
-
用于重新启动 strongSwan 服务的命令。
systemctl restart strongswan
-
安装帮助程序日志的位置。
/opt/ibm/mount-ibmshare/mount-ibmshare.log
-
stunnel日志的位置:
/var/log/stunnel/ibmshare_[MOUNT_PATH].log
后续步骤
默认情况下,NFS 会将以根权限创建的任何文件降级为 nobody
用户。 这一安全功能可防止共享权限,除非提出申请。 通过配置 no_root_squash
,root 客户端可以保留远程 NFS 文件共享的 root 权限。 对于 NFSv4.1,将 nfsv4 域设置为:slnfsv4.com
,并启动 rpcidmapd
或操作系统使用的类似服务。 更多信息,请参阅
实施 no_root_squash
for NFS (可选)。
了解有关 管理文件共享 的信息。