5.3. 强化网络服务
系统管理员在 Red Hat Enterprise Linux 7 服务器上部署红帽 Ceph 存储集群。SELinux 默认是开启的,防火墙会阻止除 SSH 服务端口 22 之外的所有入站流量;但是,您需要确定系统确实是这样配置的,以确定没有打开未验证的端口或没有启用不需要的服务。
在每个服务器节点上,执行以下操作:
启动
firewalld服务,启用它在引导时运行并确保它正在运行:systemctl enable firewalld systemctl start firewalld systemctl status firewalld
# systemctl enable firewalld # systemctl start firewalld # systemctl status firewalldCopy to Clipboard Copied! Toggle word wrap Toggle overflow 获取所有开放端口的清单。
firewall-cmd --list-all
# firewall-cmd --list-allCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在新安装中,
sources:部分应为空,表示没有打开任何端口。services部分应指示ssh表示 SSH 服务(以及端口22)和dhcpv6-client已启用。sources: services: ssh dhcpv6-client
sources: services: ssh dhcpv6-clientCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确保 SELinux 正在运行并设置为
Enforcing。getenforce
# getenforce EnforcingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 SELinux 为
Permissive,则将其设置为Enforcing模式。setenforce 1
# setenforce 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果 SELinux 没有运行,请启用它。详情请查看 Red Hat Enterprise Linux 7 SELinux 用户和管理指南。
每个 Ceph 守护进程使用一个或多个端口与 Red Hat Ceph Storage 集群中的其他守护进程通信。在某些情况下,您可以更改默认端口设置。管理员通常仅更改使用 Ceph 对象网关或 ceph-radosgw 守护进程的默认端口。请参阅对象网关配置和管理指南中的更改 CivetWeb 端口。
| 端口 | Daemon | 配置选项 |
|---|---|---|
|
|
|
|
|
|
| N/A |
|
|
|
|
|
|
|
|
|
|
| N/A |
Ceph Storage 集群守护进程包括 ceph-mon、ceph-mgr 和 ceph-osd。这些守护进程及其主机组成了 Ceph 集群安全区,该区域应使用自己的子网来强化目的。
Ceph 客户端包括 ceph-radosgw、ceph-mds、ceph-fuse、libcephfs、rbd、librbd 和 librados。这些守护进程及其主机组成存储访问安全区,该区应使用自己的子网来强化目的。
在 Ceph Storage Cluster zone 主机上,请考虑仅启用运行 Ceph 客户端的主机来连接 Ceph Storage Cluster 守护进程。例如:
firewall-cmd --zone=<zone-name> --add-rich-rule="rule family="ipv4" \ source address="<ip-address>/<netmask>" port protocol="tcp" \ port="<port-number>" accept"
# firewall-cmd --zone=<zone-name> --add-rich-rule="rule family="ipv4" \
source address="<ip-address>/<netmask>" port protocol="tcp" \
port="<port-number>" accept"
将 <zone-name> 替换为区名称。将 <ipaddress> 替换为 IP 地址,<netmask> 替换为 CIDR 标记中的子网掩码。将 <port-number> 替换为端口号或范围。使用 --permanent 标志重复该过程,以便更改在重新引导后仍然有效。例如:
firewall-cmd --zone=<zone-name> --add-rich-rule="rule family="ipv4" \ source address="<ip-address>/<netmask>" port protocol="tcp" \ port="<port-number>" accept" --permanent
# firewall-cmd --zone=<zone-name> --add-rich-rule="rule family="ipv4" \
source address="<ip-address>/<netmask>" port protocol="tcp" \
port="<port-number>" accept" --permanent
具体步骤请查看 Red Hat Ceph Storage 安装指南的 Firewalls 部分。