AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1431690
Accepted
nwalkewicz
nwalkewicz
Asked: 2019-05-02 00:28:55 +0800 CST2019-05-02 00:28:55 +0800 CST 2019-05-02 00:28:55 +0800 CST

如何在 IIS 7 中为外部 FTP 服务器使用多个端口号?

  • 772

所以我知道如何在 IIS 7 中设置基本的 FTP 服务器,但我对端口有点困惑。我相信我的桌面上有几个不同的 FTP 站点(每个站点都有自己的目录),每个站点也有自己的端口,例如:2100, :2101,:2102等。在我启动所有这些站点后不久,我开始运行成问题。当尝试连接到一个不是我默认的 :21 端口(导致C:\inetpub\wwwroot)时,它会给我一个错误提示:

An error occurred opening that folder on the FTP server.
Make sure you have permission to access that folder.

Details:
200 Type set to A.
227 Entering Passive Mode (192,168,0,114,243,202).

此错误仅在从外部网络连接时发生,而不是在内部与同一网络上的其他 PC 连接时发生。(尝试连接时它仍然给我同样的错误。)

这就是我现在的处境:我最近得到了一个 SSD 来替代我的旧 HDD,所以我再次安装了 Windows 并从头开始。同样的事情正在发生,这是我到目前为止收集到的:

  • Windows Defender 防火墙与它无关,因为我将其完全关闭但仍然出现错误
  • 当将外部端口更改为其他数字:21(例如:2121)时,我能够连接,所以我认为问题一定出在 IIS 中
  • 我的 FTP 客户端(无论是 Windows 文件资源管理器还是 Google Chrome)请求用户名和密码(这意味着它正在寻找连接而不是告诉我目标服务器不存在)

如果有人需要任何进一步的信息,请随时询问。

提前感谢您的任何回复!

windows-10 ftp
  • 1 1 个回答
  • 1288 Views

1 个回答

  • Voted
  1. Best Answer
    user1686
    2019-05-02T01:03:52+08:002019-05-02T01:03:52+08:00

    FTP 通过随机分配的端口上的专用 TCP 连接执行数据传输。(在主动模式下,服务器连接回客户端;在被动模式下,客户端连接到服务器;但一般机制保持不变。)

    请注意对 PASV(“进入被动模式”)的响应如何包括服务器的私有 IP 地址192,168,0,114以及端口号243,202(即 62410)。因为您的 FTP 服务器位于 NAT 路由器之后,客户端将无法建立数据连接,原因有二:

    1. 该地址是私有的,因此客户端无法访问。当然,客户端可以忽略这个地址并使用它已经知道的服务器的原始地址作为主要的“控制”连接(实际上许多 FTP 客户端出于安全原因这样做),但是......

    2. 你的路由器不知道到这个临时端口的连接应该被转发到 FTP 服务器,所以它只会丢弃导致超时的数据包。(即使不存在 NAT,这也会是防火墙的问题。)

    那么21端口和2100端口有什么区别呢?它不在您的 FTP 服务器中,而是在您的路由器中。

    当控制连接在标准 FTP 端口 21 上运行时,许多路由器实际上会查看连接内部,侦听通过它发送的 PORT/PASV 命令,并在每次客户端需要数据连接时动态添加临时端口转发规则。因此,只要您的路由器从端口 21 看到“227 Entering Passive Mode (192,168,0,114,243,202)”,它就会为 WAN:62410 → 192.168.0.114:62410 创建一个端口转发规则,并允许建立数据连接。

    除此之外,许多路由器实际上重写了 PORT/PASV 中的 IP 地址,将服务器的本地地址更改为路由器的 WAN 地址。因此,即使服务器发送“227 Entering Passive Mode (192,168,0,114,243,202)”,客户端也会神奇地收到“227 Entering Passive Mode (<WAN_IP>,243,202)”。

    所有这些都只在端口 21 上完成,因为路由器知道它正在查看 FTP 控制连接。它不能在所有端口上做同样的魔术,因为它可能会误解完全不相关的数据(例如,如果不是 HTTPS,它甚至可能会误检测该网页!)。当然,它仅在 FTP 控制连接本身未使用 TLS/SSL 加密时才有效。

    您可以做的三件事(如果您必须继续使用 FTP)是:

    1. 检查 IIS7 是否支持为入站 PASV 连接配置特定端口范围。在 IIS 中启用此选项并在路由器中创建永久端口转发规则。例如,您可以将 64000–64999 指定为 PASV 端口,然后将所有这些端口转发到您的 FTP 服务器。(您需要的端口数量取决于您计划有多少个并发传输,加上备件。希望您的路由器允许一次转发整个范围?)

      此方法的优点是它允许您使用 TLS/SSL 进行控制连接。它也是同一服务器上所有站点的一次性配置。(另一方面,您必须依赖使用正确 IP 地址的客户端,但实际上大多数客户端已经这样做了。)

    2. 或者,检查您的路由器是否支持在除 21 之外的其他端口上配置 FTP“ALG”(应用层网关)。如果支持,请将所有其他站点(:2100、:2101 等)标记为 FTP 端口。

    3. 如果两个选项都不起作用,您可以将 FTP 服务器设置为路由器上的“DMZ 主机”——这与选项 1 类似,但为所有协议上的所有端口配置端口转发。

    • 0

相关问题

  • VMware Workstation USB 仲裁服务无法自动启动

  • 如何在域和 Linux 活动目录中启用指纹传感器

  • 资源管理器侧面板中的桌面外壳快捷方式

  • 为什么我不能将文件从 Android 发送到 Windows 10?

  • 在多个文件上打开方式?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    Windows 10 服务称为 AarSvc_70f961。它是什么,我该如何禁用它?

    • 2 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Marko Smith

    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1056)

    • 4 个回答
  • Marko Smith

    我如何知道 Windows 安装在哪个驱动器上?

    • 6 个回答
  • Martin Hope
    Albin 支持结束后如何激活 WindowsXP? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch Windows 10 删除大量小文件的速度非常慢。有什么办法可以加快速度吗? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Ctrl+C 和 Ctrl+V 是如何工作的? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve