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

我可以从本地机器访问FTP站点,但没有问题,但是它从远程机器中超时。

如果我完全closures防火墙,它就可以工作。 显然,这不是一个令人满意的解决scheme。

我试图按照这些步骤 ,但现在利用。

在我的远程机器上,我使用Filezilla作为FTP客户端。 以下是我尝试访问该网站时输出的内容。 正如你所看到的,它pipe理连接和身份validation,但试图列出目录超时。

有人可以告诉我,我应该看看下一个?

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 

我终于搞定了,但是我学到了一些东西:

  • IIS将允许您configurationFTP服务器将用于被动模式的端口。 但是,对我来说,这不会影响,直到我重新启动名为“Microsoft FTP服务”

  • 当我查看入站防火墙规则时,我看到了三个预configuration的规则:

    • FTP服务器(FTPstream量input)
    • 被动FTP服务器(FTP被动stream量input)
    • FTP服务器安全(FTP SSLstream量)

这些规则看起来就像我所需要的。 但由于某种原因,他们实际上没有做任何事情。 当我创build我的OWN规则指定完全相同的东西,它的工作。 (显然,我不是第一个遇到这个问题,看到这个post 。) 稍后编辑 :阅读下面的评论,看来我错了这些规则不起作用。 您只需要启用它们并重新启动Microsoft FTP服务

我在全新安装的Server 2012上遇到同样的问题,但必须重新启动Windows FireWall服务才能使其正常工作。

您可能要尝试禁用禁用有状态FTP筛选:

netsh advfirewall设置全局StatefulFTP禁用

并确保之后重新启动FTP服务

(另见: http : //blog.nenoloje.com/2013/01/ftp-service-for-iis-client-connection.html )

创build一个新的防火墙规则。 select程序选项。 select这个程序path。 将%systemroot%\ system32 \ svchost.exe粘贴到path中。 接受警告消息。 允许所有的连接,给名称。 打开/closures防火墙。 完成。