NFS服务器配置全攻略:从入门到精通

目录

[1. NFS服务器的功能](#1. NFS服务器的功能)

[2. NFS服务器的工作原理](#2. NFS服务器的工作原理)

[3. 配置NFS服务器(以Linux为例)](#3. 配置NFS服务器(以Linux为例))

[5. NFS服务器的优化与安全](#5. NFS服务器的优化与安全)

[6. 常见问题](#6. 常见问题)

NFS(Network File System)是一种分布式文件系统协议,允许客户端通过网络访问服务器上的文件,就像访问本地文件一样。NFS服务器是提供文件共享服务的服务器,广泛应用于Linux和Unix系统中。以下是关于NFS服务器的详细介绍和配置教程:


1. NFS服务器的功能

  • 文件共享:允许多个客户端通过网络访问服务器上的文件。
  • 跨平台支持:支持Linux、Unix、Windows(通过第三方软件)等操作系统。
  • 高性能:通过缓存和优化机制,提供高效的文件访问性能。
  • 权限管理:通过用户和组权限控制文件访问。

2. NFS服务器的工作原理

  1. 服务器端:将指定的目录共享给客户端。
  2. 客户端:将服务器共享的目录挂载到本地文件系统中。
  3. 通信协议:使用RPC(Remote Procedure Call)和NFS协议进行通信。
  4. 权限验证:通过用户ID(UID)和组ID(GID)验证客户端访问权限。

3. 配置NFS服务器(以Linux为例)

1、检查软件是否安装

复制代码
[root@localhost ~]# rpm  -q  rpcbind

[root@localhost ~]# rpm  -q  nfs-utils

创建挂载点,挂载光驱,并切换到安装目录:

复制代码
[root@localhost ~]#mkdir  /mnt/cdrom

[root@localhost ~]#mount  /dev/cdrom  /mnt/cdrom

[root@localhost ~]#cd  /mnt/cdrom/Packages   

[root@localhost Packages]# rpm  -ivh  nfs-utils-1.2.3-36.el6.x86_64.rpm    //这一步要注意所安装软件包的名称,要从Package里面找到准确的名称

2、启动

复制代码
[root@localhost ~]# service  nfs  start

3、配置文件

创建/nfs目录:

复制代码
[root@localhost etc]#mkdir  /home/nfs

使用vi编辑器打开主配置文件/etc/exports:

复制代码
[root@localhost etc]# vi exports

按以下格式修改/etc/exports文件,并保存退出:

复制代码
/home/nfs 192.168.0.0/24(ro)

当修改了/etc/exports文件的内容后,不需要重新启动NFS进程,直接使用exportfs命令即可使新修改的配置文件生效,并可通过选项查看NFS服务器实现目录共享的情况。

复制代码
[root@localhost ~]# exportfs  --rv

4、测试:

在NFS服务器的输出目录中,创建一个测试文件:

复制代码
[root@localhost ~]# touch /home/nfs/123

NFS客户机中创建挂载点:

复制代码
[root@localhost ~]# mkdir  /mnt/nfs

客户端挂载NFS服务器的输出目录:

复制代码
[root@localhost ~]# mount  192.168.0.100:/home/nfs  /mnt/nfs

转换到挂载目录,就可以执行相应的文件操作:

复制代码
[root@localhost ~]# cd  /mnt/nfs

查看文件:

复制代码
[root@localhost ~]# ls

取消挂载到客户端/mnt/nfs目录下的NFS共享目录,命令行为:

复制代码
[root@localhost ~]# umount  /mnt/nfs

5、应用案例

新星公司NFS服务器的IP地址192.168.200.100。所需要共享目录有如下要求:

共享/nfs目录给192.168.200.0/24网络的所有计算机,权限可读写,数据同步;

共享/home/bob目录给客户机192.168.200.2上的bob用户,权限为可读写,允许bob用户从大于1024的端口连接NFS服务器;

共享/sdcet目录给域sdcet.cn中的所有用户,权限只读,客户机无论以何种身份登录NFS服务器映射到服务器为匿名用户(通过设置选项来实现)。

服务器端配置:

(1)配置NFS服务器IP地址

配置NFS服务器IP地址为192.168.200.100。

(2)添加bob用户

复制代码
[root@localhost ~]#useradd  bob

(3)修改/etc/hosts文件

复制代码
[root@localhost ~]#vim  /etc/hosts

在文件中增加一条记录:

复制代码
192.168.200.100   bob

(4)给目录授权:

复制代码
[root@localhost ~]#mkdir  /nfs

[root@localhost ~]#chmod  777  /nfs

[root@localhost ~]#chmod  777  /home/bob

[root@localhost ~]#mkdir  /sdcet

[root@localhost ~]#chmod  755  /sdcet

(5)修改主配置文件/etc/exports

使用vi编辑器打开/etc/exports文件:

复制代码
[root@localhost ~]#vim  /etc/exports

按以下内容修改该文件,并保存退出:

复制代码
/nfs        192.168.200.0/24(rw,sync)

/home/bob  bob(rw,insecure)

/sdcet      *.sdcet.cn(ro,all_squash)

(6)重新载入输出目录

复制代码
[root@localhost ~]# exportfs  --rv

exportfs:192.168.200.0/24:/nfs

exportfs:bob:/home/bob

exportfs:*.sdcet.cn:/sdcet

(7)192.168.200.102客户端的配置:

1创建bob用户

复制代码
[root@localhost ~]#useradd  bob

2检查服务器上的共享目录

复制代码
[root@localhost ~]#showmount  --e  192.168.200.100

3挂载共享目录

复制代码
[root@localhost ~]# mount  192.168.200.100:/home/bob  /home/bob

5. NFS服务器的优化与安全

  • 限制访问范围 :在 /etc/exports 中指定允许访问的客户端IP范围。
  • 启用防火墙:限制NFS端口(默认2049)的访问。
  • 使用NFSv4:NFSv4支持更安全的身份验证和加密。
  • 监控日志 :定期检查 /var/log/messages/var/log/syslog,发现异常行为。
  • 备份数据:定期备份NFS共享目录中的重要数据。

6. 常见问题

  • 挂载失败
    • 检查NFS服务是否正常运行。
    • 检查防火墙是否阻止NFS端口。
    • 检查 /etc/exports 配置是否正确。
  • 权限问题
    • 确保客户端和服务器的用户ID(UID)和组ID(GID)一致。
    • 使用 no_root_squash 选项允许root用户访问。
  • 性能问题
    • 使用 async 选项提高性能(但可能增加数据丢失风险)。
    • 调整NFS缓存大小。
相关推荐
一只旭宝2 小时前
Linux专题九:I/O复用(水平以及边缘触发放到libevent库那一专题细讲)
linux·运维·服务器
缘如风2 小时前
Linux上sunrpc 111端口关闭
linux·服务器
I · T · LUCKYBOOM3 小时前
iptables防火墙
linux·运维·服务器·网络·安全
山上三树3 小时前
main()函数带参数的用法
linux·c语言
凌波粒3 小时前
Linux-Ubuntu系统环境搭建
linux·运维·ubuntu
鸠摩智首席音效师3 小时前
如何在 Linux 中使用 uptime 命令 ?
linux·运维·服务器
HalvmånEver3 小时前
Linux:匿名管道(进程间通信二)
linux·运维·服务器
lengjingzju4 小时前
一网打尽Linux IPC(一):进程间通信完全指南——总体介绍
linux·服务器·c语言
阿豪学编程4 小时前
【Linux】进程信号深度解析
linux·运维·服务器