我是设置了NAT后哪台服务器出现

 

mount: 10.*:/home failed, reason given by server: Permission denied

 

 

第一种解决办法:

nfs server接到客户端的mount时,会先客户的IP做反解成域名,用域名(注意是用域名而不是IP)去和/etc/exports做比较,如果匹配不成功会失败。

而我在client并没有添加server的域名,所以匹配不到对应的域名,自然就出现mount: 192.168.168.60:/RESTORE failed, reason given by server: Permission denIed的错误了。

后来,在/etc/hosts文件里添加对应的域名:192.168.168.60 tzeai2.zpss.com tzeai2,问题解决

 

nfs配置

 

1. 查看系统有没有nfs功能 

cat /proc/filesystes 

2. ntsysv 命令选中nfs 

service nfs restart,看能否啟动,如不能正常,可以查看相应的出错信息 

tali /var/log/messages 

3. 配置/etc/exports 

eg: /home/mis    *(rw) 

此文件是配置相关的文件和一些权限,上面的设置表示,所有的用户对/home/mis都有读写的权限 

4. 执行exportfs -a 表示将所有的更新. 

5. service nfs restart 

6. 执行mount命令 

eg: mount 10.0.1.153:/home/mis  /mnt/mis 

7. 常用的命令 

showmount 

repcinfo 

8. 如果在开机时就加载,可在/etc/fstab中加入 

ip:/home.mis   /mnt/mis nfs intr 

 

 

第二种:

 

自己郁闷了好久,为什么做autofs总是不成功,iptables ,selinux ,原来跟他俩都没关系,手动从客户端mount server上的nfs共享 提示mount: failed, reason given by server: Permission denied。网上找答案:去掉/etc/hosts里添加的 ip 主机名的映射,因为增加了IP/主机名对后,NFS会先把IP地址转成对应的主机名,然后用这个主机名去匹配/etc/exports文件,而exports文件是设置的:IP address(rw,sync),当然就没有权限mount。

还有就是如果设置了 /etc/resolve.conf 文件 ,而且 exports文件中也是使用的IP也会出这个问题。

如果 在客户端上手动mount时报错 mount.nfs :permission denied ,那不是server的问题,而是使用的运行mount账户 没有访问客户端挂载点的权限。

在mount nfs目录时出现错误:

mount -t nfs 192.168.1.172:/nfs/mp3/mp3files /web/mp3/mp3files
mount: 192.168.1.172:/nfs/mp3/mp3files failed, reason given by server: Permission denIEd

网络来源:

我原来的/etc/exportfs是这样的:
[root@ha1 nfs]# cat /etc/exports
/nfs/mp3/mp3files 192.168.1.*(rw,async)

一直都用的好好的,其它的机器通过内网IP来mount这台上面的数据。

所以我想应该是我做了什么造成的,因为之前我看到/var/log/messages

mountd[3082]: Fake hostname rs0.xxxxxxcom for 192.168.1.69 - forward lookup doesn’t exist

以为nfs警告说我没有做域名反解,所以我就在我的域名服务器做把192.168.1.69做了一下反解。并增加了rs0.xxxxx.com这个域名到192.168.1.69。做完之后就没有再出现上面的错误了,但是上面说的出现不能mount的情况。

在网上查了一些资料,有人说把/etc/exports换成域名试试,所以我就改成了:
[root@ha1 nfs]# cat /etc/exports
/nfs/mp3/mp3files *.xxxxxx.com(rw,async)

再mount,发现正常,没有问题了。

后来又查了一些相关资料,才知道:

nfs server接到客户端的mount时,会先客户的IP做反解成域名,用域名(注意是用域名而不是IP)去和/etc/exports做比较,如果匹配不成功会失败。

而我做了域名反解后,并没有更新/etc/exports内的IP为域名。所以匹配不到对应的域名,自然就出现mount: 192.168.1.172:/nfs/mp3/mp3files failed, reason given by server: Permission denIEd的错误了。

之前用IP没有问题是因为在域名不能反解的时候还是用IP去匹配的。

除錯參考

當/etc/exports設定的權限,不符合clIEnt端的來源時,則會出現錯誤訊息如下

mount: hostname:/dir failed, reason given by server: Permission denIEd

然而必須注意的是,若在nfs server的/etc/hosts內有設定IP與hostname的對照

則nfs會先把來源IP轉換成hostname,再與/etc/exports內的設定作對照

若此時/etc/exports的設定使用IP而非hostname,則會產生無法匹配的情況

因此而出現,雖然來源IP在/etc/exports已正確設定,卻仍然發生Permission denIEd的怪異現象

解決方案是在/etc/exports內採用hostname,避免使用IP