NFS挂载失败,权限被拒绝,没有导出条目


10

我在安装NFS共享时遇到问题,但无法解决,这使我发疯了。这种情况:

涉及三台机器:
主机A:mandrake,IP 192.168.1.4,NFS服务器
主机B:athlon64,IP 192.168.1.64,NFS客户端
主机C:lap-fzs-2,IP 192.168.1.27,NFS客户端

主机A运行着一个NFS服务器,该服务器导出一个目录,该目录由主机B挂载。此程序运行良好,并且已经存在了很长时间。没问题。现在主机C进入画面。Ubuntu 12.04 LTS,现代系统。我尝试从主机A挂载相同的共享,但是出现权限拒绝错误:

root@lap-fzs-2:~# mount -t nfs mandrake:/data /data -onfsvers=2
mount.nfs: access denied by server while mounting mandrake:/data

它在主机A和主机B之间起作用的事实应证明NFS导出本身正在起作用。这是我可以提供的信息,使我认为它应该起作用。也许有人看到了我看不到的东西,并且知道为什么这在新主机C上失败。

服务器导出:

[root@mandrake /root]# cat /etc/exports
/suse 192.168.1.0/16(ro,no_root_squash)
/data 192.168.1.0/24(rw)
#/data3 192.168.2.0/24(rw)
#/data 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)
#/data3 192.168.2.0/16(rw,all_squash,anonuid=500,anongid=500)

[root@mandrake /root]# exportfs
/suse           192.168.1.0/16
/data           192.168.1.0/24

portmapper正在运行,导出由主机B“ athlon64”已知并已安装。

[root@mandrake /root]# showmount -e
Export list for mandrake:
/data 192.168.1.0/24
/suse 192.168.1.0/16
[root@mandrake /root]# showmount -a
All mount points on mandrake:
atlhon64.acme.local:/data

当athlon64主机装载NFS共享时,服务器日志显示成功:

Feb 11 20:06:46 mandrake mountd[460]: authenticated mount request from atlhon64.acme.local:770 for /data (/data)

但是,当主机C尝试装载相同的共享时,服务器日志显示:

Feb 11 20:12:42 mandrake mountd[460]: refused mount request from lap-fzs-2 for /data (/): no export entry

主机C看到服务器,到达端口映射器和nfsd,但是在权限上失败。

root@lap-fzs-2:~# showmount -e 192.168.1.4
Export list for 192.168.1.4:
/data 192.168.1.0/24
/suse 192.168.1.0/16


root@lap-fzs-2:~# mount -t nfs -v mandrake:/data /data -onfsvers=2,proto=udp
mount.nfs: timeout set for Mon Feb 11 21:49:23 2013
mount.nfs: trying text-based options 'nfsvers=2,proto=udp,addr=192.168.1.4'
mount.nfs: prog 100003, trying vers=2, prot=17
mount.nfs: trying 192.168.1.4 prog 100003 vers 2 prot UDP port 2049
mount.nfs: prog 100005, trying vers=1, prot=17
mount.nfs: trying 192.168.1.4 prog 100005 vers 1 prot UDP port 636
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting mandrake:/data

我必须在客户端上使用NFSv2。由于服务器不支持NFSv4,因此它将失败。由于尝试通过TCP直接连接到2049,但端口未打开,因此失败。没有回退发生。使用NFSv3将导致RPC程序/版本不匹配。

我想念什么?

更新:
所有三台计算机都在同一交换机的同一LAN上。主机C上没有活动的防火墙:

root@lap-fzs-2:~# iptables -vnL
Chain INPUT (policy ACCEPT 17 packets, 1853 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 20 packets, 5611 bytes)
 pkts bytes target     prot opt in     out     source               destination

也不在主机A上:

[root@mandrake /root]# ipchains -L 
Chain input (policy ACCEPT):
Chain forward (policy ACCEPT):
Chain output (policy ACCEPT):

主机C(或不太可能是主机A)上的防火墙?(/ sbin / iptables -vnL显示什么?)
davidgo

不,没有防火墙,一个局域网段。
Florian

1
尝试exportfs -a命令在主机A,然后尝试mount在主机C.命令尝试明确的主机名或完整的IP地址/etc/exports
锯末2013年

1
那有什么帮助?服务器exportfs -a在启动时会执行一次,并且由于这不是新条目,因此已经被导出。导出文件没有更改,只是应该挂载而不能挂载的新主机。
弗洛里安(Florian)2013年

@sawdust您的编辑包含正确的提示:使用完整的IP地址/etc/exports实际上可以使其工作。我现在拥有了/ 24 net以及列出的完整IP,并且可以安装主机C。还没有尝试过主机B。知道为什么会这样吗?我注意到主机B(正在工作的主机)确实使用了版本2的MNT调用,而主机C诉诸了版本1的MNT调用。
Florian

Answers:


0

2月11日20:12:42 mandrake mountd [460]:来自lap-fzs-2的/ data(/)安装请求被拒绝:没有导出条目

由于服务器的拒绝通知声称主机C 没有“导出项”,因此您可能应该在/etc/exports文件中尝试使用明确的主机名或C的完整IP地址的明确行。

另外,尝试exportfs -a在服务器上发出命令。
即使重新启动后,我也经常在访问NFS服务器时遇到问题。明确发出exportfs -a命令是可靠的解决方案(对我而言)。


明确的重复exportfs -a对我没有任何改变。将完整的IP地址用于一台有问题的主机解决了我的问题。因此,虽然这并不能解释它,我也不理解,但这是我的问题的答案,也是我可以建议尝试解决同样问题的其他人的答案。
Florian

在/ etc / exports中为有问题的IP地址添加条目也解决了我的问题。奇怪的。
PLA

1

检查并查看NFS用户的UID和GUID在服务器和客户端上是否相同。另外,请确保在服务器上该文件夹的权限为777。这是我在服务器上的/ etc / exports,供客户端访问。

创建一个NFS共享目录:(使用IP创建每个服务器,使用空格分隔)

mkdir / var / nfs vim / etc / exports / var / nfs 10.180.82.250(rw,sync,root_squash,anonuid = 530,anongid = 530,no_subtree_check)


UID和GID不相同。它们不必一定是可行的,只要我在NFS客户端上挂载了共享就可以使用。对于安装操作,用户的UID应该无关紧要。我确实怀疑将文件夹设置为777是个好主意,尤其是如果用户可以登录服务器时。再一次,没有安装它,它就可以工作了。
Florian

1

就我而言,-o vers = 3是答案:

$ sudo mount -o vers=3 192.168.172.1:/A/DIR /mnt
  • NFS服务器:Ubuntu桌面12.04 32位vmware主机
  • NFS客户端:Ubuntu服务器12.04 64位vmware guest虚拟机(仅主机模式)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.