NFS是非常通用和簡單的Linux下共享協議,但是最近安裝了一次,在另一臺CentOS用mount掛載時卻出現“access denied by server while mounting”這個錯誤;
因爲之前配置過很多次NFS了,都沒出現過一點問題,於是先試試在本機mount掛載,測試可以掛載,但是在另一臺機器上卻報錯,首先想到的是iptables防火牆問題,於是關閉防火牆,也一樣報錯。
去網上搜索了一下,遇到這個錯誤的人也很多,但是原因都不大相同,在這裏我就總結一下出現此錯誤的幾種原因:
1、使用了非法端口,也就是使用了大於1024的端口。
這個錯誤,可以通過查看日誌確認:
[root@local~ /]# cat /var/log/messages | grep mount
Jan 2 12:49:04 localhost mountd[1644]: refused mount request from 192.168.0.100 for /home/nfsshare/ (/home/nfsshare): illegal port 1689
解決辦法:
修改配置文件/etc/exports,加入 insecure 選項,重啓nfs服務,再嘗試掛載。
/home/nfsshare/ *(insecure,rw,async,no_root_squash)
2、NFS版本問題
編輯/etc/sysconfig/nfs文件,找到下面:
#Turn off v2 and v3 protocol support
#RPCNFSDARGS="-N 2 -N 3"
#Turn off v4 protocol support
#RPCNFSDARGS="-N 4" /把這句前面的#號去掉/
最後保存,重啓nfs服務,再嘗試掛載;如果掛載不上,可嘗試在後面加-o nolock參數。
3、查看客戶端掛載的目錄是否具備讀寫權限,添加相應權限即可。
4、nfs服務器上的/etc/hosts中設置了客戶端機器IP對應域名,去掉即可。
通過以上這幾種方法,access denied by server while mounting這個錯誤應該可以得到解決了。