8.2. 保护 rpc.mountd 服务
rpc.mountd 守护进程实现 NFS 挂载协议的服务器端。NFS 版本 3(RFC 1813)使用 NFS 挂载协议。
您可以通过添加防火墙规则来保护 rpc.mountd 服务。限制对所有网络的访问,并定义特定的例外。
先决条件
-
已安装
rpc.mountd软件包。 -
firewalld软件包已安装,且服务正在运行。
流程
使用--
permanent选项添加防火墙规则,使其在重启后保持不变。示例:
从
192.168.0.0/24网络丢弃挂载连接:# firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" service name="mountd" source address="192.168.0.0/24" invert="True" drop'接受来自本地主机的
mountd连接:# firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="127.0.0.1" service name="mountd" accept'
重新载入防火墙以应用新规则:
# firewall-cmd --reload
验证
列出防火墙规则:
# firewall-cmd --list-rich-rule rule family="ipv4" service name="mountd" source address="192.168.0.0/24" invert="True" drop rule family="ipv4" source address="127.0.0.1" service name="mountd" accept
故障排除
如果应用防火墙规则后 NFS 客户端无法挂载文件系统,请验证客户端 IP 地址是否在允许的子网中:
# firewall-cmd --list-all检查富规则是否允许客户端的源地址。
如果允许的子网中的客户端仍无法挂载,请验证
rpc.mountd服务是否正在运行:# systemctl status nfs-mountd-
如果防火墙更改无效,请验证规则是否使用了--
permanent选项,并且重新加载防火墙。 要调试防火墙阻止,请为丢弃的数据包临时启用日志记录:
# firewall-cmd --set-log-denied=all # journalctl -f -u firewalld从客户端尝试 NFS 挂载,并检查日志是否丢弃的数据包。在故障排除后禁用日志记录:
# firewall-cmd --set-log-denied=off