A. 关于FTP被动模式与主动模式中防火墙过滤情况!
主动模式和被动模式是针对服务器而言。ftp需要建立两个连接(命令连接和数据连接),主动方式的命令连接由客户机发起,数据连接由服务器发起,这样客户端的防火墙可能会阻拦;被动连接的两个连接都由客户机发起,客户机的防火墙不会阻拦(就像设置一个门不是为了关自己)。这是主体思想,具体的怎么连接你上网搜一下,很多的。
回答问题:
不会,一般服务器都是先前设置好的。
这里考虑的防火墙主要是在建立连接时的作用。
见上。
B. 请问用IIS搭建FTP服务器,在哪里设置"主动模式"和"被动模式"
FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
在被动模式下,FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的FTP是指服务器被动地等待客户端连接自己的数据端口。
被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
很多人误认为利用WINDOWS组件IIS来构建的FTP服务器没有实用价值,只能做一些测试和学习。主要是FTP服务的PORT和PASV两种连接模式下防火墙难以设置。对于PORT模式,客户端无法在此环境下运行,因为 FTP 服务必须向 FTP 客户端发出新的连接请求,防火墙会将这些连接检测为未经请求的连接尝试,并因此而将它们断开。防火墙管理员可能也不希望使用PASV模式 FTP 服务器,因为该 FTP 服务可以打开任何短暂的端口号。如果防火墙配置允许未经请求的连接完全访问所有的短暂端口,则可能会是不安全的。
从实用的角度来看,建立一个默认短暂端口范围有限制的PASV模式 FTP 服务方案应该是较好的选择。下面通过一个实例,说明如何在Windows 2003 中利用IIS组件架设PASV模式FTP服务。
1建立一个PORT模式的FTP服务
1.1安装“文件传输协议(FTP)服务”组件
安装步骤:
控制面板--->添加删除程序--->添加删除windows组件--->应用程序服务器--->Internet信息服务(IIS)--->文件传输协议(FTP)服务
将“文件传输协议(FTP)服务”复选框钩上,插入windows 2003安装盘或选择windows 2003安装路径,直至安装结束。
1.2FTP主目录及用户权限的配置
主目录:D:/soft/ftpup
拥有读写权限而不允许其它用户访问的用户:
ww1用户拥有 ww1目录的读写权限,位置在:D:/soft/ftpup/LocalUser/ww1
XX1用户拥有 XX1目录的读写权限,位置在:D:/soft/ftpup/LocalUser/XX1
允许匿名用户只读访问:
Everyone 拥有 public目录的只读权限,位置在:D:/soft/ftpup/LocalUser/public
创建 ww1和xx1用户并设置密码。
建立相应的目录,并设置对应的权限。
1.3创建FTP站点
通过“控制面板 ---> 管理工具 ---> Internet信息服务(IIS)管理器 ---> Internet信息服务--->本地计算机---> FTP 站点”标签,右击“FTP 站点”--->新建--->FTP 站点,进入FTP站点建立向导:站点描述--->IP地址和端口设置--->隔离用户--->FTP站点主目录(D:/soft/ftpup ),直到向导结束。
右击刚建立的FTP站点,在“安全帐户”选项卡上选中“允许匿名用户连接”。至此,一个PORT模式的FTP站点架设完成。
可以关闭防火墙在客户端进行测试是否符合要求。
2将FTP站点设置成PASV模式
2.1启用直接编辑元数据库
打开 IIS Microsoft 管理控制台 (MMC):控制面板 ---> 管理工具---> Internet信息服务(IIS)管理器 ---> Internet信息服务--->本地计算机
右击本地计算机节点,选择属性,选择启用直接编辑元数据库复选框。
2.2 修改端口号 方法 1 通过 ADSUTIL 脚本配置 PassivePortRange
运行cmd.exe程序进入命令行模式,并输入以下命令:
C:/Inetpub/AdminScripts/adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5550"
这样就将FTP服务器上TCP 默认短暂端口范围限制在5500-5550范围内,如果同时连接数量较多,可适当进行调整。
用以下命令查看PassivePortRange:
C:/Inetpub/AdminScripts/adsutil.vbs get /MSFTPSVC/PassivePortRange 方法 2 通过修改配置文件 打开下面这个文件 : 1. C:/WINDOWS/system32/inetsrv/MetaBase.xml 搜索 MaxConnections 这个字段 在 MaxConnections 下面新加一行被动模式的配置信息,修改后的配置文件为 LogType="1" MSDOSDirOutput="TRUE" MaxClientsMessage=" " MaxConnections="100000" PassivePortRange="5500-5550"
3.windows 2003 中防火墙的设置
3.1打开FTP控制端口TCP 21(如果更改端口号,这里要做相应的更改)
在命令行输入:
NETSH FIREWALL ADD PORTOPENING TCP 21 FTPPort21
3.2打开PassivePortRange 5500-5550的TCP端口
建立以下批处理文件并运行(例如:ftpport.bat):
ECHO OPENING FIREWALL PORTS 5500-5550
FOR /L %%I IN (5500,1,5550) DO NETSH FIREWALL ADD PORTOPENING TCP %%I FTPPort%%I
iisreset /restart
ECHO FINISHED
Pause
至此,整个服务架设完成,可在启用防火墙的情况下进行测试。
C. 2K3,IIS6,开启了Windows防火墙,放了20、21端口,但FTP客户端要设置为主动模式才能访问,为什么
先说IIS6的FTP主程序吧。不太清楚你说的主程序的意思。我对你所说的问题的理解是,在开始-程序中怎么有没有IIS6的FTP设置和管理工具是吧?
IIS的FTP的管理就是在IIS管理器中进行的,如图1红框处。如果你发现你的IIS管理器中没有这一项是因为,IIS6在默认安装时并不安装FTP组件,需要手工添加,你需要在控制面板--添加删除程序--添加删除windows组件中添加上。如图2。
再说主动模式和被动模式。
主动模式的连接过程是这样的,首先客户随机端口连接服务器21端口,然后服务器通过20端口连接客户机刚刚那个随机端口传数据。整个过程中服务器只要开放TCP20和21就可以
被动模式的连接过程是这样的:首先客户随机端口连接服务器21端口,然后服务器通过21端口告诉客户机自己打开哪个端口传数据(这个端口是个1025--5000的端口)最后客户机连接服务器的所告知的端口。这个过程中服务器除了要开放21端口外,还要开放1025--5000的所有端口才行,如果这样开放就不是防火墙了。
这就是为什么你开了防火墙的2021,客户端要设置为主动模式才能访问的原因。
D. 独家:主动模式FTP与被动模式FTP该如何选择
FTP是一种文件传输协议,主要用来在不同的主机之间实现文件的传送。通常情况下完成一个文件的传输需要有命令连接通道与数据连结通道两个通道。而建立这些通道的方法不同,又有主动模式与被动模式的区分。在Linux操作系统上,vsFTPd是最常用的一个FTP软件,其支持这两种模式。为此系统管理员需要了解这两种连接模式的不同点,并在实际工作中根据企业的应用情况来选择合适的模式。一、主动模式的实现与特点。 无论是主动模式还是被动模式,其要进行文件传输都必须依次建立两个连接,分别为命令连接与数据连结。而主动模式与被动模式的差异主要体现在数据连结通道上。为了说明两者的差异,我将主要对这个数据连结进行比较详细的说明。 当FTP客户端需要登陆到FTP服务器上的时候,服务器与客户端需要进行一系列的身份验证过程,这个过程就叫做命令连接。如在客户端向服务器发起连接请求的时候,客户端会随即的选择某个TCP端口来跟FTP服务器的21号端口进行连接,这主要是通过TCP三方握手来实现的。当三方握手完成之后,客户端与服务器之间便建立了命令连接通道。不过这个通道的用途是非常有限的,其主要用来传输FTP的相关指令。如查看文件列表、删除文件等等,而不能够用来在客户端与服务端进行文件传输。为此这个通道就被称之为命令通道。而跟数据传输相关的为数据通道。 到客户端与服务器建立了连接之后,可能客户端暂时不需要进行数据传输。如只是需要查看目录下的文件或则其他相关的动作。此时之需要命令连接通道就可以完成了。如果此时客户端需要往FTP服务器上上传或者下载文件的话,就需要在客户端与服务器端再建立一条额外的数据传输连接。当客户端发出数据传输的指令之后(如上传数据或者下载文件),客户端会启用另外一个端口监听等待连接,并利用先前建立的命令连接通道告诉FTP服务器其监听的端口号。然后FTP服务器会利用端口20和刚才的FTP客户端所告知的端口再次进行三方握手。三次握手成功后便建立了一条数据传输通道。注意此时数据连结通道建立的过程中,是FTP服务器的20号端口主动连接FTP客户端的,为此这种连接方式就叫做主动模式。 二、被动模式的实现与特点。 被动操作模式在建立命令连接通道的时候,跟主动操作模式是相同的。两者主要的差异就在于数据传输通道的建立上面。但是如果用户需要进行数据传输的时候,则FTP客户端会通过命令通道告诉FTP服务器,如会向服务器发出一个PASV指令。这个指令就是告诉服务期,要采用被动模式建立连接。如果采用被动操作模式,服务期会选择自身的一个端口来进行监听连接(而在主动操作模式下是利用客户端的一个端口来进行监听连接),并再次利用命令连接通道告诉客户端“我为你开启了哪个端口,你要建立数据连接的话就跟我的哪个端口联系”。客户端在接到这个信息后,就会在自己操作系统上选择一个数据连接的通信端口,与服务器提供的端口进行三方握手,并最终建立起可以进行数据传输的通道。 当企业的网络环境不同,两个操作模式的应用效果是不同的。这主要是主动操作模式与被动操作模式在数据的传输通道建立上有一定的差异。从以上的分析中我们可以看出,在主动操作模式下,FTP服务器的20号端口是主动同客户端联系,建立数据传输通道的。而在被动操作模式下,则FTP服务器是被动的等待,等待客户段与其的20号端口建立连接。不要小看这个细小的差异,这个差异却决定了两者应用环境的不同。 一般来说,如果这个FTP服务器只对企业的内部局域网客户提供文件传输的服务,那么基本上两者的应用效果没有很大的差异。但是如果企业网络外部的用户也需要通过互联网与FTP服务器进行文件传输的话,就会有很大的不同。这主要是因为,在数据通道建立的过程中,客户端会在另一个端口上监听等待连接,并利用命令连接通道告诉服务器其监听的端口好。然后企业的边界路由器会将FTP的IP地址转换为合法的公网IP地址(假设企业由于公网IP地址有限,在边界路由器上通过NAT服务向外部用户提供FTP连接)。如果此时采用的是自动操作模式的话,则在连接这个数据通道的过程中FTP服务器会主动跟边界路由器的端口进行通信(因为FTP服务器认为这台边界路由器,其实就是NAT服务器,就是FTP客户段)。但是实际上不是,而且也有可能没有启用这个端口。为此客户端与FTP服务器之间的连接最终没有建立起来。所以说,如果采用主动操作模式的话,当FTP服务器部署在NAT等服务器后面的时候,则FTP服务器与客户端之间只能够建立命令连接通道,而无法建立起数据传输通道。如果FTP服务器与客户端之间还有防火墙的话,在连接的过程中也会出现以上类似的情况。 而如果是采用被动操作模式的话,是客户端主动跟服务期的20号端口进行连接的。为此在数据传输通道建立的过程中,即使中间有NAT服务器或者防火墙,也会准确无误的连接到FTP服务器的数据传输接口。所以说,如果在客户端与FTP服务器之间存在防火墙或者NAT服务器等类似设备的话,那么在FTP服务器部署的时候,最好采用被动操作模式。否则的话,很可能只能够建立命令连接通道,而无法进行数据传输。
E. 在防火墙中,detectftp配置在呢个模式下
一、FTP服务器工作两种模式
1、主动模式
2、被动模式
针对FTP服务器:
FTP多通道(控制通道和数据通道)
一、被动模式
1、客户端随机端口N访问FTP的21端口,发起控制通道的连接,即21端口为FTP控制通道监听的端口。
2、服务器将自身的IP和2个随机数P1,P2告知客户机。
3、客户端使用N+1端口发送数据通道的连接,目标端口为P1*256+P2
被动模式下,2个通道客户端发起,服务器被动等待连接。
二、主动模式
1、客户端随机端口N访问FTP的21端口,发起控制通道的连接,告知服务器自身的IP地址和2个随机数P1,P2
2、服务器使用20号源端口访问客户机的P1*256+P2端口,发起数据通道的连接。(P1*256+P2=N+1)
主动模式,控制通道由客户端发起,数据通道由服务器发起。
单通道协议:通信过程中只占用一个端口的协议
多通道协议:通信过程中占用两个或两个以上端口的协议
多通道协议用到多个端口,很多端口随机生成,防火墙配置很难使用精确的端口策略,防火墙默认开启ASPF(应用层报文过滤)功能。针对多通道协议开启ASPF功能,可以对多通道协议应用层的检测,自动放行多通道的流量。
F. 如何设置FTP的主动模式和被动模式
一、什么是主动FTP
主动模式的FTP工作原理:客户端从一个任意的非特权端口N连接到FTP服务器的命令端口,也就是21端口。然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。
针对FTP服务器前面的防火墙来说,必须允许以下通讯才能支持主动方式FTP:
1、 任何大于1024的端口到FTP服务器的21端口。(客户端初始化的连接)
2、 FTP服务器的21端口到大于1024的端口。 (服务器响应客户端的控制端口)
3、 FTP服务器的20端口到大于1024的端口。(服务器端初始化数据连接到客户端的数据端口)
4、 大于1024端口到FTP服务器的20端口(客户端发送ACK响应到服务器的数据端口)
二、什么是被动FTP
为了解决服务器发起到客户的连接的问题,人们开发了一种不同的FTP连接方式。这就是所谓的被动方式,或者叫做PASV,当客户端通知服务器它处于被动模式时才启用。
在被动方式FTP中,命令连接和数据连接都由客户端发起,这样就可以解决从服务器到客户端的数据端口的入方向连接被防火墙过滤掉的问题。
当开启一个 FTP连接时,客户端打开两个任意的非特权本地端口(N > 1024和N+1)。第一个端口连接服务器的21端口,但与主动方式的FTP不同,客户端不会提交PORT命令并允许服务器来回连它的数据端口,而是提交 PASV命令。这样做的结果是服务器会开启一个任意的非特权端口(P > 1024),并发送PORT P命令给客户端。然后客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
对于服务器端的防火墙来说,必须允许下面的通讯才能支持被动方式的FTP:
1、 从任何大于1024的端口到服务器的21端口(客户端初始化的连接)
2、 服务器的21端口到任何大于1024的端口(服务器响应到客户端的控制端口的连接)
3、 从任何大于1024端口到服务器的大于1024端口(客户端初始化数据连接到服务器指定的任意端口)
4、 服务器的大于1024端口到远程的大于1024的端口(服务器发送ACK响应和数据到客户端的数据端口)
以上关于主动和被动FTP的解释,可以简单概括为以下两点:
1、主动FTP:
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口 <- 服务器 20端口
2、被动FTP:
命令连接:客户端 >1024端口 -> 服务器 21端口
数据连接:客户端 >1024端口 -> 服务器 >1024端口
三、主动模式ftp与被动模式FTP优点和缺点:
主动FTP对FTP服务器的管理和安全很有利,但对客户端的管理不利。因为FTP服务器企图与客户端的高位随机端口建立连接,而这个端口很有可能被客户端的防火墙阻塞掉。被动FTP对FTP客户端的管理有利,但对服务器端的管理不利。因为客户端要与服务器端建立两个连接,其中一个连到一个高位随机端口,而这个端口很有可能被服务器端的防火墙阻塞掉。