使用Windows Server 2008 R2打造双线FTP服务器

本文涉及的产品
云防火墙,500元 1000GB
简介:

使用Windows Server 2008 R2打造双线FTP服务器

 1 FTP的PASV与PORT模式概述

在所有的网络服务中,FTP服务器的发布是比较复杂的,这是由FTP的工作原理造成的。FTP服务器主要有两种工作模式:PORT模式与PASV模式。

在PORT模式中,FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。

PASV模式在建立控制通道的时候和Port模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。

很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口;

而许多内网的客户端不能用PORT模式登陆FTP服务器,因为从服务器的TCP 20无法和内部网络的客户端建立一个新的连接,造成无法工作。

2 使用防火墙发布FTP服务器通常选择PASV模式

为了解决这个问题,并且在许多情况下,最终用户没有机会配置所属网络的防火墙。所以,一般情况下,在发布FTP服务器时,通过是让FTP服务器工作在PASV模式,并且指定PASV对外服务的地址以及PASV服务的端口,让防火墙发布指定的端口。

以前我一直使用serv-u做FTP服务器,因为我的网络中有不止一台FTP服务器并且要发布到Internet供用户使用。在Windows Server 2008及其以前的版本中,虽然Windows操作系统自带的FTP服务器非常安全,但由于其配置较少,并且不能指定PASV端口对外地址、修改PASV端口范围较复杂等,一直使用serv-u等FTP服务器软件。但是,随着64位Windows操作系统的普及与发展,现在在网络中配置FTP又被提上了日程:支持64位Windows Server操作系统的FTP并不是很多,并且这些FTP服务器越来越复杂、庞大,偶尔会有漏洞出现。而对于我们大量用户来说,需要FTP服务器的功能有限:能发布到Internet、能上传、下载,并能分用户管理就行。现在,Windows Server 2008 R2,升级了IIS中集成的FTP服务器,除了具有原来的功能外,还增加了指定PASV地址与端口的功能,这足以满足用户的需求。在本文中,我们通过一个案例,进行介绍。

3 FTP服务器实验案例

clip_image002

图1 FTP实验拓扑

在图1中,由Forefront TMG 2010保护的内网,有两台FTP服务器,这两台FTP服务器,除了供“内网”使用外,还发布到Internet,供Internet用户使用。并且,该网络外接有电信与联通线路,可以让用户根据自己的网络选择是使用电信还是联通线路连接到FTP服务器。

要解决图1所描述的网络的功能,我们可以有多种方法解决,在此先解决一个以前在serv-u中采用的办法:用不同的端口发布FTP服务器,我们通过表1对此做出规则。

服务器

电信服务端口

联通服务端口

PASV端口

内网服务端口

FTP1

2010

2011

2012

21

FTP2

2020

2021

2022

21







在按照表1规划后,Internet的用户,如果是电信线路,则通过ftp://219.x.x.x:2010访问FTP1,通过ftp://219.x.x.x:2020访问FTP2;如果是联通线路,则通过ftp://61.y.y.y:2011访问FTP1,通过ftp://61.y.y.y:2021访问FTP2;而内网用户,则直接通过ftp://192.168.1.11访问FTP1,通过ftp://192.168.1.12访问FTP2。

4 实验步骤

在做好规划之后,实现起来就比较简单了。主要步骤如下:

4.1 双WAN口路由器设置

在双WAN口路由器中,映射TCP的2010、2011、2012、2020、2021、2022到Forefront TMG 2010的“外网地址”10.10.10.10,如图2所示。

clip_image004

图2 配置双WAN口路由器

4.2 Forefront TMG设置

在Forefront TMG 2010中,创建两个自定义协议,其中么一个协议名称为FTP_in:2010-2012(也可以是其他名称)、采用TCP协议、方向为“入站”、协议号为2010~2012(如图3~图5所示);另一个协议名称为FTP_in:2020-2022、协议号为2020~2022的TCY入站协议。然后创建“非Web服务器发布规则”,发布192.168.1.11的服务器,采用FTP_in:2010-2012协议(如图6~10所示);发布192.168.1.12的服务器,采用FTP_in:2020-2022协议。

clip_image006

图3 新建协议

clip_image008

图4 指定协议名称

clip_image010

图5 设置连接信息

clip_image012

图6 创建服务器发布规则

clip_image014

图7 设置服务器发布规则名称

clip_image016

图8 指定服务器的地址

clip_image018

图9 选择协议

clip_image020

图10 发布完成

clip_image022

图11 应用设置

4.3 FTP服务器设置

在FTP1服务器中(已经安装好Windows Server 2008 R2协议),安装IIS与FTP服务,指定FTP服务器使用PASV的端口为2012,创建三个FTP服务器中,这三个服务器可以使用同一个“父目录”,并且这三个服务器的服务端口分别为21(内网使用)、2010(电信使用)、2011(网通使用)。相关步骤如下。

