我读到 NFS v4 仅需要端口 (2049)。这是邮政我依赖它。
但是,如果我在启动 nfs 之前执行 rpcinfo -p,我会看到:
rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 52646 status
100024 1 tcp 41005 status
我启动 nfs 服务器后,添加了以下内容:
100005 1 udp 41473 mountd
100005 1 tcp 34257 mountd
100005 2 udp 44704 mountd
100005 2 tcp 33601 mountd
100005 3 udp 40259 mountd
100005 3 tcp 35317 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049
100021 1 udp 45607 nlockmgr
100021 3 udp 45607 nlockmgr
100021 4 udp 45607 nlockmgr
100021 1 tcp 42915 nlockmgr
100021 3 tcp 42915 nlockmgr
100021 4 tcp 42915 nlockmgr
看起来其中一些端口是动态分配的。我想知道:
1. How many of them are really needed to be forwarded.
2. How to statically set them so that I can forward traffic from these ports to the NFS server from the firewall.
在防火墙机器上设置 NFS 服务器很容易。但让它在内部服务器上工作却非常困难。
答案1
端口 111 仅适用于 NFSv3,如果您的客户端使用 NFSv4 及更高版本,您可以完全禁用 v3(顺便说一下,禁用 v3 有助于提高安全性)。
关于 NFSv3/4 和 SMB3 防火墙配置的一些很好的总结可以在这里找到:
https://www.ibm.com/docs/en/spectrum-scale/5.1.0?topic=firewall-recommendations-protocol-access