VPN远程访问在文件服务器中的应用

更新时间:2024-01-17 10:29:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

VPN远程访问在文件服务器中的应用

摘要:随着windows server 2003文件服务器在我单位的应用,如何随时随地访问文件服务器成了一个问题,本文通过架设VPN服务器,使用户方便地通过VPN远程访问文件服务器,实现了文档的集中化管理。

关键词:VPN;文件服务器;集中化管理 1、单位文档管理的发展及产生的问题

第一阶段

以前我单位每天每个人都有大量文档的产生,如excel、word等等,这些文档很多都放在个人的电脑上,这样的方式造成文档都保存在各自的电脑上,管理混乱,无法共享,要找到一个文件需要费很大的功夫。如图1所示:

图1(分散的文档管理方式)

第二阶段

这种管理方式已经不能适应单位的工作需要,因而开始考虑建立集中式的文件管理系统,因为单位不大只有50-60人,没有考虑购买专业的文档管理系统,于是采用了架设FTP服务器的办法来实行集中管理。用一台高性能、大存储的的PC机或服务器,在其上架设FTP服务器,并且在FTP服务器上建立用户和配置用户的目录权限。例如:建立一个名为“单位公共文件夹”的文件夹,这个文件夹里面放一些公司的通知,规章制度等,所有的用户都有读权限,只有办公室主任和总经理才有写权限。再建立各个部门的部门文件夹和每个部门内部各个用户的用户文件夹,各个部门的部门文件夹只有部门用户才可以读写,以此类推,按照单位部门层级建立多个用户和文件夹,最后确定用户的访问权限,公司总经理能查看和写“单位公共文件夹”,能够查看“部门文件夹”和所有员工的个人文件夹。各部门领导可以查看“单位公共文件夹”和读写“部门公共文件夹”及其查看本部门员工个人的文件夹,员工只能查看“单位公共文件夹”和读写“部门公共文件夹”、自己的文件夹。如图2和图3所示。

图2(采用FTP服务器进行文档管理)

图3(文件夹层级的设置)

通过采用FTP服务器和建立用户和文件夹的权限设置,彻底解决了以往文件管理混乱的局面,使文档可以共享,增加了文档的安全性。

但是随着这种模式的使用,慢慢的另一个问题就出现了,那就是文件的同步问题。例如张三把他所写的一个word文件上传到FTP服务器后,过一段时间他需要修改这个文件了就从FTP服务器上下载下来修改完毕后再上传回去,可能一个个两个文件他记得修改后上传,但是文件多了后,事情忙了后总有一些文件不记得回传到服务器上,这样就造成了文件的不同步,其他的同事如果去看张三的文件就可能看到的是旧的文档,极易影响工作。

于是这就开始考虑用另一种方式去解决这个问题。 第三阶段

基于FTP文件服务器产生的不同步问题,我们考虑直接采用windows server 2003的文件服务器去建立集中的文档管理。因为NTFS文件系统的权限设置非常完备和安全,并且有极强的管理功能,能够追踪到写文件和删除文件的用户和时间。不同的用户登录到文件服务器上都只能打开属于他权限范围的文件夹,从而进行读写操作,这种读写操作是在文件服务器上对文件直接进行读写,不再有FTP服务器的同步问题的产生。于是就开始创建windows server 2003文件服务器。

2、架设windows server 2003 文件服务器:

2.1首先在windows server 2003操作系统上安装文件服务器,随后在将一个磁盘分区格式化为NTFS文件系统。

2.2在windows server 2003操作系统上添加组和用户,将用户归属到各自的组里。如表1所示:

组名 Originizatio BusinessdepatmentOffice 用户名 (整个公司组) (业务部门组) (办公室组)…… Ceo(总经理) √ Businessmanager √ (业务经理) Zhangsan √ (业务部门员工)

√ √ 表1(用户及其用户组归属) 2.3 在NTFS分区上建立单位、部门和用户文件夹,如图4所示

图4(文件夹层级细化的设置)

2.4 针对不同的用户组和用户给予不同的文件夹权限,在给予权限这一块我

们要先做好精确的规划,哪个用户组和用户能做什么,最好先用用户组来规定一个所有组员能够做的事情,然后在每个用户权限里在个性化定制。还有一点要注意的是:共享文件夹里的权限和NTFS安全的权限设定是一种与的关系,也就是说哪个更严格就按哪个的执行,我们的权限划分按如下步骤进行:

第一步 列出每个用户对所有文件夹的权限,如表2所示: 组名 文档单位公总经理业务业务经理文张三文件夹 用户名 文件共 文件夹 部公件夹 夹 文件夹 共文件夹 Ceo / 读、写、读、写、读 读 读 创建文删、创建件夹 文件夹 Business/ 读 / 读、读、写、删、读 manager 写、创创建文件夹 建文件夹 Zhangsan / 读 / 读 / 读、写、删、创建文件夹 第二步 汇总权限,先按用户组授予各个文件夹共有权限,在针对每个文件夹设置用户个性化权限。

(1) 先建立一个“文档文件夹”,然后在其下建立“单位公共文件夹”、“总经理文件夹”等,如图4所示。

(2) 设置“文档文件夹”为共享,如图5所示,在这重要的一点就是设置用户组organization可以访问“文档文件夹”,并且把organization的权限设为更改和读取。在此设置的权限要设大一些,如果只是设置读取,那么它里面的所有文件夹都不能进行更改和删除等操作了。要对里面的文件夹进行更严格的设置我们可以根据NTFS安全的权限去设置。

图5(共享文件夹设置用户及其权限分配)

(3) 在NTFS安全里打断“文档文件夹”从分区根目录的继承,如图6所示,注意在左上方的“文档文件夹 属性”框里“组或用户名称”里会继承分区根目录的一些组和用户,进入此框的“高级”选项,进入“文档文件夹 的高级安全设置”框里将“允许父项的继承权限传播到该对象和所有子对象”前面复选框里的√取消,然后在出现的一个询问界面里点击删除,取消所有从根目录继承来的组、用户及其权限。然后在“文档文件夹 的高级安全设置”框里点击添加加入administrators组和organization组。如图7所示。

图6(打断文档文件夹从分区根目录的继承)

(4)administrators组是为了能够使administrator用户有权限设置“文档文件夹”的ntfs安全属性。

图7(“文档文件夹”的NTFS安全的权限)

如图7所示,我们要保证organization组对“文档文件夹”里面的所有文件夹和文件有读取的权限,这些权限会自动继承到里面的所有子文件夹和文件,然后在针对每个文件夹进行用户的细化工作,也就是遵循一个原则:先将一些共有的权限赋予organization组的每一个成员,使他们对所有文件夹和文件有读取的权限,随后在每个文件夹里进行严格的约束。

那么针对“文档文件夹”来说,所有用户对第一层文件夹不能有创建文件夹和创建文件的权限,并且不能有删除文件和文件夹的权限。于是在左上方的“文档文件夹 属性”框里给予organization组“读取和运行”、“列出文件目录”、“读取”、“修改”、“写入”五个权限。进入此框的“高级”选项,进入“文档文件夹 的高级安全设置”框里,选中organization,然后点击编辑,进入“文档文件夹 的权限项目”框里,取消“创建文件/写入数据”、“创建文件夹/附加数据”、“删除”、“删除子文件夹及文件”前面复选框里的√。

通过这样的设置,organization组的所有成员不能在“文档文件夹”的第一层文件夹及其里面的子文件创建新的文件夹和文件,并且不能删除文件和文件夹。 (5)对各层文件夹进行精确设置

A、对顶层“文档文件夹”及其子文件夹和文件来说,现在organization组的所有成员都只有读取权限。

B、针对“单位公共文件夹”设置各用户的权限。

首先设置ceo的权限,ceo对此文件夹具有读,写的权限,并且具有创建新文件夹的权限。设置如图8所示:

图8(ceo单位公共文件夹ntfs安全权限)

因为organization组对此文件夹不具有创建文件夹和文件权限,在ceo里加上去。 接着设置Businessmanager和Zhangsan的权限。因为这两个用户都是Businessdepatment组的成员,对“单位公共文件夹”都具有相同的读取权限,因而我们仅对Businessdepatment组设置权限,以下对其他文件夹的设置类同。如果有其他的部门组,都可以按组设置。又因为organization组对“单位公共文件夹”已经是读取的权限,因而不必针对Businessdepatment组再次设置。

C、针对“总经理文件夹”设置各用户的权限。先设置ceo的权限,ceo对此文件夹具有读,写及其删除的权限,并且具有创建新文件夹的权限。如图9所示:

图9(ceo总经理文件夹ntfs安全权限)

图10(Businessdepatment组对总经理文件夹ntfs安全权限)

