usr-local-ΕΨΗΕΛΩΝ Asked: 2012-10-19 09:04:40 +0800 CST2012-10-19 09:04:40 +0800 CST 2012-10-19 09:04:40 +0800 CST 使用 vsftpd-linux 在 Azure 虚拟机中运行被动 FTP 772 如何在 Azure Linux 虚拟机上运行被动 FTP 服务器? 在 Azure 防火墙和 PASV 端口上配置端点是不够的,因为客户端挂在“进入被动模式” ftp 1 个回答 Voted Best Answer usr-local-ΕΨΗΕΛΩΝ 2012-10-19T09:04:40+08:002012-10-19T09:04:40+08:00 目前,不可能像在专用服务器上那样流畅地运行被动 FTP,原因有二:一个是 Azure 目前只允许你为每个服务器打开 25 个端点(如果我错了请纠正我),另一个是 Azure 使用的 LAN<-> 虚拟 IP 连接。让我们一一解决问题。 Azure 目前实现了一个 NAT/防火墙/负载均衡器,将流量从外部虚拟 IP 转发到内部网络地址(10.0.0.0/8类)。如果你ifconfig在你的虚拟机上运行,你就会发现我在说什么。一个端点是为 SSH 保留的,我不相信你真的想禁用它。因此,如果另一个端点保留到端口 21,您只能使用 23 个 PASV 端口(只要您不托管任何其他服务),严格限制可以同时连接的客户端数量。一旦你接受了这一点,让我们继续。 如果您打开端口 25003-25006(一一),您可以使用以下配置启用它们 pasv_enable=YES pasv_min_port=25003 pasv_max_port=25006 vsftpd和任何其他 FTP 服务器发出PASV基本上说“连接到端口 AA 上的 XYWZ”的命令。任何 FTP 服务器都应该读取机器的配置以获取网络地址:这就是为什么 vsftp 基本上说“连接到端口 25003 上的 10.XYZ”,然后,为什么客户端挂起! 使用以下命令告诉 vsftpd 使用不同的外部地址 pasv_addr_resolve=YES pasv_address=dom.cloudapp.net 经过测试、工作并与社区分享! 注意:只要客户端不在防火墙或长城后面,活动 FTP 就会工作,SFTP 是 FTP 的最佳替代方案,但不幸的是,许多遗留应用程序不支持它。
目前,不可能像在专用服务器上那样流畅地运行被动 FTP,原因有二:一个是 Azure 目前只允许你为每个服务器打开 25 个端点(如果我错了请纠正我),另一个是 Azure 使用的 LAN<-> 虚拟 IP 连接。让我们一一解决问题。
Azure 目前实现了一个 NAT/防火墙/负载均衡器,将流量从外部虚拟 IP 转发到内部网络地址(
10.0.0.0/8
类)。如果你ifconfig
在你的虚拟机上运行,你就会发现我在说什么。一个端点是为 SSH 保留的,我不相信你真的想禁用它。因此,如果另一个端点保留到端口 21,您只能使用 23 个 PASV 端口(只要您不托管任何其他服务),严格限制可以同时连接的客户端数量。一旦你接受了这一点,让我们继续。如果您打开端口 25003-25006(一一),您可以使用以下配置启用它们
vsftpd
和任何其他 FTP 服务器发出PASV
基本上说“连接到端口 AA 上的 XYWZ”的命令。任何 FTP 服务器都应该读取机器的配置以获取网络地址:这就是为什么 vsftp 基本上说“连接到端口 25003 上的 10.XYZ”,然后,为什么客户端挂起!使用以下命令告诉 vsftpd 使用不同的外部地址
经过测试、工作并与社区分享!
注意:只要客户端不在防火墙或长城后面,活动 FTP 就会工作,SFTP 是 FTP 的最佳替代方案,但不幸的是,许多遗留应用程序不支持它。