设置:Server 2008 R2 Enterprise,带有 IIS 7.5 Home 连接和动态外部 IP
目标:加密被动 ftp 服务器,集成 AD,无需客户端调整(确保在客户端中使用 ftpes)
问题:我正在使用动态外部 IP 运行家庭连接,而防火墙显然出了问题
发生了什么:它间歇性地工作(经常出现故障)控制端口似乎工作正常,但数据端口却不行,因为它可以联系身份验证,并且一直到它应该拉虚拟目录的地步
FileZilla 控制台的转储如下(识别信息已被编辑):
状态:正在解析 xxxxx.dyndns.org 的地址
状态:连接到 123.123.123.123:21...
状态:连接已建立,正在等待欢迎消息……
响应:220 Microsoft FTP 服务
命令:AUTH TLS
响应:234 AUTH 命令成功。期待 TLS 协商。
状态:正在初始化 TLS……
状态:正在验证证书...
命令:USER toherhead
状态:TLS/SSL 连接已建立。
响应:331 toherhead 需要密码。
命令:PASS ********
响应:230-[[欢迎信息通常在这里]] 站点 222222
响应:目录有 624,490,864,640 字节可用磁盘空间。
响应:230 用户已登录。
命令:SYST
响应:215 Windows_NT
命令:FEAT
响应:211-支持的扩展功能:
回复:LANG EN*
响应:UTF8
响应:AUTH TLS;TLS-C;SSL;TLS-P;
回应:PBSZ
响应:PROT C;P;
回应:CCC
响应:主持人
响应:尺寸
回应:MDTM
响应:休息流
响应:211 结束
命令:OPTS UTF8 ON
响应:200 OPTS UTF8 命令成功 - UTF8 编码现已开启。
命令:PBSZ 0
响应:200 PBSZ 命令成功。
命令:PROT P
响应:200 PROT 命令成功。
状态:已连接
状态:正在检索目录列表...
命令:PWD
响应:257“/”是当前目录。
命令:TYPE I
响应:200 类型设置为 I。
命令:PASV
响应:227 进入被动模式 (123,123,123,123,253,199)。
命令:LIST
响应:150 打开二进制模式数据连接。
错误:GnuTLS 错误 -53:推送功能错误。
答案1
您的防火墙很有可能通过监视控制连接(基本上就是您上面粘贴的内容)并动态打开端口来支持 FTP,以便建立数据连接(其中显示:“150 打开二进制模式数据连接。”)。
您已加密控制连接。防火墙无法看到内部情况并执行此操作。
您要做的就是编辑防火墙以允许一定范围的端口(具体数量取决于您拥有的客户端数量)进入(或离开,如果您允许“主动”PORT 命令而不是 PASV 或除 PASV 之外还允许)。然后您需要将 FTP 服务器配置为仅使用这些端口。
这很难/很烦人,但我见过它至少在一个安全的 FTP 服务器上工作