发布服务器,ISA SERVER 2000给我们提供的2种方法,一种是Web Publishing Rules,另一种是Server Publishing rules。这两种方式是有本质区别的,前者借助于ISA SERVER 2000的Web Proxy Service,后者借助于Firewall Service。两种方式中,有几点非常重要的区别:

好,了解了一些基本知识后,我们开始切入正题:如何使用ISAServer 2000发内部网络的FTP服务器。 我们分别以这两种方式介绍如何发布一台FTP服务器。
Server Publishing rules方式
首先,在内部运行FTP服务的计算机上设置IIS。具体如何设置,我想有耐心看到这里的朋友肯定是轻车熟路,所以我也不想在这里浪费笔墨了。请注意一点,你的FTP站点必须配置为监听21端口。
现在对于内部网络IIS的设置我们已经完成,接下来我们来到ISA Server 2000的计算机前,开始发布这个位于内部网络的FTP服务器。打开ISA管理器,展开Publishing结点,用鼠标右键点击Server Publishing rules,选择New->Rule,这时会出现图1。

图一
给这个规则起一个名字,不妨就是FTP Server。选择Next,出现图2。

图二
把运行IIS监听FTP请求的IP地址和ISA计算机外部接口的IP地址填写进去,然后单击Next,出现图3。

图三
选择FTP Server这个协议定义。单击Next,出现图4。

图四
在这里,你可以通过IP地址来控制你的访问者,如果没有这样的要求,那么选择Any Request,单击Next。 出现图5。

图五
ISA给了你一个简单明了的设置清单,核对后无误,单击Finish,我们的工作也就完成了。
在这个发布过程中我们用到了FTP Server这个协议定义(Protocol Definitions),这使我就不得不扯到FTP Access Filter这个应用程序过滤器,因为它在FTP服务器发布的过程中起到了至关重要的作用。FTP Access Filter作用在于为NAT客户端(现在内部网络的那台FTP服务器就是一个NAT客户端)动态打开其所需要的第二层连接,而管理员不必在ip packet filter中来添加静态的封包过虑条目来支持这个第二层连接。这样就会给管理员带来极大的方便,例如对于FTP的PASV连接模式,在客户端和服务器之间的数据传输通道所使用的端口都是动态的,管理员不可能把所有这些端口都添加的ip packet filter中,即使你是一个有耐心有时间的管理员,这样做也会极大损害网络的安全性。所以这种方法可以说根本是不可行的。FTP Access Filter在协议定义(Protocol Definitions)添加了如下条目:
FTP Server
FTP Download only
FTP
这3个协议定义用户是不能修改和删除的,它由FTP Access Filter来管理,并动态的在ip packet filter打开所需要的第二层连接。但是在实际使用的过程中,我也发现了这个FTP Access Filter的一些不足,它仅能支持标准端口21的FTP访问和服务器发布。如果内部网络的用户要访问非21端口的FTP服务器或者要发布非21端口的FTP服务器,那么你就不得不借助防火墙客户端,当然对于发布FTP服务器,还需要Wspcfg.ini的支持。有关这个问题我想已经超出了本文所以论述的问题,如果有机会我会在以后的文章中和大家一起探讨。以这种方式发布的FTP服务器,用户可以使用PASV和PORT中的任何模式来连接。
此外,还有两个相关的问题。也许有的朋友会问,我是否需要建立一个支持TCP 21的进入访问(在IP packet Filter中)来支持这一发布呢? 答案是肯定的:你不必! 你可以使用netstat命令来验证,你的ISA外部的网络接口已经在监听TCP 21端口了。还有一点Server Publishing的方法对于使用动态外部(Internet)IP地址的网络支持的不好,还记得我们在刚才的发布过程中指定ISA外部网络的IP地址的那个对话框么,就是图2所示的,当你重新拨号后,你的IP通常会变,那么你就必须手动的修改这个对话框中的ISA外部接口地址,来支持内部服务器的发布。唉,微软的产品就是这样,总是带着一点遗憾,不过没关系,下边的方法会满足你的要求。 Let’s go!
用Web Publishing Rules方式
方法不变,你必须先设置好内部网络的IIS,但是有一点不同,可以说是有了很大的选择端口的自由,因为你不必配置IIS监听21端口,只要你的设置FTP监听的端口没有被其他资源占用,那么就是可以的。至于为什么,请往下看。
打开ISA管理器,展开Policy Elements, 用鼠标右键点击Destination Sets, 选择New->Set,为你的目标集起个名字,并且把你的Internet上的FQDN添加进去,如图6。

图六
例如我这里的FQDN是USST.VICP.NET。建立这个目标集的作用是因为在Web Publishing rules中我们会引用这个设置。
展开Publishing结点,用鼠标右键点击Web Publishing rules,选择New->Rule,为你的发布规则确认一个容易辨认的名字,单击Next。接下来选择Specified Destination Set,并引用我们在上一步中设置好的目标集,如图7。

图七




