Ubuntu 服务器上的 nfsclient

Ubuntu 服务器上的 nfsclient

我有一个在 Cent OS 上运行的 nfs 服务器。iptables 已设置,并且我已修复端口设置。因此,服务器运行正常。我尝试在 Fedora 机器上安装 nfs 卷,一切正常。

当我尝试在 ubuntu 机器上安装 nfs 卷时,我收到错误消息,暗示 rpc.statd 未运行,远程锁定不起作用。我已检查,它正在运行。当我在 ubuntu 机器上禁用 iptables 时,一切正常。这让我认为 ubuntu 机器上的 iptables 阻止了 centos 机器访问 ubuntu 机器上的 rpc.statd。

知道发生什么事了吗?

编辑:

我已将 nfs 服务器添加到 /etc/hosts 文件中。portmap 和 rpc.statd 已安装。我在 iptables 中为 portmap 打开了 tcp 和 udp 端口​​。我的 iptables 规则如下:

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited 

编辑:

我做了进一步的研究,发现如果我在 ubuntu 机器上的 iptables 中只打开所有 udp 端口​​(而不是禁用整个防火墙),一切都会正常工作。这很令人惊讶,因为我使用的是 proto=tcp 选项。此外,如果我在 nfs 客户端(ubuntu)或 nfs 服务器(centos)机器上执行 tcpdump,我看不到任何 udp 数据包。

答案1

您必须安装 rpc.statd portmap。apt-get install portmap。并且您必须将目标 nfsserver 添加到 /etc/hosts 文件中。

答案2

我在 Ubuntu 机器上的 iptables 中添加了以下规则并且它开始工作:

iptables -A INPUT -i lo -j ACCEPT

相关内容