Windows FTP搭建时所遇到的常见问题

前言:

最近在windows下搭建FTP服务的时候遇到了很多的问题。其中最大的是2个问题一是FileZilla客户端无法正常使用;二是命令行模式下无法正常使用。

如何搭建FTP服务

FTP的搭建在网上有很多的帖子,自己去找吧!在这里我只贴一个官方的搭建链接:在IIS上构建FTP站点

问题清单


问题1:必须要开放所有的1-65535的TCP端口,FTP服务才能正常使用。

问题详细描述:
Windows FTP搭建时所遇到的常见问题
Windows FTP搭建时所遇到的常见问题
通过,上面的2张图。我们可以看到,FTP指令端口我使用的是8006端口,被动模式的端口范围是9000-9500。接下来,我在我的服务器上也放开了相应的端口。同时,在我的云主机控制台,也放开了相应的端口。讲道理在这个时候,我的FTP服务它应该就是可以正常使用的了。
FileZilla给到的错误信息
Windows FTP搭建时所遇到的常见问题
解决方案:这是,因为在windows下FTP被动模式下数据传输默认使用的端口是服务器的临时端口。而当前,服务器临时端口范围是:49152-65535。所以,你的防火墙需要放开这个范围的端口。

或者自定义这个临时端口范围到你指定的端口范围。需要注意的是:可以设置的最小端口范围为255。 可以设置的最小起始端口为1025。 最大结束端口(基于配置的范围)不能超过65535。

查看端口范围:netsh int ipv4 show dynamicport tcp
netsh int ipv4 set dynamicport tcp start = 9000 num = 500

参考资料:

自 Windows Vista 和 Windows Server 2008 以来,TCP/IP 的默认动态端口范围已更改
https://support.microsoft.com/zh-cn/help/929851/the-default-dynamic-port-range-for-tcp-ip-has-changed-in-windows-vista


问题2:使用FileZilla客户端FTP正常,但是在命令模式下FTP就不行了。

命令行模式下FTP貌似只能使用,默认的20和21端口。同时,需要注意的是他是使用的明文模式,也就是说别个通过抓包工具,能够很清楚的看到你的用户名和密码等相关信息。

我目前,并没有找到不使用默认端口的方法。