FreeBSD系统安装NFS(Network File System)服务并启用基于 IP 认证的机制

Network File System (NFS)

网络文件系统:可以把网络上的某个资源做为本地硬盘来使用的一种系统。

该服务主要依赖于:nfsd、mountd以及rpcbind

  • nfsd: 接收 NFS 客户端发起的请求
  • mountd: 处理由nfsd接收的请潮州
  • rpcbind: 允许客户端发现当前的 NFS 服务端口

服务端配置

编辑/etc/rc.conf并加入以下配置:

rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"
mountd_enable="YES"

接着编辑/etc/exports,配置文件服务内容:

/yzpool/hosts/20pro -maproot=root 192.168.1.20

上述配置实现了: 可将本地/yzpool/hosts/20pro映射给192.168.1.20客户端。且当192.168.1.20客户端中的root权限等同于本机的root权限。

然后我们重启一下服务器,以及上面的服务全部生效。

如果编辑过/etc/exports文件,则需要执行:/etc/rc.d/mountd reload

客户端配置

客户端操作系统以debian11为例,该客户机的 IP 地址为在服务端设置的192.168.1.20

首先我们安装nfs客户端应用:

# sudo apt install nfs-common

然后创建一个挂载点,比如我创建一个位于根路径下的yz做为持载点:

# sudo mkdir /yz

最后我们完成挂载:

# sudo mount -t nfs 192.168.1.2:/yzpool/hosts/20pro /yz

如果我们希望在系统启动的时候同步进行挂载,则需要编辑/etc/fstab文件来完成。

192.168.1.2:/yzpool/hosts/20pro /yz nfs defaults 0 0

然后重新启动服务器进行测试.

locked 锁定

有些应用程序(比如mysql)需要一个锁定的操作,rpc.lockd能够提供这个功能。值得注意的是:客户端和服务端都需要配置这个功能。

服务端(FreeBSD)

在文件/etc/rc.conf中增加

rpc_lockd_enable="YES"
rpc_statd_enable="YES"

然后使用以下命令启动服务:

# /etc/rc.d/lockd start
# /etc/rc.d/statd start

此时在客户端应用lock操作时,便不会发生无法锁定文件的错误了。

其它

dir client1 (options) [client2(options)...]详解:

  • ro / rw : a) ro: 只读 b) rw: 写入加读取
  • sync / async : a) sync: 服务端应答完上次请求后,才会应答下次请求; b) async: 异应应答。
  • wdelay / no_wdelay a) wdelay服务器预测是连续请求时,将延迟提交上次的写请求(提升写入效率,数据断电易丢失)
  • no_all_squash / all_squash a) no_all_squash: 不改变客户端的

参考文档

https://vitux.com/debian-nfs-...

https://www.thegeekdiary.com/...

https://docs.freebsd.org/doc/...

你可能感兴趣的:(freebsdnfsip)