我刚刚在 Windows Server 2012 R2 计算机上的 IIS 8.5 中设置了一个 FTP 服务器。
使用 FileZilla 时,当我尝试使用我的用户名和密码在端口 21 上连接到本地 IP(10.0.0.4)时,它可以正常连接,但是当我尝试连接到外部 IP 时,我收到此错误
服务器发送了带有不可路由地址的被动回复。改用服务器地址
以下是完整日志
Status: Disconnected from server
Status: Connecting to 191.23x.xx.111:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Connected
Status: Retrieving directory listing...
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 after 20 seconds of inactivity
Error: Failed to retrieve directory listing
Status: Disconnected from server
Status: Connecting to 191.23x.xx.111:21...
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Connected
Status: Retrieving directory listing...
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 after 20 seconds of inactivity
Error: Failed to retrieve directory listing
它挂在哪里
服务器发送了带有不可路由地址的被动回复。请改用服务器地址。
一段时间后就会失效
答案1
您需要设置服务器的外部 IP 以使被动模式工作。
在IIS中:(第5步为被动模式,其他为主动模式)
如何配置 FTP 服务的全局防火墙设置
1.打开 Internet 信息服务(IIS)管理器:
•如果您使用的是 Windows Server 2012 或 Windows Server 2012 R2:
•在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“Internet 信息服务 (IIS) 管理器”。
2.在“连接”窗格中,单击服务器名称。
3.在主页窗格中,双击 FTP 防火墙支持功能。
4.在数据通道端口范围框中,使用以下选项之一输入被动数据通道连接的端口范围:
•使用 [低端口]-[高端口] 作为端口范围,其中每个端口必须介于 1025 和 65535 之间。例如,5000-6000。
•使用“0-0”配置 FTP 服务器以使用 Windows TCP/IP 临时端口范围。
5.在防火墙的外部 IP 地址框中,键入防火墙面向 Internet 的网络适配器的 IPv4 地址。
6.在操作窗格中,单击应用。
如果没有的话,您需要激活 FTP 扩展。
Windows Server 2012 或 Windows Server 2012 R2
1.在任务栏上,单击“服务器管理器”。
2.在服务器管理器中,单击管理菜单,然后单击添加角色和功能。
3.在添加角色和功能向导中,单击下一步。选择安装类型,然后单击下一步。选择目标服务器,然后单击下一步。
4.在服务器角色页面上,展开Web 服务器(IIS),然后选择FTP 服务器。
注意:要支持 FTP 服务的 ASP.Membership 身份验证或 IIS 管理器身份验证,除了 FTP 服务之外,您还需要选择 FTP 扩展性。
5.单击“下一步”,然后在“选择功能”页面上再次单击“下一步”。
6.在确认安装选择页面上,单击安装。
7.在结果页面上,单击关闭。
答案2
- 如果你使用 vsftpd,请设置
pasv_min_port=21000
pasv_max_port=21999
在 vsftpd.conf 文件中。
- 在您的 VPS/云提供商的网络控制台面板中打开该端口范围。
这解决了我的同样的错误。