接着设置Businessdepatment组的权限。Businessdepatment组对此文件夹没有任何权限。如图10所示。接着设置office组的权限。office组对此文件夹没有任何权限。图略。

D、针对“业务部门文件夹”设置各用户的权限。 先设置ceo和Businessdepatment组的权限,ceo和Businessdepatment组需要对此文件夹及其子文件夹具有读的权限,ceo的权限在子文件夹和文件会自动继承,因而不必在子文件夹和文件中再次设置。Businessdepatment组的成员对子文件夹和文件的权限下面进行个性化设置。因为organization组对“业务部门文件夹”已经是读取的权限,因而不必针对ceo和Businessdepatment组再次设置。

再设置Office组的权限。office组对此文件夹及子文件没有任何权限。office组的权限在子文件夹和文件会自动继承,因而不必在子文件夹和文件中再次设置设置。如图11所示:

图11(office组对业务部门文件夹ntfs安全权限)

E、针对“业务部公共文件夹”设置各用户的权限。 全部继承父文件夹的权限不需再设置。

F、针对“业务经理文件夹”设置各用户的权限。 ceo和Businessdepatment组不需再设置。Businessmanager用户需要对此文件夹及其子文件夹具有读,写及其删除的权限,并且具有创建新文件夹的权限。如图12所示:

图12(Businessmanager对业务经理文件夹ntfs安全权限)

Zhangsan对此文件夹及子文件没有任何权限。如图13所示:

图12(Zhangsan对业务经理文件夹ntfs安全权限)

G、针对“张三文件夹”设置各用户的权限。

其他用户继承父文件夹权限。Zhangsan用户需要对此文件夹及其子文件夹具有读,写及其删除的权限,并且具有创建新文件夹的权限。如图13所示:

图13(Zhangsan对张三文件夹ntfs安全权限)

至此为止,所有文件夹及其子文件夹和文件的所有用户权限都已经设置完毕,我们就可以开始进行网络访问了。 3、通过网络访问文件服务器

在网络中的任何一台电脑,在我的电脑中通过输入\\\\文件服务器的IP或机器名,回车后就会打开一个窗口,让你输入用户名和密码。如图14所示:

图14(通过UNC访问文件服务器)

在此我们可以根据自己的用户名和密码输入,就可以看到文档文件夹,从而可以访问自己权限范围内的文件了。但是,在实际使用中,发现这样的方式访问经常只能局限在同一个子网内,跨网段的访问是无法打开文件服务器的,让我们分析一下windows下共享文件夹和文件的原理。

3.1 windows中Microsoft网络的文件和打印机共享

(1)服务器消息块SMB(Server Message Block)

服务器消息块SMB(Server Message Block)是一种客户端/服务器文件共享协议。IBM于20世纪80年代末期开发了服务器信息块(SMB),用于规范共享网络资源(如目录、文件、打印机以及串行端口)的结构。这是一种请求/响应协议。与FTP协议支持的文件共享不同,SMB协议中的客户端要与服务器建立长期连接。一旦建立连接,客户端用户就可以访问服务器上的资源,就如同资源位于客户端主机上一样。

SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API)。最近微软又把 SMB 改名为网络文件共享协议CIFS(Common Internet File System),并且加入了许多新的特色,CIFS是SMB的一个公共版本。我们之所以能够在windows的网络邻居下共享文件,共享打印机,共享串口等,就是通过这个协议实现的。

(2)NetBIOS

NetBIOS是应用程序编程接口,为应用程序提供了网络通信的一组函数。功能上类似于Socket;允许程序员在应用程序中加入网络能力,并减少实现数据传输的代码量。NetBIOS存在于会话层,因此它独立于低层协议。用NetBIOS接口编写的应用可以很容易在 Novell、IBM LAN Server、Microsoft Networks、Mic rosoft LAN Manager等众多系统上运行.因此,NetBIOS是一个有众多网络应用支持的标准的会话层接口,作为事实上的标准,最初由I B M 定义的NetBIOS定义了会话层的协议及应提供的服务.向上为表示层服务,向下使用传输层提供的服务。但这些服务可以由不同的方式实现。数字设备公司(Digital Equipment Corporation)提供DECnet、Novell提供IPX/SPX协议、Microsoft公司用NetBEUI协议(NetBIOS Extended User Interface)和TCP/IP两种不同方式为基于NetBIOS的应用提供网络传输服务。

(3)SMB与NetBIOS协议图15

