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地址 点击应用
此时再次使用被动式连接 即可成功连接