(1)在“Internet信息服务管理器”中,在IIS管理的根路径,双击右侧的“FTP防火墙支持”,如图12所示。

clip_image024

图12 FTP防火墙支持

(2)在“FTP防火墙支持”页,在“数据通道端口范围”文本框中,键入前面规则的端口范围,在此为2012-2012,然后单击“应用”,如图13所示。

clip_image026

图13 指定PASV端口范围

(3)返回到图12后,双击“FTP SSL设置”链接,选中“允许SSL连接”,然后单击“应用”,如图14所示。

clip_image028

图14 FTP SSL设置

接下来创建用于内网使用的FTP,该FTP服务器的端口为21。步骤如下。

(4)右击“网站”,在弹出的快捷菜单中选择“添加FTP站点”,如图15所示。也可以单击右侧任务窗格中的“添加FTP站点”链接。

clip_image029

图15 添加FTP站点

(5)设置站点名称为“FTP-21”,并为站点配置物理路径,如图16所示。

clip_image030

图16 指定FTP站点名称

(6)在“绑定和SSL设置”页,设置端口号为21,在“SSL”选项组中,选择“无”,如图17所示。

clip_image031

图17 绑定和SSL设置

(7)在“身份验证和授权信息”页,选择“匿名”用户访问,如图18所示。

clip_image032

图18 匿名访问

然后参照(4)~(7)的步骤,分别创建名为“FTP-DX_2010”、“FTP-WT_2011”的FTP站点,使用同一个目录、端口分别为2010、2011,如图19~图22所示。

clip_image033

图19 电信FTP站点

clip_image034

图20 电信FTP端口

clip_image035

图21 网通FTP站点

clip_image036

图22 网通FTP端口

(8)创建完成三个FTP站点后,返回到IIS管理器。接下来要修改各FTP服务器对外的PASV的IP地址,以“FTP-DX_2010”站点为例。在IIS中,在左侧任务窗格选中“FTP-DX_2010”,双击右侧的“FTP防火墙支持”链接,如图23所示。

clip_image038

图23 FTP防火墙支持

在弹出的“FTP防火墙支持”页,在“防火墙的外部IP地址”文本框中,键入外网的IP地址,在本例中是219.x.x.x,然后单击“应用”按钮,如图24所示。

clip_image040

图24 指定PASV的IP地址

(9)同样,对于发布到网通的“FTP-WT_2011”FTP站点,修改其PASV的IP地址为网通的地址,在本例中为61.y.y.y,如图25所示。

clip_image042

图25 指定网通FTP的PASV的IP地址

(10)而对于用于内网的FTP,则不需要修改其PASV的IP地址,该地址为空即可,如图26所示。

clip_image044

图26 内网FTP不需要修改

经过上述配置,Internet上的用户,以及内网的用户,就可以使用不同的地址与端口、访问同一台FTP服务器中的内容了。



本文转自 dengaosky 51CTO博客,原文链接:http://blog.51cto.com/dengaosky/1869007,如需转载请自行联系原作者
相关文章
|
9天前
|
中间件 Java 应用服务中间件
Windows部署web应用服务器Jboss中间件
如何在Windows系统上部署JBoss 7.1作为Web应用服务器,包括配置环境变量、自动部署WAR包、访问JBoss控制台、设置管理员账户以及修改端口和绑定地址等操作。
25 1
|
20天前
|
开发工具 开发者 Windows
Windows10 IIS Web服务器安装配置
Windows10 IIS Web服务器安装配置
|
16天前
|
传感器 网络协议 物联网
手把手教你在 Windows 环境中搭建 MQTT 服务器
手把手教你在 Windows 环境中搭建 MQTT 服务器
|
9天前
|
安全 Ubuntu Linux
在Linux中,如何进行FTP服务器配置?
在Linux中,如何进行FTP服务器配置?
|
2月前
|
弹性计算 Linux 数据安全/隐私保护
云服务器 ECS产品使用问题之linux服务器的存档如何导入Windows服务器
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
云服务器 ECS产品使用问题之linux服务器的存档如何导入Windows服务器
|
2月前
|
弹性计算 Linux 云计算
云服务器 ECS产品使用问题之如何从Linux迁移存档到Windows
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
2月前
|
SQL 关系型数据库 MySQL
Windows服务器的最佳数据库是什么?
【7月更文挑战第20天】Windows服务器的最佳数据库是什么?
40 5
|
2月前
|
Java Linux 应用服务中间件
Windows和Linux的最佳Web服务器
【7月更文挑战第20天】Windows和Linux的最佳Web服务器
41 3
|
2月前
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
97 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
下一篇
云函数