注意:我们使用的是ftp://222.222.222.222(此IP是虚拟内网ftp服务器映射的公网IP),提示如下错误:ftp服务器上的文件夹有错误。请检查您是否有权访问该文件夹。在解决此问题之前,请阅读以下内容:
FTP连接一般有两种连接,一种是客户端和服务器传输命令,一种是数据传输。FTP服务程序一般支持两种不同的模式,一种是端口模式,一种是被动模式。我先说一下两种连接方式的区别。
假设客户端是C,服务器是s .
端口模式:
当客户端C连接到服务器S并使用端口模式时,那么客户端C会发送一个命令告诉服务器S(客户端C已经在本地打开了一个端口N,正在等待你进行数据连接)。当服务器S收到这个port命令时,就会连接到客户端打开的端口N,这个数据连接就产生了。
Pasv模式:
当客户端C连接到服务器S时,服务器S会向客户端C发送一条消息,这条消息是(服务器S在本地打开了一个端口M,现在请连接到我这里)。客户端C收到该消息后,可以连接到服务器S的端口m,连接成功后,数据连接也建立了。
从上面的解释可以看出,两种模式的主要区别在于数据连接建立的不同。对于端口模式,客户端C在本地打开一个端口,等待服务器S连接建立数据连接;Pasv模式意味着服务器s打开一个端口,等待客户端c建立数据连接。
FTP需要两个端口,一个端口作为控制连接端口,也就是21端口,用来向服务器发送指令,等待服务器响应;另一个端口是数据传输端口,端口号为20(仅端口模式),用于建立数据传输通道,主要有三个功能。
从客户端向服务器发送文件。
从服务器向客户发送文件。
从服务器向客户发送文件或目录列表。
如果想在ie中开启PASV模式,请打开ie,在菜单中选择:工具-互联网选项-高级,勾选“使用被动ftp”(需要IE6.0以上版本支持)。
如果你不想在ie中启用PASV模式,修改选项IE-工具-互联网选项-高级-'使用被动FTP '并去掉勾号。
所有FTP服务器软件都支持端口模式。大多数FTP服务器软件支持端口模式和PASV模式。默认配置以两种方式支持Serv-U。要关闭PASV模式,请打开Serv-U,输入domains-user . DNS 0755 . net-settings-advanced,去掉“允许被动模式数据传输”前面的勾
在Serv-U的本地服务器-设置-高级-PASV端口范围中,填写用于PASV模式的本地端口范围,如60000-60020。请将端口范围限制为20。之后在防火墙里打开这个范围内的端口就可以了。