网络文件共享服务NFS

网络文件共享服务:

1、NFS:Network File System

Linux下实现文件共享有多种方式,NFS就是其中之一。网络文件系统(NFS)协议是由Sun MicroSystem20世纪80年代为了提供对共享文件的远程访问而设计和实现的。该协议采用Client/Server模型, 通过使用Sun开发的远程过程调用协议(RPC Protocol)来实现运行在一台计算机上的程序来调用在另一台远程机器上运行的子程序.

NFS包含3个版本:NFSv2NFSv3NFSv4

RHEL6是以NFSv4作为默认版本,NFSv4使用TCP 协议(端口号是2049)和NFS服务器建立连接,而老版本的NFS可以在TCP协议或者是UDP协议上运行。NFS服务的端口默认是不固定的,但可以强制NFS使用固定端口。

RHEL6中NFS的软件包:nfs-utils

在NFS的相关文档中,有两个值得重点关注

/etc/exports:NFS服务的主配置文件,该文件的最主要目的是发布共享目录并为共享目录限制权限。和其他服务的主配置文件一样,绝大部分的配置都是通过编辑该文件完成

/var/lib/nfs/xtab:这个文件主要用来记录客户端与NFS服务器的连接记录,如果想查看哪些客户端曾经连接过NFS服务器,查看该文件即可

NFS服务的主配置文件exports发布共享目录的格式如下:

共享目录  [客户端1参数1][客户端2 参数]…

共享目录是指在NFS服务器上需要给客户端共享出来的目录,在设置共享目录的时候要使用绝对路径

客户端是指所有可以访问NFS服务器共享目录的计算机。常见客户端指定方式如下表:

客户端指定方式

示例

使用IP地址指定单一主机

10.20.30.40

使用IP地址指定范围主机

172.16.0.0/16

使用IP地址指定范围主机

192.168.1.*

使用域名指定单一主机

Test.ice.apple

使用域名指定范围主机

*.ice.apple

使用通配符指定所有主机

*

参数:在诸多可以附带的参数中,使用最多的要数权限设置的参数了,常见参数如下表:

参数

说明

ro

设置共享权限为只读

rw

设置共享权限为读写

root_squash

当使用NFS服务器共享目录的使用者是root时,将被映射为匿名账号。即:NFS 主机使用共享目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统账号的身份

no_root_squash

当使用NFS服务器共享目录的使用者是root时,将不被映射为匿名账号。即:NFS 主机使用共享目录的使用者,如果是 root 的话,那么对于这个共享的目录来说,他就具有 root 的权限!这个项目极不安全,不建议使用!

all_squash

将所有使用NFS服务器共享目录的使用者都映射为匿名账号

anonuid

设置匿名账号的UID

anongid

设置匿名账号的GID

sync

保持数据同步,也就是将数据同步写入内存和硬盘。这可能导致效率降低

async

先将数据保存在内存中,而不是直接保存在硬盘

注意:在发布共享目录的格式中除了共享目录是必跟参数外,其他参数都 是可选 的。而且共享目录和客户端1与客户端2之间都 需要使用空格符号,但客户端和参数之间不能有空格。

如:在/etc/exports文件添加如配置:

/media    *(ro) 192.168.0.10(rw,no_root_squash)

/NFS/test   192.168.0.0/24(ro)

NFS服务的启动与停止:NFS服务脚本是NFS

chkconfig--list

将rpcbind和nfs都设为自动启动

chkconfigrpcbind on

chkconfignfs on

 

启动rpcbind

servicerpcbind start

之后才能成功启动nfs

servicenfs start

一定要先启动rpcbind,然后再启动nfs,不然NFSquotas和NFS daemon都将启动失败。

servicenfs start|stop|restart|reload

exportfs命令:用于维护当前主机中NFS服务器的输出目录列表

exportfs –rv使NFS服务器重新读取exports文件的设置,而不需重启NFS服务器

exportfs –auv 用于停止当前主机中NFS服务器的所有目录输出

exportfs –av 用于输出NFS服务器的所有共享目录

exportfs  –v 显示输出列表同时,显示导出的设定参数

客户端的使用:

客户端可以先使用showmount –e查看NFS服务器发布的共享目录

挂载NFS文件系统

Mount  -t nfs NFS服务器IP地址(或主机名):共享目录  本地挂载点

如:mount –t nfs 192.168.0.1:/media  /mnt

启动挂载NFS

想要系统每次启动时自动挂载NFS服务器上的共享目录,则可以编辑/etc/fstab文件

NFS服务器的IP:共享目录    挂载点    nfs  defaults   0 0

配置NFS固定端口:

默认情况下,NFS配置完毕后,每次重新启动该服务后其相应的端口都会随机变化,如果启用了防火墙,如何开放变化的端口就成问题了,其实解决办法也很简单,只需对NFS进行配置使用固定端口即可

NFS服务启动时,会检查/etc/sysconfig/nfs文件,因此改该文件,修改相应字段便可以强制NFS服务使用固定端口了:

若NFS服务器上启用了iptables防火墙且filter表的3个链默认规则为DROP需创建如下规则:

iptables –I INPUT –p tcp --dport111 –j ACCEPT

iptables –I INPUT –p udp --dport111 –j ACCEPT

iptables –I INPUT –p tcp --dport2049 –j ACCEPT

iptables –I INPUT –p udp --dport2049 –j ACCEPT

iptables –I INPUT –p tcp –mmultiport --dport 875,32803,32769,892,662 –j ACCEPT

iptables –I INPUT –p udp –mmultiport --dport 875,32803,32769,892,662 –j ACCEPT

service iptables save

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值