APP下载

搭建一个企业NFS服务器的实践探索

2017-07-29杨云

电脑知识与技术 2017年12期
关键词:服务器

杨云

摘要:该文对NFS工作原理进行了详细介绍,提出了一种基于NFS文件系统来解决Linux系统间共享资源的解决方案,搭建了一个实用的企业NFS服务器。实验结果证明,该服务器具有良好的安全性能和可用性。

關键词:NFS;服务器;RPC服务器;守护进程

1NFS服务器概述

NFS从字面上讲是网络文件系统,英文是Network File System,先是应用在UNIX操作系统中的共享资源上,后来被Linux操作系统继承了下来,并发扬光大。NFS与Windows下的“网上邻居”十分相似,它允许用户连接到一个共享位置,然后像对待本地硬盘一样操作。

NFS最早是由Sun公司于1984年开发出来的,其目的就是让不同计算机、不同操作系统之间可以彼此共享文件。由于NFS使用起来非常方便,因此很快得到了大多数UNIX/Hnux系统的广泛支持,而且还被IETE(国际互联网工程组)制定为RFCl904、RFCl813和RFC3010标准.

如图1所示为NFS服务器的工作过程示意图。我们知道,绝大部分的网络服务都有固定的端口,比如Web服务器的80端口、FTP服务器的2l端口、Windows下NetBIOS服务器的137-139端口、DHCP服务器的67端口……客户端访问服务器上相应的端口,服务器通过该端口提供服务。那么NFS服务是这样吗?它的工作端口是多少?我们只能很遗憾地说:NFS服务的工作端口不确定。

这是因为NFS是一个很复杂的组件,它涉及身份验证和文件传输等方方面面的需求,并且每一个功能都会占用一个单独的端口。于是为了避免NFS服务过多的固定端口被占用,NFS服务器采取了使用动态端口的方式来完成各项工作,每一个功能都使用随机的小于1024的端口。不过问题又来了,NFS客户端如何知道它要访问哪个端口才可以获得NFS服务呢?

答案是必须使用RPC服务,RPC的英文全称是Remote Procedure Call,意为远程进程调用。RPC最主要的功能就是记录每个NFS功能所对应的端口,它有固定端口号111。当NFS客户端向服务器提出NFS服务时,必须要访问NFS服务器的111端口(提供RPC服务的固定端口),远程进程调作(RPC)将会把NFS工作的端口号返回给NFS客户端,如图2所示。那么RPC是怎么知道NFS每个功能的运行端口的呢?这是因为当NFS服务启动时,它会自动向教程进程调用服务器(RPC服务器)进行注册,明确告知它NFS各个功能所使用的不同端口。

如图2所示,常规的NFS服务是按照如下流程进行的。

1)NFS启动时,自动选择工作端口小于1024的1011端口,并向RPC(工作于111端口)汇报,RPC记录在案。

2)客户端需要NFS提供服务时,首先向111端口的RPC查询NFS工作在哪个端口?

3)RPC回答客户端,它工作在1011端口。

4)于是,客户端直接访问NFS服务器的1011端口,请求服务。

5)NFS服务经过权限认证,允许客户端访问自己的数据。

猜你喜欢

服务器
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
中国服务器市场份额出炉
得形忘意的服务器标准
网络环境
配置连接服务器
计算机网络安全服务器入侵与防御
服务器操作系统可信加固技术研究
如何应对虚拟服务器的安全性及合规性挑战
关于Linux的视频服务器开发与实现分析