其他分享
首页 > 其他分享> > NFS挂载问题:mount.nfs: access denied by server while mounting 192.168.1.100:/home/rootfs

NFS挂载问题:mount.nfs: access denied by server while mounting 192.168.1.100:/home/rootfs

作者:互联网

1.问题描述:

虚拟机上配置并开启好NFS服务器后,为了检测能否成功挂载,所以先在虚拟机上安装一个NFS客户端(sudo apt-get install nfs-common)进行自测。但在执行挂载命令sudo mount -t nfs <Linux主机ip地址>:/nfs_root /mnt -o nolock时提示如下错误:mount.nfs: access denied by server while mounting 192.168.3.12:/home/lzgonline/rootfs

image-20210626222759621

2. 问题定位:

[leon@ubuntu]# cat /var/log/messages | grep mount

Jun 20 00:49:04 lzgonline mountd[1644]: refused mount request from 192.168.43.169 for /root_fs (/root_fs): illegal port 1689

Jun 29 00:51:02 lzgonline mountd[1644]: refused mount request from 192.168.43.169 for /root_fs (/root_fs): illegal port 1710

Jun 29 01:02:17 lzgonline mountd[1644]: refused mount request from 192.168.43.169for /root_fs (/root_fs): illegal port 1916

从出错日志可以看出,被拒绝的原因是因为使用了非法端口。

[leon@ubuntu]# man exports
secure,This  option requires that requests originate on an Internet port less than IPPORT_RESERVED (1024). This option is on by default. To turn it off, specify insecure.

翻译过来就是:secure 选项要求mount客户端请求源端口小于1024(然而在使用 NAT 网络地址转换时端口一般总是大于1024的),默认情况下是开启这个选项的,如果要禁止这个选项,则使用 insecure 标识。

3. 解决办法:

即添加如下语句:

/root_fs  *(insecure,rw,async,no_root_squash)
sudo /etc/init.d/nfs-kernel-server start

4.NFS知识拓展

4.1 NFS服务器的配置

(1)需启动的服务和需安装的软件

  1. NFS服务器必须启动两个daemons服务:rpc.nfsd和rpc.mountd
    rpc.nfsd:用来管理客户端PC是否可以登录。类似于windows中的共享权限。
    rpc.mountd:用来管理客户端pc能够使用的文件安全权限。 如windows中的共享安全权限。

RPC:因为NFS支持的功能很多,所以NFS的功能对应的端口才无法固定,而是采用小于1024的随机端口。但客户端需要得知服务器的端口才能联机,此时就需要启用RPC服务。RPC的功能就是指定每个NFS功能的端口号。并传信息给客户端,让客户端可以连到正确的端口上。

服务器在启动NFS时会随机取用数个端口,并主动向RPC注册,因此RPC知道每个NFS功能对应的端口。RPC用111端口监听客户端的请求,并应答正确的端口。启动NFS前,RPC就要先启动了,否则NFS会无法向RPC注册。

  1. NFS 服务器需要安装nfs主程序,nfs-utils和rpc主程序 portmap

(2)exports服务器的方法:

  1. NFS文件存取权限
    因为NFS没有验证机制,当客户端用户访问NFS服务器的共享文件夹时会遇到的权限情况:
  1. 编辑/etc/exports文件(此文件不一定存在,如不存在就手工建立)

/etc /exports的格式:共享目录 允许访问的电脑 (选项)

例:

/mnt/export www.elitek.com (rw) //  /mnt/export这具目录只允许www.elitek.com这台电脑读写,且允许所有其他用户读写权限。(rw)前面有空格。
/mnt/export *.elitek.com(rw)   //允许所有elitek.com这个域里的电脑读写这个共享文件夹。
  1. exportfs命令。 可以更改设置 (命令目录/usr/sbin/exportfs)

格式:exportfs [-avu][-o option] [director]

​ -a:把 exprotfs里的所有路径都共享出去

​ -u:把export出去的路径取消

​ -v:在export时,共享显示到屏幕

​ -o option :即一些选项

​ -r :重新挂载exports里的设置

例:

exportfs -a ro /tmp/user  //即把/tmp/user目录全部exports,但用户只能读取资料。
  1. */var/lib/nfs/tab //存放日志文件.etab记录NFS共享出来的目录完整权限设置。 .xtab记录曾经连接引NFS的客户机数据

  2. rpcinfo [-p] [ip |电脑名] //查看RPC服务的注册状态

  3. netstat -ultn 查看开放了哪些端口

4.2 客户端的端设置

作为NFS客户端需要先运行 nfslock和 portmap服务。

/etc/init.d/nsflock start
/etc/init.d/portmap start

并且有几种挂载方法

(1)命令方式

mount 命令挂载:

showmount -e  [nfs服务器电脑名或ip地址 ]  //查看nfs服务器的可用共享目录
mount nfs主机名:nfs共享目录 挂载到本机的目录  //把nfs服务器共享的目录挂载到本机。主机名外还可用IP地址

例:

mount 192.168.9.1:/tmp/export /tmp/export  //即把192.168.9.1nfs服务器共享的  /tmp/export目录,挂载到本机的 /tmp/export目录上。

mount -t nfs -o time=20 www.linux.com/home/khp  /tmp/export //把远程nfs服务器的/home/khp 挂载到本机的/tmp/export目录下。最长响应时间为20秒。

(2)编辑 /etc/fstab文件挂载

/etc/fstab文件详解在文件系统管理中有说明

www.elitek.com:/home/project   /tmp/export  ro  //把 www.elitek.com这对口NFS服务器上的/home/project目录挂载到本机的/tmp/export目录上,且为只读。格式为nfs

(3)autofs来挂载nfs文件系统

只在文件系统被访问时才被挂载。

即在系统文件 /etc/auto.master中先定义一个总的总挂载点。 然后依这个文件中定义的总挂载点文件,再设置详细挂载点。

例:

vi  /etc/auto.master

编辑这个文件:

/misc /etc/auto.khp -timeout 60  //即/etc/auto.khp中的文件将挂载到  /misc目录下

再编辑: vi /etc/auto.khp文件,定义挂载点。

myproject  -rw,soft,intr  www.elitek.com:/home/project  
//即把NFS服务器 www.elitek.com:/home/project共享目录,挂载到本机的  /misc/myproject目录下。 

注意: /misc/myproject目录是动态的,不是实际存在的,只是在访问时这个目录才会产生。退出就消息。但 /misc目录需存在。

当防火墙开着时,有时就无法访问,可用 /etc/rc.d/init.d/iptables stop 停用防火墙,或用 iptable命令开放NFS的端口。

oject共享目录,挂载到本机的 /misc/myproject目录下。


>  注意:  /misc/myproject目录是动态的,不是实际存在的,只是在访问时这个目录才会产生。退出就消息。但 /misc目录需存在。
>
> 当防火墙开着时,有时就无法访问,可用 /etc/rc.d/init.d/iptables stop 停用防火墙,或用 iptable命令开放NFS的端口。

参考文献:[NFS挂载问题 mount.nfs: access denied by server while mounting](https://www.cnblogs.com/shangbolei/p/4372057.html)

标签:mounting,用户,access,nfs,NFS,服务器,挂载,home,客户端
来源: https://blog.csdn.net/liangzc1124/article/details/118256173