OSI 以太网 应用层 表示层 应用层 会话层 NetBIOS NetBIOS NetBIOS 传输层 TCP&UDP TCP/UDP DECnet IPX NetBEUI 网络层 IP IP 数据链802.2 802.2 以太网或其Ethernet 2 Ethernet 2 路层 它 802.3、802.5 802.3、802.5 物理层 图15(SMB不同的实现方式及其对应的协议栈) (4) NBT

TCP/IP协议是使用最广泛的网络协议,基于TCP/IP的NetBIOS称为NBT ( N etBIOS over TCP/IP)。

按服务分解NBT,基于TCP/IP的NetBIOS (NBT) 提供的服务可以分为三

SMB

类:NetBIOS名称服务、NetBIOS数据报服务和NetBIOS会话服务。每个服务都为应用程序提供了一组独特的功能并对网络有着不同的影响。

NetBIOS名称服务:NetBIOS名称服务在单个网段中提供名称解决,也就是在网络上宣告自己的NetBIOS。NetBIOS名称服名称务使用OSI模型传输层的UDP端口137。由于NetBIOS名称服务采用广播进行名称解决,因此只适用于单个网段,对于典型的路由器TCP/ IP网络,要使用lmhosts文件或wins服务。

NetBIOS数据报服务:NetBIOS数据报服务使用UDP端口号138,主要用于 浏览器服务通知。这些消息用于在用户桌面系统中构建网上邻居。

NetBIOS会话服务:网络中产生的NetBIOS通信主要是因为使用NetBIOS会话服务。NetBIOS会话服务使用TCP端口139。文件和打印机服务构成了NetBIOS会话服务产生的通信的主要部分。如果在[网络邻居]→[属性] →[本地连接] →[属性],打上了“Microsoft网络的文件和打印机共享”前面的勾,也就启用了文件和打印机服务,换句话说本机就变成了一台文件服务器或打印服务器(统称SMB服务器)。 特别的是,在Windows NT中SMB基于NBT实现。 而在Windows2000/xp/2003中,SMB除了基于NBT的实现,还可以直接通过445端口实现。

(4)当windows2000以上的操作系统作为SMB文件服务器时,就面临着选择139或者445端口了。下面的情况确定会话使用的端口:

1、如果SMB文件服务器启用了NBT,那么客户端连接SMB文件服务器的时候将同时访问139和445端口,如果从445端口得到回应,那么客户端将发送RST到139端口,终止这个端口的连接,接着就从445端口进行SMB的会话了;如果没有从445端口而是从139得到回应,那么就从139端口进行会话;如果没有得到任何回应,那么SMB会话失败。

2、如果SMB文件服务器禁用了NBT,那么客户端连接SMB文件服务器的时候就将只从445端口进行连接。

(5)当我们在同一个网段中用客户端去连接SMB文件服务器时,肯定能够连接。但是一旦我们的客户端和SMB文件服务器不在同一网段时,问题就出现了,客户端经常不能连接SMB文件服务器,现象就是在我的电脑中通过输入\\\\文件服务器的IP或机器名\\,会提示找不到\\\\文件服务器的IP或机器名\\。不会出现图14的画面。 3.2 问题分析

看来问题出在跨网段的路由器或三层交换机上,为了证实这个问题,做了两个场景下的访问SMB文件服务器时的抓包实验。

第一个场景是在一台windows server 2003上装两块网卡,在两块网卡上设置不同网段的IP地址,一个网段接SMB文件服务器,一个网段接客户端,如图15所示:

图15(用一台带两个网卡的2003作软路由连接两个网段)

这个软路由上不做任何限制,可以通过任何的通信。用192.168.0.63访问202.192.135.101,在我的电脑中通过输入\\\\文件服务器的IP(202.192.135.101),会出现图14的画面。

对刚才的过程用sniffer pro软件抓包,如图16所示,发现客户端会去连接SMB文件服务器的139和445端口。

图16(192.168.0.63访问202.192.135.101用sniffer pro软件抓包) 第二个场景是在真实的业务环境下,SMB文件服务器位于一个网段,客户机位于另一个网段,之间通过路由器或三层交换机相连。如图17所示:

图17(实际业务环境下的两个网段)

特别注意的是在客户端和SMB文件服务器之间有可能不止一个路由器或三层交换机。

同样的在客户端10.0.0.180访问202.192.135.101,在我的电脑中通过输入\\\\文件服务器的IP(202.192.135.101),出现错误提示,如图18所示:

图18(客户端10.0.0.180访问202.192.135.101错误)

