大家好,本周我们的课程是NFS服务器的架设。下面我们分几个部分来介绍NFS服务器。
一、NFS简介
NFS是分布式计算机系统的一部分,一般在用unix和类unix的系统上实现文件的传输。而且可以把NFS服务器共享的目录挂载到本地,使用cp,cd,mv,rm,df等相关命令。NFS服务器使用一个称为“远程过程调用(remoote Procedure Call, RPC)”的协议来协助NFS服务器本身的运行。关于RPC请自己到google查询
二、安装NFS
使用命令
yum  install “nfs*”
三、配置NFS服务器
NFS服务器常用一下目录结构
1、 /etc/exports
这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。这个等会我们具体配置的时候再说
2、/usr/sbin/exportfs
这是维护NFS共享资源的命令,我用的不是很多,我一般在配置文件里面定义
3、/usr/sbin/showmount
shouwmount命令主要是用在client端,可以用来查看NFS共享出来的目录资源
4、/var/lib/nfs/*tab
其中的etab记录了NFS锁分享出来的目录的完整权限设定值,另一个是xtab,记录曾经连接到刺NFS主机的相关client数据。
下面我们开始编写exports文件,我们先共享/var/ftp/pub 目录给本地网络访问
 
共享目录可以是你系统的任意目录。
 客户端描述表达方式
1、IP段   192.168.0.0/24
2、ip地址 192.168.0.254
3、域    *.example.com
常见的权限分为
1、rw:可读可写
2、ro:只读
3、no_root_squash:当登陆NFS主机使用共享目录的使用者是root时,其权限被转换成匿名使用者,通常它的UID与GID都会变成nobody身份。
4、rroot_squash:当邓略NFS主机用共享目录的是root时,那么对于这个共享的目录来说,他具有root权限
5、sync:同步写入资料到内存与硬盘中
6、async:资料会暂存到内存中,而非直接写入硬盘
 
四、启动服务器。
启动NFS服务器需要启动两个服务
1、portmap服务 ,提供RPC服务
 
 下面我们使用showmount命令来查看共享是否成功
已经共享成功了,下面我们挂载
挂在成功,现在你就可以像访问本地文件一样访问服务器上的文件了。
下面我们去看看/var/lib/nfs/*tab文件。
这个就是共享目录的所有权限,xtab目录里是空的,原因是我自己挂在自己的NFS服务器,所以没有显示。
 
四、NFS服务器的访问控制
1、iptables的控制
NFS默认使用2049端口,portmap使用的端口是111.端口,只要禁用他们就达到了禁用NFS的目的。
如果你的iptables默认是DROP的,那么就比较麻烦了,需要自己去配置NFS使用的端口具体如下
#vim  /etc/sysconfig/nfs
自己定义下面5个端口
RQUOTAD_PORT=
LOCKD_TCPPORT=
LOCKD_UDPPORT=
MOUNTD_PORT=
STATD_PORT=
通常给他们定义高位端口,不常用的,以免发生冲突,然后iptables中允许
111,2049和上面的4个端口就可以了。
基于tcp_wrapper的访问控制
在/etc/hosts.deny 里面写入以下内容
portmap:   *.linux.com
好了,NFS的常见操作我们就介绍到这里。有什么问题,请大家提出