您的位置:首页 > 理论基础 > 计算机网络

NFS(network file system)网络文件系统1

2016-04-12 16:46 609 查看
1、这个服务是进行linx下的文件传输,后面博客会出现samba是进行windows和linux之间的文件传输。

2、nfs的用处:本地工作站会使用更少的磁盘的空间,把数据放在一个机器上面。

   用户不用每个机器都设置一个home目录,可以放在nfs服务器上。

3、关于服务的端口:web:80    |      dhcp: 67 
4000
| ftp:
21 | nfs:采用动态的端口     |     netbios:137~139


nfs:每个功能提供服务时候都会选择一个小玉1024的端口提供服务。

4、rpc(remote procedure call)远程进程调用

作用:记录每个nfs功能所对应的端口,他工作在固定的端口111,客户访问服务nfs时候就会访问服务i器的111端口(rpc),rpc将工作端口返回给用户客户端,nfs启动时候会向                  rpc服务器注册。


5、nfs服务的组件

 rpc.nfsd:判断检查客户端是否具有登陆主机的权限

rpc.munted:管理nfs文件系统

rpc.locked:处理崩溃的系统锁定的服务

rpc.stated:负责处理多用户同时使用一个文件造成破坏的时候,他进行恢复

rpc.quoted:接口

6、nfs的安装和配置

所需的组件:protmap端口映射,nfs-utils提供rpc.nfsd和rpc.mounted

服务配置:exports文件(/etc/exports):有的时候是没有这个文件的,需要手动建立(vim /etc/exports)

exports文件中的格式(例子)

home                              102.142.173.12 9(ro)              localhost(rw)          *(ro,sync)

共享文件                             第一台ip的访问权限                    可用主机的和访问权限    其他主机

注意如果权限有多个的时候,权限要用逗号分开,主机和权限的括号是要连在一起的。

权限:rw:read-write:可读可写的权限。

            ro:read-only:只读的文件。

           sync:数据同步写到内存和磁盘中。

   async:数据只写到内存中,并不直接同步写入硬盘中的。

      no_root_squash:登陆nfs主机使用共享的目录,设置导致不安全,特别是以root身份登陆的。

root_squash:无论是哪个用户登陆,都是以匿名形式登陆。

anonuid和anongid

7、重新启动服务service  rpcbind restart

       service  nfs   restart

注意:两部都是要进行的,因为nfs服务是在rpc基础上进行服务的

8、客户端的nfs系统

查看共享资源;showmount  -adehv

-a:查看服务器上的输出目录和客户机上的信息

-d;只显示被客户使用的输出目录信息

-e;输出所有的共享资源

exportfs

-a:全部挂载(卸载)/etc/exports文件中的设置

-r:重新挂载/etc/exports里面的设置,同时更新到/etc/exports

-u:卸载摸个目录

-v;zai exports的时候,讲共享目录显示到屏幕上

服务器上的nfs系统

确认服务器已经启动了rpcbind

建立共享目录

编辑exports目录进行服务器的相关设置

重启服务包括rpcbind和nfs服务

9.加载nfs服务器(要注意linux系统的防火墙和selinux)

确认本地已经启动了rpc

查看nfs服务器上的共享文件(showmount)

在本地建立挂载点(mkdir)

利用mount将主机直接挂载到相关的目录。

mount -t     nfs服务器的地址:共享目录    本地挂载点

10.自动挂载工具autofs(后面会单独有博客)

11.nfs安全的特性

这个模块我认为是很重要的,作为运维,主要是保证服务器安全稳定的运行。

首先是服务器在配置exports权限的时候是要考虑安全的因素,保证共享文件的安全。

一般nfs的服务只对内网开放,我们要将防火墙关闭(iptables -F),但是在现实中防火墙机制是要保证服务不被攻击的第一道防线,所以不建议胡乱的关闭防火墙。

那么我们要考虑端口的访问/etc/sysconfig/nfs文件中,在这个文件设置特定的端口,这样就可以针对端口进行防火墙的设置了。

一般在要改的数据有:mountd,rquotad,nlockmgr

vim /etc/sysconfig/nfs

RQUOTAD_PORT=1001

LOCKD_TCPPORT=30001

LOCKD_UDPPORT=30001

NOUNTD_PORT=1002

12.工作的过程:

客户会向服务器端口的rpc(111)发出nfs文件访问的要求

服务器找到已注册nfs daemon端口后通知给用户

客户端了解真确的端口后,就可以直接与nfs daemon 链接了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息