猝然临之而不惊,无故加之而不怒。
分类: WINDOWS
2011-05-05 15:08:43
FTP 有两种传输模式,一种是主动模式(Active mode),另一种是被动模式(Passive mode),不过由于许多公司都是透过 IP 分享器上网,所以不是所有人都能透过 Active mode 传输档案。而现在的 Server 环境也通常有架设防火墙阻挡没在使用的 Ports,这种情况下也会让 Passive mode 无法正常运作,因为当 FTP Server 在使用 Passive mode 传输数据时,Server 端会动态的使用 Port 1024 ~ 65535 来进行档案的传输,连接时会从中随机选择到响应,这样就很有可能被防火墙阻挡掉正常的联机,如果该值未指定,或被设置成空字符串,则将使用 Winsock 指定的默认值 1025-5000。如果指定了该属性,则 FTP 将验证的有效范围从 5001 到 65535。要限制这片超大端口的范围,可以用IIS管理实用程序Adsutil.vbs 。
所以现在我们要做是修改 IIS FTP 在 Passive mode 数据传输的 Port Range,这样就可以设定好 Firewall 让这些 Port 开放给 FTP Server 使用。由于各版本的 IIS 设定的方式都不一样,我假设要开放的 Port Range 从 5100 ~ 5109,以下是修改的方法:
IIS 5.0
开启 regedit.exe
找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msftpsvc\ParametersPassivePortRange
修改内容为 5000-5100 即可。
IIS 6.0
开启「命令提示符」
进入 C:\Inetpub\AdminScripts 目录
执行 adsutil.vbs set /MSFTPSVC/PassivePortRange "5100-5109" (例:开放指定的10个端口)
重新启动 FTP 服务
注意:如果开了防火墙,还必须添加以上端口.
IIS FTP里的PASV模式下默认端口范围 1024 - 65535
则将使用 Winsock 指定的默认值 1025-5000。如果指定了该属性,则 FTP 将验证的有效范围从 5001 到 65535。
要限制这片超大端口的范围,可以用IIS管理实用程序Adsutil.vbs.
附:Adsutil.vbs的常用语法
配置目录的存取权限
C:\Inetpub\Admins cripts>chaccess.vbs -a w3svc/1/ROOT -verbose
Usage: chaccess <--ADSPath|-a ADSPATH> 控制配置路径
[--computer|-c COMPUTER1[,COMPUTER2...]]指定机器名,IP也可。
[+read|-read] 主目录下的读取权限
[+write|-write]主目录下的写入权限
[+s cript|-s cript]主目录下的执行许可权限为纯脚本
[+execute|-execute]主目录下的执行许可权限为脚本和可执行程序
[+browse|-browse]主目录下的目录浏览权限
[--verbose|-v]当前版本
[--help|-?]
显示指定路径的属性及状态信息
C:\Inetpub\Admins cripts>dispnode help
Usage: dispnode <--ADSPath|-a ADS PATH OF NODE> [--help|-h]
ADS PATH - The Path of the node to be displayed
Example 1: dispnode -a IIS://LocalHost/w3svc显示当前IIS的主属性
Example 2: dispnode --adspath IIS://MachineName/w3svc/1 显示当前站点的状态信息
寻找命名的Web,并显示节点号、描述、主机名、端口和IP地址
C:\Inetpub\Admins cripts>findweb
Web Site Number = 1
Web Site Des cription = 默认 Web 站点
Hostname =
Port = 80
IP Address =
C:\Inetpub\Admins cripts>findweb m7.net
Web Site Number = 2
Web Site Des cription = m7.net
Hostname =
Port = 80
IP Address =
显示指定站点路径管理树
C:\Inetpub\Admins cripts>disptree.vbs help
Usage: disptree [--ADSPath|-a ROOT NODE] 指定要显示管理树的路径
[--NoRecurse|-n]
[--Help|-?]
创建WEB虚拟站点
C:\Inetpub\Admins cripts>mkw3site help
Unknown argument help
Usage: mkw3site <--RootDirectory|-r ROOT DIRECTORY>网站路径名
<--Comment|-t SERVER COMMENT>WEB网站标识
[--computer|-c COMPUTER1[,COMPUTER2...]]
[--port|-o PORT NUM]端口
[--IPAddress|-i IP ADDRESS]IP地址
[--HostName|-h HOST NAME]主机名