關於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
從客戶端執行Mount成功。只是不知道開放這么多端口是否存在安全隱患。
轉自:https://blog.csdn.net/w171066/java/article/details/52934862