防火墙阻止 Windows 2008 R2 上的 FTP 服务器

防火墙阻止 Windows 2008 R2 上的 FTP 服务器

我可以从本地机器顺利访问 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 粘贴到路径中。接受警告消息。允许所有连接,给出名称。关闭/打开防火墙。完成。

相关内容