工作中需要建设一个FTP 服务器 用于下属分支数据库的压缩上传备份,所以用Windows 2008R2的IIS7搭建了一个FTP服务器,分别创建账号,进行FTP用户区分,但在外网防火墙设置时发现外网FTP访问不成功,21端口虽然成功映射,但数据端口也要单独设置好映射关系,否则链接不成功。
FTP的防火墙支持这里一直是灰色,无法直接修改,如果全部端口在防火墙上开通,那还要防火墙开嘛。
在百度在找了很多类似的问题,但基本都没有给出答案,或者答案是针对Server2003之前的方案,不适合Win2018之后的方案。
因此用BING在英文搜索引擎去查,终于在微软的论坛中有人提到下面的方法,试过可行,因此记录下来,希望对其它人有帮助。
%windir%\system32\inetsrv\appcmd.exe set config -section:system.ftpServer/firewallSupport /lowDataChannelPort:"XXXX" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config -section:system.ftpServer/firewallSupport /highDataChannelPort:"XXXX" /commit:apphost
接下来,在防火墙,将相应的端口映射到内网的服务器IP即可。