![Ubuntu 客户端想要在旧 CentOS 服务器上挂载 NFS 共享:挂载时服务器拒绝访问](https://linux22.com/image/100366/Ubuntu%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%83%B3%E8%A6%81%E5%9C%A8%E6%97%A7%20CentOS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E6%8C%82%E8%BD%BD%20NFS%20%E5%85%B1%E4%BA%AB%EF%BC%9A%E6%8C%82%E8%BD%BD%E6%97%B6%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%8B%92%E7%BB%9D%E8%AE%BF%E9%97%AE.png)
这些是机器的操作系统版本:
server# lsb_release -idrc
Distributor ID: CentOS
Description: CentOS release 4.6 (Final)
Release: 4.6
Codename: Final
和
client$ lsb_release -idrc
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
在服务器上,导出的共享为:
server# nfs-export --list
Directory Permissions Hosts
/share rw *
因此,在客户端上,我尝试按如下方式挂载该共享(10.1.1.1 是服务器的 IP 地址):
client$ sudo mount -t nfs 10.1.1.1:/share /share
mount.nfs: access denied by server while mounting 10.1.1.1:/share
client$ sudo mount -t nfs -o nfsvers=3 10.1.1.1:/share /share
mount.nfs: access denied by server while mounting 10.1.1.1:/share
$ sudo mount -t nfs -o nfsvers=2 10.1.1.1:/share /share
mount.nfs: access denied by server while mounting 10.1.1.1:/share
同一局域网内的其他CentOS机器可以正常挂载共享,所以我认为这可能是权限问题。为了检查,我这样做了:
server# tail /var/log/messages
Dec 7 14:51:40 server mountd[3556]: authenticated mount request from client.mylan.com:712 for /share (/share)
Dec 7 14:51:42 server mountd[3556]: authenticated mount request from client.mylan.com:712 for /share (/share)
Dec 7 14:51:45 server mountd[3556]: authenticated mount request from client.mylan.com:712 for /share (/share)
...这看起来就像其他 CentOS 机器成功安装操作的行。
我查看了其他一些具有相同错误消息的问题,但找不到任何可以解决该问题的内容,例如:
- 服务器的CentOS版本没有该
showmount
命令 - 服务器的CentOS版本没有该
exportfs
命令`我相信由于其他客户可以正常安装,所以这已经得到解决
任何帮助,将不胜感激。
答案1
也许这个错误袭击了你: https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/1582854
看来他们很快就会通过更新来解决这个问题。到目前为止,第 3 条评论说这应该有效:
mount -t nfs -v o nfsvers=2 ...
为了调试您的问题,您还可以检查
rpcinfo -p 10.1.1.1
显示客户端可以访问的所有所需服务及其端口。请注意,端口映射服务可能通过/etc/hosts.allow
和受到限制/etc/hosts.deny