因为nfs中很多端口都是随机的,所以我们先要将这些随机端口设置成固定端口,打开nfs的配置文件/etc/sysconfig/nfs可以看到很多被注视了的内容,里面有很多带有端口号,记下这些端口号(每一个都有说明是干什么用的端口),并把前面的注释去掉。

之后在iptables中依次设置这些端口(先把iptables的INPUT链默认成DROP)

-A INPUT -p tcp -m tcp --dport 111 -j ACCEPT
-A INPUT -p udp -m udp --dport 111 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 875 -j ACCEPT
-A INPUT -p udp -m udp --dport 875 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 892 -j ACCEPT
-A INPUT -p udp -m udp --dport 892 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 32803 -j ACCEPT
-A INPUT -p udp -m udp --dport 32769 -j ACCEPT
-A INPUT -p udp -m udp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 662 -j ACCEPT
-A INPUT -p udp -m udp --dport 662 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2020 -j ACCEPT
-A INPUT -p udp -m udp --dport 2020 -j ACCEPT

完成这些之后就可以试着启动portmap和nfs了

如果启动时候卡住,看系统日志,有提示连接portmap错误,那么可能是rpc的问题。上面的端口中662是rpc.statd的端口。