我有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数据包。
你必须安装rpc.statd portmap。 apt-get安装portmap。 并且您必须将目标nfsserver添加到/ etc / hosts文件。
我将以下规则添加到Ubuntu机器上的iptables,并开始工作:
iptables -A INPUT -i lo -j ACCEPT