我可以从本地机器顺利访问 FTP 站点,但是从远程机器访问时会超时。
如果我完全关闭防火墙,它就会起作用。显然,这不是一个令人满意的解决方案。
我尝试跟随这些步骤,但现在无济于事。
在我的远程计算机上,我使用 Filezilla 作为 FTP 客户端。以下是我尝试访问该站点时它给出的输出。如您所见,它成功连接并进行了身份验证,但尝试列出目录时超时。
有人能告诉我下一步应该去哪里看吗?
Status: Connecting to 192.168.15.12:21...
Status: Connection established, waiting for welcome message...
Response: 220 Microsoft FTP Service
Command: USER CMSDEVELOPMENT\CMSdev
Response: 331 Password required for CMSDEVELOPMENT\CMSdev.
Command: PASS ******
Response: 230-Directory has 71,805,415,424 bytes of disk space available.
Response: 230 User logged in.
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,15,12,192,160).
Command: LIST
Response: 150 Opening BINARY mode data connection.
Error: Connection timed out
Error: Failed to retrieve directory listing
查看防火墙日志,我看到以下条目:
2012-04-23 14:44:54 DROP TCP 192.168.15.90 192.168.15.12 55743 49342 52 S 650301735 0 65535 - - - RECEIVE
2012-04-23 14:44:57 DROP TCP 192.168.15.90 192.168.15.12 55743 49342 52 S 650301735 0 65535 - - - RECEIVE
2012-04-23 14:45:03 DROP TCP 192.168.15.90 192.168.15.12 55743 49342 48 S 650301735 0 65535 - - - RECEIVE
答案1
我终于让它工作了,但我学到了一些东西:
IIS 允许您配置 FTP 服务器用于被动模式的端口。但对我来说,这直到我重新启动名为“Microsoft FTP Service”的服务后才会生效
当我查看入站防火墙规则时,我看到了三条预配置的规则:
- FTP 服务器 (FTP 流量输入)
- FTP 服务器被动(FTP 被动流量输入)
- FTP 服务器安全(FTP SSL 流量输入)
这些规则看起来正是我需要的。但出于某种原因,它们实际上什么也没做。当我创建自己的规则并指定完全相同的内容时,它就起作用了。(显然,我不是第一个遇到这个问题的人,请参阅这篇文章。
后期编辑:阅读下面的评论,看来我误以为这些规则不起作用。您只需启用它们并重新启动 Microsoft FTP 服务
答案2
我在全新安装的 Server 2012 上遇到了同样的问题,但必须重新启动 Windows 防火墙服务才能使其正常工作。
答案3
您可能想要尝试禁用禁用状态 FTP 过滤:
netsh advfirewall 设置全局 StatefulFTP 禁用
并确保随后重新启动 FTP 服务
(也可以看看:http://blog.nenoloje.com/2013/01/ftp-service-for-iis-client-connection.html)
答案4
创建新的防火墙规则。选择程序选项。选择此程序路径。将 %systemroot%\system32\svchost.exe 粘贴到路径中。接受警告消息。允许所有连接,给出名称。关闭/打开防火墙。完成。