【问题标题】:Windows 7 IIS FTP issueWindows 7 IIS FTP 问题
【发布时间】:2012-08-31 23:25:29
【问题描述】:

我一直在尝试使用 Windows 7 中的 IIS 设置 ftp 服务器。我在本地网络上已经成功,但现在我想将其公开。我转发了端口 21,但现在当我在外部打开我的 ftp 服务器 (ftp://myexternalip) 时,我确实收到了输入用户名和密码的提示,但是当我登录时,我得到了这个日志:

Command:    OPTS UTF8 ON
Response:   200 OPTS UTF8 command successful - UTF8 encoding now ON.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I.
Command:    PASV
Response:   227 Entering Passive Mode (192,168,178,14,57,219).
Status: Server sent passive reply with unroutable address. Using server address instead.
Command:    LIST
Response:   150 Opening BINARY mode data connection.
Error:  Connection timed out
Error:  Failed to retrieve directory listing

因此,我在我的 ftp 服务器中看不到任何数据/文件。我不知道这里的问题是什么,也不知道如何解决这个问题。我也确定我的防火墙没有阻止 ftp 服务器,因为我把它关掉了。谁有更多的知识可以启发我?

【问题讨论】:

    标签: iis windows-7 ftp


    【解决方案1】:

    FTP 协议与其他协议不同,因为它不仅使用专用端口 (21) 来执行命令(这就是您可以登录等的原因),而且使用自发的其他端口来传输数据有效载荷。

    这不是问题,当设计 FTP 时,客户端和服务器通常可以直接看到自己(并且防火墙是外来的),但 NAT 改变了游戏规则:您的服务器看到的地址 (192.168.178.14) 在互联网上不可见.

    修复它的唯一方法是在 NAT 上:那里的连接跟踪模块实际上会拦截并操纵命令通道,以将 NATed 地址/端口转换为公共地址/端口。大多数防火墙设备都知道如何做到这一点。

    在您的防火墙中查找“触发应用程序”或“FTP 转发”。

    【讨论】:

    • @user1534664 NAT 实际上要重写 FTP 控制数据包,让你认为 NAT 路由器是 FTP 服务器。
    • @Neil 是的,但这不是端口转发背后的概念吗?难道我不转发告诉 NAT 数据必须发送到哪台 PC?我转发了端口 21..
    • @user1534664 通常,NAT 只更改数据包的 IP 地址(有时还会更改端口号)。只有 FTP 才必须更改数据包的“数据”(实际上是 FTP 命令和/或响应)。
    • 噢,谢谢尼尔!我现在明白尤金的意思了。但我在路由器中看不到任何触发应用程序或 ftp 转发。怎么办?另外,我尝试在我的 PC 上打开所有端口(通过使用 DMZ)并且它现在可以工作,但这可能不是要走的路。
    • 您使用哪种防火墙?打开 Windows 服务器的所有端口似乎有点……对我来说有风险!
    猜你喜欢
    • 2016-06-24
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 2011-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多