我想使用 Windows 2008 Server 上的 IIS 6 中的 FTP 服务在非标准端口(即非 21)上设置 FTP 服务。
我已经在本地进行了设置和测试——一切正常。
但是我在远程访问时遇到了问题。我可以 Telnet 到新端口并看到 FTP 响应,但我无法创建真正的 FTP 连接。
因此,我认为从我的远程 PC 到服务器的连接的防火墙端口是打开的,但从服务器到我的 PC 的响应发生在随机端口上。
为了限制 IIS 6 FTP 服务中使用的返回(出站)端口,我遵循了此处详述的步骤:事件 ID 16 — IIS FTP 服务配置(虽然广告实用程序不在服务器上,所以我从其他来源下载了它并使用它)。
然后我使用命令cscript.exe adsutil.vbs 设置 /MSFTPSVC/PassivePortRange“6000-7000”运行正常。然后
然后我就跑了停止 msftpsvc,网络启动 msftpsvc和sc 查询 msftpsvc。
一切运行正常,但是当我使用 Wireshark 测试时,我发现端口 6000-7000 未被使用。
知道可能是什么问题吗?
答案1
本文介绍了 FTP 使用的端口。连接通过控制端口建立,但数据传输通过不同的端口进行。尝试在 IIS 中配置一组有限的数据传输端口,并配置防火墙以允许 FTP 服务器 IP 使用这些端口。
答案2
我使用网络嗅探器来排除这类问题。防火墙可能是罪魁祸首,因此分析防火墙内外的网络流量可以揭示 FTP 连接具体出了什么问题。
需要检查防火墙策略的一件事是,非标准端口实际上已配置为处理 FTP 流量。似乎已将策略配置为启用到非标准端口的 TCP 连接。策略是否已配置为允许特定的 FTP 流量?
如果您使用的是只能执行 NAT 和基本数据包检查的低端防火墙(即,不是 TCP 状态感知防火墙),那么您将需要将 FTP 服务器配置为仅允许被动模式,将 FTP 服务器配置为仅允许在某些小范围的端口(10 或 20?)上进行数据连接,然后将防火墙配置为允许这 10-20 个端口的 FTP 服务器的入站连接。
答案3
我在这里找到了完整的详细信息:http://scottonwriting.net/sowblog/posts/13857.aspx