本文介绍在Azure虚拟机中搭建FTP遇到的passive问题及解决方法。

首先创建Windows VM及启用FTP服务,按正常流程添加FTP网站,不再赘述。

注意几点:

  • Windows防火墙中开放21端口
  • Azure网络安全组开放21端口
  • 创建Windows用户,赋予FTP目录的访问权限

遇到的问题是客户端连接时报错:Server sent passive reply with unroutable address 10.0.0.x, using host address instead.

解决步骤如下:

  • 配置FTP网站防火墙,设置Data Channel端口范围和外部IP地址

在IIS中点击左侧本机节点,打开FTP防火墙,如下图,不要在网站中点开,否则端口范围是灰色的

Azure passive FTP

填写端口范围和公网IP地址。

Azure passive FTP
  • Azure中配置网络安全组,入站规则添加上边的Data Channel端口范围
  • 重启FTP服务
net stop ftpsvc
net start ftpsvc

Windows防火墙中不用开放Data Channel端口范围

参考:https://blogs.msdn.microsoft.com/mast/2013/12/12/setting-up-a-passive-ftp-server-in-windows-azure-vm/