允许 Windows Server 2012 上的 FTP 直通

允许 Windows Server 2012 上的 FTP 直通

我可以找到很多关于如何将 Windows 服务器配置为 FTP 服务器的资源,但对于这种情况我还没有弄清楚。

我想配置 Windows Server 2012 防火墙以允许从内部网计算机到外部 Web 服务器的 FTP 通信。因此,FTP 连接不是来自或到服务器。我以前可以这样做,但打开端口 20-21 似乎不起作用,我不记得以前是如何工作的。

那么,我还需要做什么才能让 Windows Server 2012 将 FTP 流量从互联网客户端传递到外部服务器?

答案1

为命令通道添加入站规则,并允许连接到端口 21,

netsh advfirewall firewall add rule name="FTP (non-SSL)" action=allowprotocol=TCP dir=in localport=21 

禁用状态 FTP 过滤,以便 Windows 防火墙不会阻止到被动端口范围的 FTP 流量

netsh advfirewall set global StatefulFtp disable 

RRAS 故障排除

  • 在RRAS服务器上启用WFP的审核:
  • auditpol /set /subcategory:"过滤平台数据包丢弃" /success:enable /failure:enable
  • auditpol /set /subcategory:"过滤平台连接" /success:enable /failure:enable
  • 重现该问题。
  • 运行命令 netsh wfp show state 获取.xml 文件。
  • 检查RRAS服务器的事件查看器,我们应该找到丢弃数据包的审计日志。
  • 找到过滤器的运行时 ID。然后在 .xml 文件中搜索该 ID,以查找哪条规则阻止了 FTP 流量

答案2

这似乎是路由远程访问的问题,而防火墙与此关系不大。至少与任何可配置区域无关。

最后我使用此主题,最后在 NAT 服务器上的命令提示符中输入以下内容:

netsh routing ip nat delete ftp

因此,我推测 NAT 服务器试图拦截 FTP 流量并将其路由到本地(或其他位置),但现在它不再这样做了。

相关内容