关于CentOS7上的配置NFS服务器,请参看:
http://blog.csdn.net/w171066/article/details/51252116
在CentOS7服务器上配置NFS服务并共享出目录后,发现客户端不能Mount共享出的目录,错误提示:
[NFS mount Error] System Error: No route to host.
关闭服务器端的防火墙后,问题解决,说明是防火墙端口的问题。在网上搜索了一下,找到了很有帮助的文章:
http://linux.vbird.org/linux_server/0330nfs.php#nfsserver_security
解决方法如下:
首先打开111和2049端口,这是portmap和nfsd进程对应的端口。但是其他端口是系统开机时随机分配的,很难确定,所有需要修改配置文件/etc/sysconfig/nfs,把这些端口固定下来,然后在防火墙上关闭。
1.首先打开111和2049端口
# firewall-cmd --permanent --add-port=111/tcp
# firewall-cmd --permanent --add-port=111/udp
# firewall-cmd --permanent --add-port=2049/tcp
# firewall-cmd --permanent --add-port=2049/udp
2.编辑/etc/sysconfig/nfs文件
添加
RQUOTAD_PORT=1001
去掉下面语句前面的“#”号
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
3.打开1001,32803,32769,892端口
# firewall-cmd --permanent --add-port 1001/tcp
# firewall-cmd --permanent --add-port 1001/udp
# firewall-cmd --permanent --add-port 32803/tcp
# firewall-cmd --permanent --add-port 32769/udp(
# firewall-cmd --permanent --add-port 892/tcp
# firewall-cmd --permanent --add-port 892/udp
4. 重启服务器(我发现光重启NFS服务不能解决问题)后执行"rpcinfo -p"命令,发现端口都改了过来
# rpcinfo -p
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
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
100024 1 udp 59115 status
100024 1 tcp 46630 status
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 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
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
100024 1 udp 59115 status
100024 1 tcp 46630 status
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 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
从客户端执行Mount成功。只是不知道开放这么多端口是否存在安全隐患。