对刚才的过程用sniffer pro软件抓包,如图19所示:

图19(10.0.0.180访问202.192.135.101用sniffer pro软件抓包) 发现客户端会去连接SMB文件服务器的139和445端口,但是SMB文件服务器的139和445端口都未对客户端的连接做出任何响应,因而会出现图18的

错误提示。

可见出于NetBIOS总所周知的安全问题,一般的路由器或三层交换机都会将NetBIOS的端口(UDP 137 138,TCP 139 445)屏蔽掉,也就是说路由器或三层交换机会建立一系列ACL,只要数据包的UDP和TCP端口是NetBIOS的端口,就会将此数据包丢弃。

4、通过VPN拨号远程访问文件服务器 既然路由器或三层交换机都会将NetBIOS的端口(UDP 137 138,TCP 139 445)屏蔽掉,那么就要找到一种办法让客户端和SMB文件服务器位于同一网段内,这就是VPN的应用场景了。

4.1 VPN简介 VPN的英文全称是“Virtual Private Network”,翻译过来就是“虚拟专用网络”。 VPN可以通过特殊的加密的通讯协议在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样,但是它并不需要真正的去铺设光缆之类的物理线路。示意图如下:

图20(VPN原理示意图)

4.2 在SMB文件服务器上架设VPN服务器

(1)在windows2003中VPN服务称之为“路由和远程访问”,默认状态已经安装。只需对此服务进行必要的配置使其生效即可。

第一步:依次选择“开始”-“管理工具”-“路由和远程访问”,打开“路由和远程访问”服务窗口;再在窗口右边右击本地计算机名,选择“配置并启用路由和远程访问”。

第二步:在出现的配置向导窗口点下一步,进入服务选择窗口,选择第一项,然后一路点击下一步,完成开启配置后即可开始VPN服务了。

第三步:设置IP地址,在这里我们定义起始IP地址为11.0.0.1,结束IP地址为11.0.0.100共100个。

第四步:给予表2中的用户在“用户属性”-“拨入”-“远程访问权限(拨入或VPN)”允许访问的权限。

4.3 VPN客户端配置

这一端配置相对简单得多,只需建立一个到VPN服务端的专用连接即可。第一步:在桌面“网上邻居”图标点右键选属性,之后双击“新建连接向导”打开向导窗口后点下一步;接着在“网络连接类型”窗口里点选第二项“连接到我的工作场所的网络”,继续下一步,在如下图所示网络连接方式窗口里选择第二项“虚拟专用网络连接”;接着为此连接命名后点下一步。

第二步:在“VPN服务器选择”窗口里,等待我们输入的是VPN服务端的

IP(SMB文件服务器上架设VPN服务器的IP 202.192.135.101),接着出现的“可用连接”窗口保持“只是我使用”的默认选项;最后,为方便操作,可以勾选“在桌面上建立快捷方式”选项,单击完成即会先出现如VPN连接窗口。输入访问VPN服务端合法帐户后的操作就可开始连接了。连接成功后在右下角状态栏会有图标显示。并且VPN服务器会分配11.0.0.2至11.0.0.100中的一个IP给客户端,这样客户端就和SMB文件服务器的IP 11.0.0.1位于同一网段,也就可以访问文件服务器上的共享资源了。

5、总结

采用windows server 2003的文件服务器去建立集中的文档管理。可以做到文档的实时同步,也增加了文档的安全性,并且便于管理。如果固定在一台电脑上用同一个账号访问文件服务器,还可以将文档文件夹映射为本地的一个硬盘,这样就可以像访问本地硬盘一样访问文件服务器了。在一些大型的的局域网中,通过VPN连接文件服务器绕过了路由器和三层交换机的屏蔽,可以像在本地网段一样轻松的访问文件服务器,在局域网中,速度和本地网段几乎没有区别,速度非常快。如果你的文件服务器能够发布到公网上,那么任何位于外网的用户同样可以连接通过VPN连接访问文件服务器,达到了远程办公的目的。

参考文献

[1] Uyless Black,TCP/IP and Related Protocols 【M】.Mc Graw—Hill.1998.1

2—21

[2]汤教坚 计算机实用网络编程[M] 北京:人民邮电出版社,1995.1—73 [3] W David Schwaderer NetBIOS,IPX and SPX C程序员指南 【M】.徐

光贤,译 北京 科学出版社,1995

本文来源:https://www.bwwdw.com/article/q82o.html

Top