如何通过互联网访问我的 ftp 服务器?

如何通过互联网访问我的 ftp 服务器?

我在 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 打开二进制模式数据连接。 // 此后超时

Azure 入站规则

防火墙入站规则

FTP 站点绑定

答案1

虽然 Windows 防火墙似乎允许所有需要的流量,但我们还需要在防火墙上启用状态 FTP 过滤:

netsh advfirewall set global StatefulFtp enable

然后重新启动 FTP Windows 服务,我们就应该启动并运行了:

net stop ftpsvc
net start ftpsvc

在此处输入图片描述

答案2

您必须将路由器上的端口 20-21 转发到服务器。然后,您将能够通过 IP 或域名通过互联网访问 FTP。

更新:似乎正在起作用...... 测试

相关内容