如何开启IIS里的FTP主动模式(PASV模式)

如何开启IIS里的FTP主动模式(PASV模式),第1张

IIS 不支持禁用或者活动或被动连接模式。与Internet, 上使用 HTTP 和其他协议 FTP 协议使用最小的两个连接会话期间: 用于控制, 半双工连接和进行数据传输全双工连接用于控制, 半双工连接和全双工连接进行数据传输:。 默认情况下, 服务器上 TCP 端口 21 用于控制连接, 但数据连接由方法, 客户端用来连接到服务器, 作为下面详细。因为通过控制连接客户端发送到服务器, 端口命令- 主动模式 FTP 连接 有时称为以 " 客户端管理 "。 命令请求服务器以建立到客户, 使用 TCP 端口由 端口命令指定数据连接从 TCP 端口 20 上。被动模式 FTP 连接 是有时称为到 " 服务器管理 ", 因为与之一瞬态端口用作数据连接的服务器端端口服务器响应客户端发出 pasv 命令后,。 由客户端, 数据连接命令发出后服务器连接到客户立即使用端口上面控制连接的客户端端口。与端口范围 1024 - 65535 内默认模式 Passive - IIS FTP 中随机选择到响应。 要进一步限制这些巨大端口范围, 系统管理员可配置命名 PassivePortRange 元数据库属性关键字, 此属性关键字仅存在于 IIS 6.0, for IIS 5.0 在 Windows 2000, 系统管理员需要安装 Service Pack 4, 在系统注册表中 PassivePortRange 项中添加。更改PassivePortRange for IIS, 执行过程之一下面部分中所述。用于Windows Server 2003 要启用直接编辑元数据库)1 . 打开 IIS Microsoft 管理控制台 (MMC)。2 . 右击本地计算机节点。3 . 选择 属性。4 请确保 启用直接编辑元数据库 复选框。通过ADSUTIL 脚本配置 PassivePortRange b)1 . 单击 开始、 运行, 键入 cmd, 和然后 确定。2 . 键入 cd Inetpub\AdminScripts, 然后按 Enter。3 . 键入以下命令从命令提示符。CSCRIPT.exe C:\Inetpub\AdminScripts\adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5515" 4 重新启动 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

至此,整个服务架设完成,可在启用防火墙的情况下进行测试。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/55931.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-26
下一篇2023-02-26

发表评论

登录后才能评论

评论列表(0条)

    保存