欢迎,来自IP地址为:44.221.66.130 的朋友


在 Linux 世界里,有一对网络文件共享协议的卧龙凤雏,就是 samba 和 nfs。

samba 是一款开源的应用程序,工作在客户端、服务器架构下,提供跨平台的文件共享服务。即在 Linux 系统共享的文件,可以无差别的在 Windows 和 macOS 系统访问和使用。

nfs 是另一款应用非常广泛的共享协议,是(Network File Share)的缩写。与 samba 类似,nfs 也同样工作在客户端、服务器架构下,可以为多个远程用户提供文件共享服务。

本教程将演示如何在 RHEL 系 Linux 发行版(例如 CentOS、Fedora、Rocky Linux)系统安装配置 nfs 服务器。

NFS 服务

目前,nfs 服务有三个版本,最新版为 NFSv4,这个版本包含了一些新特性,例如互联网共享以及防火墙穿透等。另外,NFSv2 和 NFSv3 是较早的版本。

nfs 服务包含服务端和客户端,服务端包含以下主要文件:

  • nfs-server:提供共享服务,允许 nfs 客户端连接至共享文件
  • rpcbind:将 rpc 程序转换成通用地址
  • nfs-idmap:完成用户名、组名至对应 ID 的互转
  • portmap:将 rpc 程序号映射成 TCP 端口
  • nfslock:一旦 nfs 服务器崩溃,则由 nfslock 接管 rpc 程序

配置 nfs 服务

以下是配置 nfs 服务的几个核心文件:

  • /etc/exports:主要的配置文件,用于指定哪些文件或目录可以被远程访问
  • /etc/fstab:此文件用于设置分区挂载,在 nfs 中用于指定共享文件的挂载点
  • /etc/sysconfig/nfs:定义在运行 rpc 时使用的端口

安装 nfs 服务器

首先,使用如下命令安装所需要的软件包:

# dnf update
# dnf install rpc-bind nfs-utils -y

安装成功后,使用如下命令启动服务、设置开机自动启动并查看服务状态:

# systemctl enable nfs-server rpcbind
# systemctl start nfs-server rpcbind
# systemctl status nfs-server rpcbind

可以看到,两个服务已经正常启用。

由于系统默认启用了防火墙软件,使用如下命令开启动 nfs 服务对应端口:

# firewall-cmd --permanent --add-service={nfs,rpc-bind,mountd}
# firewall-cmd --reload

创建共享目录

nfs 的各项服务启动正常后,就可以创建共享目录了,这个目录可以被远程的 nfs 客户端所访问到。

示例我们将共享目录设置在”/data/nfs”,并且将该目录设置为全局读写权限,以方便进行演示,示例命令如下:

# mkdir -p /data/nfs
# chmod -R 777 /data/nfs

发布共享目录

最后,我们要做的就是将共享目录发布出去以便 nfs 客户端连接。为了实现目录发布,我们需要创建一个”/etc/exports”文件,用于指定网络共享目录,文件内容如下:

/data/nfs 192.168.9.253/24(rw,no_root_squash)

此发布文件中设置的 nfs 服务器地址为示例服务器的地址,可以根据实际情况进行修改。而”no_root_squash”选项则表示如果客户端使用 root 权限连接共享目录时,不会对该用户进行权限降级。这样做的好处就是使用比较方便,当然缺点就是不安全。

文件创建成功,使用如下命令发布目录并且查看共享信息,命令如下:

# exportfs -rv
# showmount -e localhost

配置 nfs 客户端

需要连接 nfs 服务器的主机,首先要安装 nfs 客户端工具,然后使用如下命令创建 nfs 共享的挂载目录并挂截共享:

# mkdir -p /data/nfsshare
# mount -t nfs 192.168.209.253:/data/nfs /data/nfsshare/

挂载成功后,就可以在系统中查看该目录了,示例如下:

为了在开机时就将此共享目录连接至客户机系统,可以修改”/etc/fstab”文件,增加如下内容即可:

192.168.209.253:/data/nfs    /data/nfsshare    nfs    defaluts 0 0

最后,可以验证共享目录。在客户机”/data/nfsshare”目录中创建一个文件 text.txt,之后,在服务端”/data/nfs”目录就可以看到该文件了,说明共享目录设置成功。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注