这个问题之前有人问过,但答案相互矛盾,而且可能过时。它似乎取决于操作系统、操作系统版本和 NFS 版本。
在CentOS 6.5服务器上,默认规则类似于:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [47:3512]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
该服务器似乎支持 NFS 版本 3 和版本 4。我从其他答案中得知,使用 V4 配置防火墙更简单,因为它不使用随机挑选的端口。所有客户端都是 Mint 16,我认为它也可以使用 NFS v4。
一些消息来源说,如果我“仅使用 TCP”,我只需要 NFS v4 的端口 111 和 2049,但我不确定。(我怎么知道?)假设所有 NFSv4 都是 TCP,我只需要添加:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
- 它是否正确?
- 还有其他事情需要做吗,例如禁用 NFS v3 模式?