我想通过互联网访问我的 ftp 服务器。我在 Debian 上运行它,我将端口更改为 201,我的本地 IP 是192.168.1.3
。
我可以通过 在我的网络上的任何计算机访问它ftp://192.168.1.3:201
。我看到登录页面,使用我的 Linux 用户帐户登录并可以看到我的文件。
为了公开它,我在路由器上为端口 201 设置了端口映射。但是现在,当我尝试时ftp://mypublicip:201
,它会显示登录页面,但是当我输入登录名时,它会一直加载而不显示我的文件。
奇怪的是,当我通过默认端口(21)运行它时,它运行正常。
谁能告诉我这里的问题是什么?
答案1
首先,不要使用 ftp。它不安全而且非常糟糕(谁需要 30 个端口来传输文件?)您看到的问题很可能是由于 ftp 使用多个端口。一个用于连接,第二个(或第三个、第四个等)用于数据传输。这包括文件列表的传输。
另一种可能性是浏览器正在删除端口引用。Internet Explorer 在这方面确实很坏。登录后,它会多次将 URL 从 重命名ftp://user:pass@host
为 just ftp://host
,然后由于 URL 不再指定名称或密码,因此会尝试匿名登录。端口也可能会发生同样的情况,但我不知道您使用的浏览器是否也存在这种可能性。
我的建议是首先不要使用 FTP。使用 ssh。它是加密的。FTP 会以纯文本形式通过公共互联网发送您的密码,仅供参考。出于其他原因,我推荐以下 URL。