简单配置了NFS,nfs的设置到不复杂,本机测试通过。但是客户端在卸载时或挂载文件/磁分区时,总出现错误,类似以下:
[root@node1 ~]# showmount -e 192.168.0.26
mount clntudp_create: RPC: Port mapper failure - RPC: Unable to receive
[root@node1 ~]# mount -t nfs 192.168.0.26:/data /mnt
mount: mount to NFS server '192.168.0.26' failed: timed out (retrying).
mount: mount to NFS server '192.168.0.26' failed: timed out (retrying).
mount: mount to NFS server '192.168.0.26' failed: timed out (giving up)
在nfs服务器端中iptabes里面开放了如下的端口111:tcp 111:udp 2049:tcp 2049:udp,测试还是报错。
后来,经测试关闭防火墙就没问题。开启防火墙就出现上述问题。后来,经查询是NFS端口没有完全通过防火墙导致。
NFS主要用到的端口有:111- portmapper, 875 - rquotad,2049-nfs,udp:32769-nlockmgr(tcp 32803-nlockmgr),892-mountd..
分别把以上端口(程序所用端口)加入iptables允许其通过即可。
编辑配置文件为 /etc/sysconfig/nfs设置端口号:(添加红色字体即可)
# vi /etc/sysconfig/nfs
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
重启相关服务
# /etc/init.d/portmap restart
# /etc/init.d/nfs restart
查看服务运行的相关端口情况
[root@bj data]# rpcinfo -p
程序 版本 协议 端口
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 709 status
100024 1 tcp 712 status
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100021 1 udp 32769 nlockmgr
100021 3 udp 32769 nlockmgr
100021 4 udp 32769 nlockmgr
100021 1 tcp 32803 nlockmgr
100021 3 tcp 32803 nlockmgr
100021 4 tcp 32803 nlockmgr
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100005 1 udp 892 mountd
100005 1 tcp 892 mountd
100005 2 udp 892 mountd
100005 2 tcp 892 mountd
100005 3 udp 892 mountd
100005 3 tcp 892 mountd
调整你的iptables规制如下:
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 875 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 892 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 32803 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 32769 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT