我需要允许客户端连接到 nfs 服务器。如果我禁用 iptables,则 NFS 可以正常工作。
我知道当 NFS 启动时,它会启动所有在不同端口上运行的 RPCNFSDCOUNT(/etc/default/nfs-kernel-server)进程。
我如何指定这些端口以便它们总是在同一个端口上启动?
大概我需要打开 111 端口用于 UDP 和 TCP 通信。NFS 端口呢?2049?UDP/TCP?其他端口呢?
如果您能提供针对 Ubuntu 的答案我将非常感激。
答案1
如果您只使用 NFS4 的 TCP,则端口 111 和 2049 即可。如果您出于兼容性原因计划使用 NFS3 及以下版本,则需要打开以下端口:
RQUOTA
LOCKD
MOUNTD
STATD
但是,您需要为这些域明确设置静态端口,否则它们将默认使用随机端口,这将导致 NFSv2/3 客户端出现问题。以下是在 Ubuntu 上指定端口的链接:
https://wiki.ubuntu.com/How%20to%20get%20NFS%20working%20with%20Ubuntu-CE-Firewall
(由于某种原因,在 Ubuntu 上执行此操作比在 Red Hat 上更难,因为我找到的大多数链接都是针对 Red Hat 的。如果我找到更好的,我会发布更新)
编辑:这是一个更好的 - 这是来自 Debian,Ubuntu 是基于它的:
http://wiki.debian.org/SecuringNFS
另外,在该文章中,请访问以下链接: