我有一台服务器(Debian 9.6),它安装了 NFSv3 共享用于备份目的。
它需要任何特定的防火墙设置吗?
我发现rcpbind
正在监听端口 111 和 903,并且作为 的依赖项安装nfs-common
。但是,如果我使用ufw
and/或 kill阻止所有端口rpcbind
,我仍然可以挂载 NFS 共享。
我不明白为什么nfs-common
取决于rpcbind
它是否在没有它的情况下工作。我遗漏了什么吗?也许rpcbind
文件锁定或 nfs 统计信息需要它。
答案1
NFS 服务器通常运行 portmapper 或 rpcbind 守护程序来向客户端通告其服务端点。客户端使用 rpcbind 守护程序来确定:
- 每个基于 RPC 的服务正在使用哪个网络端口
- 每个基于 RPC 的服务支持哪些传输协议
rpcbind 守护进程使用众所周知的端口号 (111) 来帮助客户端找到服务端点。尽管 NFS 通常使用标准端口号 (2049),但辅助服务(例如 NLM 服务)可以随机选择任何未使用的端口号。
摘自 nfs-common 的“通过防火墙安装”一节男人页。
如果您阻止访问端口并且您能够挂载它的原因可能是因为从客户端到服务器的连接已经建立,因此在挂载操作期间不会生成任何传入连接,同样当您终止 rpcbind 进程时挂载操作可能会重新启动它。