ftp分为被动模式和主动模式,主动模式需要客户机防火墙配置,不方便。被动模式需要配置服务器。Win10上配置ftps时,需要填写外部ip地址,并且唯一。于是外网和内网不能同时使用ftp服务。解决办法时开两个ftps,对内的一个开21端口,以免访问时输入到端口号。对外的开2121端口,配合frp转换成vps的21端口。

环境: windows server 2012R2 

FTPclient  FileZilla 3.7.3

 

windows server 2012服务器搭建完毕后默认为主动式   (测试发现 windows 10搭建完毕默认为被动式)

由于开发人员所做视频推流不支持主动式  故需要更改为被动式

主动式: 有客户端N端口发起 连接到服务器端 21端口    传输数据时 由服务器端20端口连接到客户端n+1端口       传输数据时服务器主动连接客户端

被动式: 有客户端n端口发起 连接到服务器端 21端口      传输数据时  服务器端打开随机高位X端口 通知客户端  客户端通过n+1端口连接X端口  传输数据时 服务器等待客户端连接

 

主动式有利于服务器端管理 但是可能会被客户端防火墙拦截

被动式由于数据传输由客户端发起出 所有不会被客户端防火墙拦截  但是不利于服务器管理

 

使用windows server搭建完毕   双击FTP防火墙

填写端口和IP即可   例如填写5000-5100,即为允许100个被动连接 (此时可能为灰色需要开通防火墙)

 

 

如果端口位置为灰色,需执行以下命令添加防火墙策略 允许ftp

netsh advfirewall firewall  add rule name="FTP Service" action=allow service=ftpsvc protocol=TCP dir=in

netsh advfirewall   firewall set global StatefulFTP disable

添加完毕再看端口可以输入数值

 

 

 

输入数值 和外部连接的IP地址  点击应用

 

此时再次使用被动式连接 即可成功连接

 

 

 

 

 

按: 测试发现关闭防火墙无效,填写被动式端口依然为灰色. 必须添加2条命令

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