★学习目标★熟悉FTP协议的功能及FTP服务的工作原理掌握在WindowsServer2003上利用IIS组建FTP服务器的方法掌握FTP站点的创建和使用方法了解具有特殊功能的FTP站点的创建和使用方法第4讲FTP服务器的配置与应用重点难点熟悉FTP协议的功能及FTP服务的工作原理掌握在WindowsServer2003上利用IIS组建FTP服务器的方法掌握FTP站点的创建和使用方法4.1FTP概述文件传输协议(FileTransferProtocol,FTP)是一个用于简化IP网络上系统之间文件传送的协议。采用FTP协议可使用户高效地从Internet或Internet上的FTP服务器下载大信息量的数据文件,以达到资源共享和传递信息的目的。4.1.1FTP的工作方式一个FTP站点可以是公用的,私有的,或者两者兼有之。我们可以为FTP帐号定义权限,让它可以访问整个FTP服务的目录结构,或者只是特定的区域。FTP服务器可以设置为允许任何人连接和传输文件,这种访问方式被称为匿名访问。当我们使用匿名方式登录到FTP站点时,系统默认使用“anonymous”作为用户名,用“guest”或某个E-Mail地址作为密码。实际上,FTP已经包含于InternetExplorer浏览器中,因此用户可以使用浏览Web的程序同时浏览FTP服务器1.FTP服务的控制连接和数据连接FTP包含两种连接模式:控制连接和数据连接。(1)控制连接。控制连接用于传递客户端的命令和服务器端对命令的响应,它使用服务器的21端口。(2)数据连接。数据连接用于传输文件和其它数据,例如目录列表等。这种连接在需要数据传输时建立,而一旦数据传输结束就关闭,每次使用的端口不一定相同。而且,数据连接既可能是客户端发起的,也可能是服务器端发起的。2.FTP服务数据连接的主动模式和被动模式FTP的数据连接也存在两种模式:主动模式和被动模式。主动(PORT)模式是从服务器端向客户端发起连接;被动(PASV)模式是客户端向服务器端发起连接。图1FTP的主动模式和被动模式4.1.2FTP服务的主要应用对于企业和校园网络来说,FTP是网络应用中必不可少的网络服务,它被广泛应用于软件下载、Web网站管理以及计算机之间的文件传输。1.软件下载与超文本传输协议(HTTP)不同,FTP使用两个端口进行传输,一个端口用于发送文件,另外一个端口则用于接收文件。所以,对于文件传输而言,FTP要比HTTP的效率高得多。因此,即使在Web服务同样能够提供软件下载的今天,FTP服务依然是各专业软件下载站点提供下载服务的主要方式。2.Web网站管理一个Web网站在发布后,必须对其内容进行及时更新,同时根据需要还需要对网站的结构和内容进行适时地调整。一般情况下,即使是你与Web服务器之间近在咫尺,对Web网站的管理也是远程进行的。由于FTP可以自由的上传和修改文件及其内容,所以在Web网站的管理中FTP的应用非常广泛。4.计算机之间的文件传输FTP和所有的TCP/IP家族成员一样,都是与平台无关的。也就是说,无论是什么样的计算机,无论使用什么操作系统,只要计算机安装有TCP/IP协议,那么这些计算机之间即可实现通信。这一特性对于在不同类型的计算机之间(如PC和Macintosh之间),以及安装不同操作系统的计算机之间(如Windows、UNIX和Linux之间)实现数据传输具有非常重要的意义。4.2FTP服务器的安装和测试在WindowsServer2003中,FTP服务是通过FTP组件来实现的。在安装IIS时,默认情况下系统不会安装FTP组件,而必须单独安装。在本例中,FTP服务器的计算机名为server1,IP地址为172.16.1.10,使用的访问域名为ftp.wldhj.com。在安装FTP组件之前,需要在DNS服务器的wldhj.com区域下添加一条记录ftp,其IP地址指向172.16.1.10。4.2.1安装FTP服务器图2选取“应用程序服务器”组件图3选取“Internet信息服务(IIS)”子组件4.2.2测试已安装的FTP服务器在通过以上方法安装好FTP组件后,我们还需要对FTP站点进行测试,以确保FTP服务已经正常运行。具体方法如下:图4选取“文件传输协议(FTP)服务”子组件图5FTP组件安装结束后的提示信息图6安装FTP组件后系统创建的“FTP站点”请确认该默认FTP站点的“状态”为“正在运行”。如果“状态”为“停止”,可在选取“FTP站点”后,单击鼠标右键,在出现的快捷菜单中选择“启动”选项来启动FTP服务。如果无法启动FTP服务,可能的原因主要有三种:一是该服务器上安装有其他的FTP服务软件(如Serv-U),这时请将已有的FTP服务软件关闭或删除,然后再重新启动FTP服务。二是TCP协议的21号端口被其他软件占用,因为FTP系统默认的TCP端口为21,如果该端口被其他软件占用,则FTP服务无法正常启动。这时,可修改已占用21端口的软件,将TCP端口改为其他未被使用的端口,也可以重新修改FTP软件的端口,如使用2121。三是“文件传输协议(FTP)服务”组件的安装有问题,这时可先删除该组件,然后再重新安装。接下来,我们可以在任何一台客户端计算机上测试“默认FTP站点”的运行情况,一般有两种方法:一种是利用命令行进行测试。图8通过浏览器连接FTP服务器图7通过命令行测试FTP服务器的连接情况IIS中FTP站点的发布功能相对来说没有Web网站的强,在IIS中可以利用“主机头名”来在一台服务器上同时发布多个主Web网站(例如),但却无法同时发布多个主FTP站点,这也是IIS中FTP服务的一个不足。提示:这里所说的“主FTP站点”,是指使用系统默认的TCP端口(21)和主目录发布的FTP站点。为此,当一台服务器只有1个IP地址时,只能够发布一个主FTP站点,而其他FTP站点的发布只能通过不同的TCP端口或虚拟目录的方式来发布。如果要在同一台FTP服务器上同时发布多个主FTP站点,只能在一台FTP服务器上设置多个IP地址,使每一个IP地址对应一个主FTP站点。这种方法在局域网中比较实用,但是在Internet中不可取,因为一般用户很少有那么多的公网IP地址。4.3发布FTP站点4.3.1利用“默认FTP站点”发布主FTP站点发布第一个主FTP站点。一般有两种方法:一种是将要发布的内容复制到“默认FTP站点”的主目录下;另一种通过其他主目录发布主FTP站点。本小节先介绍利用“默认FTP站点”发布主FTP站点的方法。如果要通过“默认FTP站点”发布主FTP站点,就可以将要发布的内容全部复制到“默认FTP站点”的主目录“e:\inetpub\ftproot”(其中“e:”为WindowsServer2003的安装分区)中即可。之后,在一台与该FTP服务器连接的客户端的浏览器地址栏中输入站点下的内容,如图9所示。图9利用“默认FTP站点”发布主FTP站点4.3.2利用其他主目录发布主FTP站点利用“默认FTP站点”发布主FTP站点,虽然操作方便、简单,但却存在一些不足和缺点。例如,由于“默认FTP站点”与WindowsServer2003位于同一个硬盘分区,所以FTP站点的内容在安全性和空间上都受到了限制。另外,由于“默认FTP站点”的许多设置都是系统默认性,主要用于在安装FTP组件后对FTP服务的测试,所以“默认FTP站点”的功能也很有限。所以,对于一些较大型的、在Internet上发布的网站,一般不使用“默认FTP站点”,而是利用其他主目录方式来发布主FTP站点。提示:在利用其他主目录发布主FTP站点之前,一定要停止“默认FTP站点”。其方法是在“Internet信息服务(IIS)管理器”窗口中,选取“默认FTP站点”后,单击鼠标右键,在出现的快捷菜单中选择“停止”选项,使“默认FTP站点”处于停止状态。在此基础上,下面我们介绍利用其他主目录(f:\soft)发布主FTP站点的方法,假设主FTP站点的域名为ftp.wldhj.com,IP地址为172.16.1.10。图10输入FTP站点的描述图11设置FTP站点的IP地址和TCP端口图12选择FTP站点的用户隔离方式图13设置FTP站点的主目录路径图14设置FTP站点的访问权限图15客户端登录FTP站点后的显示内容4.3.3发布虚拟目录FTP站点我们将发布主FTP站点的目录称为实际目录(PhysicalDirectory),例如前面介绍主FTP站点ftp.wldhj.com对应的主目录e:\soft。以实际目录发布的主FTP站点为依托,也可以将位于本地计算机或网络中其他计算机上的目录发布成主FTP站点的虚拟目录(VirtualDirectory)FTP站点。每个虚拟目录都有一个别名,通过在主FTP站点的名称后加上“/虚拟目录别名”就可以访问到该虚拟目录站点。例如,主FTP站点的域名为ftp.wldhj.com,在发布的FTP站点的存放目录为f:\web,对应的虚拟目录别名为web,则访问该虚拟目录FTP站点的地址为ftp.wldhj.com/web。下面,介绍ftp.wldhj.com/web虚拟目录FTP站点的发布方法。图16设置虚拟目录FTP站点的别名图17设置虚拟目录FTP站点的目录路径图18设置虚拟目录站点的权限图19显示已创建的虚拟目录FTP站点图20通过浏览器登录虚拟目录FTP站点图21利用命令行访问虚拟目录FTP站点的操作过程4.3.4如何在同一台FTP服务器上同时发布多个主FTP站点在实际应用中,用户经常需要在同一台FTP服务器上同时发布多个主FTP站点。在本讲前面已经介绍了主FTP站点ftp.wldhj.com(对应的IP地址为172.16.1.10)的发布和使用方法。下面,将介绍在该FTP服务器上发布另一个FTP站点ftp.etongtv.net(对应的IP地址同样为172.16.1.10,发布的主目录为f:\pkw2005)的方法。首先在DNS服务器上必须创建一个IP地址指向该FTP服务器(172.16.1.10)的域名ftp.etongtv.net。然后,根据通过以下的方法来创建该FTP站点。图22设置FTP站点的描述图23设置FTP站点的IP地址和端口图24显示已创建的FTP站点名称还需要说明的是,如果在一台FTP服务器上同时设置了多个IP地址,可以给每一个IP地址设置一个主FTP站点,而所有的主FTP站点全部使用系统默认的21端口。例如,ftp.wldhj.com使用的IP地址为172.16.1.10,而ftp.etongtv.net使用的是另一个IP地址192.168.0.10。如果有足够的IP可用,就可以建立这种一对一的关系。这种情况下,在发布FTP站点时,当出现如图4.26所示的对话框时,只需要给要发布的FTP站点分配一个IP地址即可。图25利用不同的TCP端口来连接不同的FTP站点图26给发布的FTP站点分配一个IP地址4.4.1更改FTP站点的主目录对于已发布的FTP站点的主目录并不是一成不变的。在实际应用中,我们有时需要更改FTP站点主目录的路径、权限和目录列表样式等内容。具体方法是在“Internet信息服务(IIS)管理器”窗口中选取要更改的FTP站点的名称(如firstFTP),单击鼠标右键,在出现的快捷菜单中选择“属性”,并且在打开的对话框中选择“主目录”标签项,打开如图27所示的对话框4.4FTP站点的基本配置图27FTP站点主目录属性对话框4.4.2设置FTP站点的标识、连接限制及日志记录在FTP站点的“属性”对话框中,打开如图30所示的“FTP站点”标签项,在该对话框中可以设置站点的标识、连接限制和日志等内容。图30FTP站点属性设置对话框1.FTP站点标识在同一台FTP服务器上可以同时创建多个FTP站点,为了区别不同的站点,每个站点需要设置不同的FT