本來一直覺得NFS服務只能用於局域網,後來看了一些資料,好像是能夠跨互聯網訪問NFS服務,正好手頭剛買了一臺雲服務器,因此就實踐驗證一下。
雲服務器使用的是CentOS7.5系統,但默認沒有安裝NFS服務,因此首先安裝並啓動服務:vim
[root@YTqgp ~]# yum install nfs-utils [root@YTqgp ~]# systemctl start nfs
而後建立共享目錄,並生成一個測試文件:服務器
[root@YTqgp ~]# mkdir /var/share [root@YTqgp ~]# echo "hello" > /var/share/test.txt
修改配置文件,設置共享,並重啓服務:ide
[root@YTqgp ~]# vim /etc/exports /var/share *(ro,sync) [root@YTqgp ~]# systemctl retart nfs
而後在我本地的虛擬機上掛載共享,雲服務器的IP爲106.13.121.19。雖然沒有掛載成功,但錯誤提示是訪問被拒絕,因此看來NFS服務的確是能夠跨互聯網訪問的。測試
[root@Server ~]# mount -t nfs 106.13.121.19:/var/share /mnt/nfs mount.nfs: access denied by server while mounting 106.13.121.19:/var/share
百度了一下錯誤提示,在雲服務器上查看日誌信息,發現錯誤緣由是客戶端使用了無效的端口。日誌
[root@YTqgp ~]# cat /var/log/messages | grep mount Apr 12 13:51:23 YTqgp rpc.mountd[29798]: refused mount request from 112.224.65.136 for /var/share (/var/share): illegal port 15083
在服務器的配置文件中添加insecure選項,該選項的做用是容許客戶端從大於1024的端口發送鏈接請求,修改完成後重啓服務。code
[root@YTqgp ~]# vim /etc/exports /var/share *(insecure,ro,sync) [root@YTqgp ~]# systemctl retart nfs
再次在本地虛擬機上測試,這下成功掛載了:server
[root@Server ~]# mount -t nfs 106.13.121.19:/var/share /mnt/nfs [root@Server ~]# df 文件系統 1K-塊 已用 可用 已用% 掛載點 …… 106.13.121.19:/var/share 41152768 1803136 37603328 5% /mnt/nfs