How to :发布内部网络中的文件共享服务

来源:ISA中文站

在直接路由的网络环境中,访问文件共享是很容易的事情,但是在NAT环境中,例如常见的内部网络通过NAT访问外部网络的环境,外部客户不能直接访问位于内部网络中的文件共享。现在,利用ISA防火墙强大的功能,你可以发布内部网络中的文件共享服务,从而允许外部网络客户的访问。

首先回想一下文件共享所使用的协议:在Windows 2000及其后的操作系统中,使用的是CIFS协议,而在Windows 2000以前的操作系统中,使用的是Netbios协议,因此,我们需要同时发布这两种协议。

Netbios协议使用以下端口:

  • Netbios名字服务,UDP 137 发送接收;

  • Netbios数据报,UDP 138 发送;

  • Netbios会话,TCP 139 出站;

而CIFS协议则使用以下端口:

  • TCP 445出站;

  • UDP 445发送接收;

但是Netbios名字服务Netbios数据报这两个协议是使用本地子网广播进行通讯的,当我们在ISA防火墙上发布内部网络中的文件共享服务时,无法侦听外部网络的广播地址,所以无法使用这两个协议,带来的后果就是如果没有配置为使用WINS服务器或者修改HOSTS文件,则外部客户不能通过Netbios名字来访问发布的共享服务。

本文中的测试环境如下图所示,Istanbul上安装了ISA防火墙作为内部网络(10.2.1.0/24)和Internet(外部网络为192.168.1.0/24,通过路由器连接到Internet)之间的边缘防火墙,我将发布内部网络中文件服务器Munich上的文件共享服务,然后在外部客户Mine上访问此共享进行测试。

 

各计算机的TCP/IP设置如下,试验之前已经确保网络连接工作正常:

Istanbul(ISA Server 2004 SE,Windows Server 2003 SP1)

Internet接口:

  • IP:192.168.1.201/24

  • DG:192.168.1.1

  • DNS:None

LAN接口:

  • IP:10.2.1.1/24

  • DG:None

  • DNS:None

Munich(文件服务器,Windows Server 2003 SP1)

LAN接口:

  • IP:10.2.1.9/24

  • DG:10.2.1.1

  • DNS:None

Mine(外部客户,Windows XP SP2)

Internet接口:

  • IP:192.168.1.6/24

  • DG:192.168.1.1

  • DNS:192.168.1.1

这篇文章中的试验步骤如下图所示:

  • 创建服务器发布规则,发布内部网络中的文件共享服务;

  • 在外部客户上访问发布的文件共享服务进行测试;

创建服务器发布规则,发布内部网络中的文件共享服务

在创建发布规则之前,你必须确保被发布的服务器上文件共享服务工作正常,这个可以通过在ISA防火墙上访问此共享来测试。本应预先创建发布所使用的服务器协议,在此我将利用ISA防火墙的一站式规则创建向导来创建发布所需要的服务器协议。

Istanbul上运行ISA防火墙管理控制台,右击防火墙策略,点击新建,选择服务器发布规则

 

欢迎使用新建服务器发布向导页,输入新发布规则的名字,在此我命名为Publish file share,点击下一步

 

选择服务器页,输入内部文件服务器Munich的IP地址10.2.1.9,点击下一步

 

选择协议页,点击新建

 

弹出的欢迎使用新建协议向导页,输入新协议的名字,在此我命名为CIFS Server,点击下一步

 

首要连接信息页,点击新建按钮添加以下连接端口:

  • TCP 入站 139

  • TCP 入站 445

  • UDP 接收发送 445

完成后如下图所示,点击下一步

 

辅助连接页,点击下一步

正在完成新建协议向导页,点击完成

选择协议页,默认选择为新建的协议CIFS Server,点击下一步

 

在IP地址页,勾选外部,如果你外部网卡具有多个IP地址,并且只想把服务发布绑定在外部的某个IP上,可以点击地址进行设置。点击下一步继续;

 

正在完成新建服务器发布规则向导页,点击完成;此时ISA Server管理控制台里面已经出现了新建的策略,如下图所示,

 

点击应用保存修改和更新防火墙策略。

在外部客户上访问发布的文件共享服务进行测试

在外部客户Mine上,打开任意一个文件夹窗口,然后在地址栏输入\\192.168.1.201来访问ISA防火墙对外发布的文件共享,如下图所示,弹出身份验证对话框,输入具有访问权限的用户和密码后,点击确定

注意;为什么不能使用计算机名来访问呢?还记得文章前部所写的吗?Netbios名字服务和Netbios数据报这两个协议是使用本地子网广播进行通讯的,而发布时无法侦听本地子网广播地址。Netbios名字依赖于Netbios名字服务,因此我们不能直接使用Netbios名字,不过,你可以通过WINS服务器或者修改HOST文件来实现。

 

访问成功,如下图所示,

 

访问共享文件成功,如下图所示,复制文件测试一下,同样正常。

 

至此,本次试验成功结束

你可能感兴趣的:(windows,网络,操作系统,防火墙,中文)