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/...


河北工业大学梦云智软件开发团队
河北工业大学梦云智软件开发团队
2.6k 声望
203 粉丝
0 条评论
推荐阅读
统一为gitlab runner 设置 npm 仓库地址
由于众所周知的原因,npm在执行install 或 ci时请求官方仓库会相当慢,为此我们可以在gitlab的全局中设置以下环境变量来为npm指定国内的阿里云仓库。方法如下:

myskies阅读 247

FreeBSD - ext2 文件系统磁盘块和 inode 的申请
磁盘块与文件 inode entry 的申请和释放的处理机制总体上是一致的,所以就放到一起进行分享。在之前的文章中介绍了ext2文件系统磁盘的的总体布局,为了方便说明,这里就假设磁盘只有一个块组。

Douyiya阅读 793

通过12个实例掌握 Linux IP 命令
多年来,我们一直在使用 ifconfig 命令来执行网络相关的任务,例如检查网络接口或配置它们。但是 ifconfig 不再维护,在最新版本的 Linux 上已弃用。ifconfig 命令已替换为 IP 命令。

鸠摩智首席音效师阅读 685

ubunut20.04 server 设置静态IP
参考:[链接]修改文件:/etc/netplan/00-installer-config.yaml修改为: {代码...} 修改完成后,执行命令: sudo netplan apply注意gatway4,一开始按照参考链接中修改为 192.168.1.1,不能上网,修改为192.168.0....

TANK阅读 343

Freebsd配置服务开机自启动
freebsd由于没使用systemd,所以会采用配置/etc/rc.d/文件的方式配置服务启动服务模拟脚本开机自启动脚本执行的时候不能阻塞,freebsd服务启动的时候是串行执行的,一条命令卡住,所有后续服务不能执行新建脚本/r...

龚正阳阅读 145

gitlab远古版本备份&还原&升级
gitlab 8.5.8版本.参照:[链接].太多年了也没有升级,现在准备备份还原到一个新的服务器然后升级一下。gitlab服务器开始是docker-compose搭建的后面迁移到了kubernetes上(记得当时还是1.14),后面kubernetes 版...

对你无可奈何阅读 134

手把手教你实现显示IP归属地
近年来,根据《国家互联网用户账号名称信息管理规定》要求互联网用户账号服务平台标注IP地址属地信息,微信公众号、抖音、知乎各大平台纷纷都上线了IP归属地的功能。本文就带大家实现该功能,国内的用户精确到省...

风火轮kk阅读 98

2.6k 声望
203 粉丝
宣传栏