我在 Azure VM 上运行 Windows Server 2016,并尝试在其上运行 ftp。FTP 角色已安装,防火墙和 Azure 门户中的端口 21 和 20 已打开。但端口 20 似乎仍未打开,因为端口扫描器超时。我的防火墙日志未显示该尝试,因此我猜它在 AZure 的某个地方被阻止了,但我的端口 20 肯定已打开(入站。我必须对出站进行任何操作吗?)。我还在 Azure 中打开了端口 7000-7014(Windows 防火墙具有预定义的 FTS 被动数据规则,范围为 1024-65535,因此我在这里没有添加任何内容),并将它们放在 IIS 的“FTP 防火墙支持”项中,并输入我的 VM 的外部 IP。
去的时候ftp://本地主机在我的虚拟机中,我使用我在 IIS 中授权的用户登录,一切正常。当通过互联网上的 DNS 名称访问它时,我尝试使用我的凭据登录,但出现超时。我尝试了用户名、\username、myPC\username、|username,它们都出现同样的情况。连接确实通过 cli 在互联网上工作,使用 ftp myDNSname -> |username -> password。
编辑:我确实搜索了互联网,然后搜索了 stackexchange,但没有找到任何可以解释这里出了什么问题的东西。所以我转向你,希望你能帮助我。
编辑:图片显示当前状态。
另一项编辑:来自 FileZilla 的日志:PWD 257“/”是当前目录。 TYPE I 200 类型设置为 I。PASV 227 进入被动模式 (13,95,157,108,225,30)。 LIST 无法连接的数据连接:ENETUNREACH - 无法连接网络// 它说网络不可达 150 打开二进制模式数据连接。 // 此后超时
答案1
答案2
您必须将路由器上的端口 20-21 转发到服务器。然后,您将能够通过 IP 或域名通过互联网访问 FTP。
更新:似乎正在起作用...... 测试