转载:http://www.cnblogs.com/redhatlinux/archive/2012/04/03/2431453.html
linux服务器开启防火墙,常规设置在防火墙配置文件中添加21端口, FTP服务器通过port能够访问,pasv不能访问。而客户端一般是采用pasv方式连接。解决方法如下:
首先要了解概念;
FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。
PORT 和 PASV的简单区别如下:
Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到 Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTP server不再需要建立一个新的和客户端之间的连接。
因为IE浏览器默认使用的是Passive(被动)模式,所以要连接Linux服务器大于1024端口,而防火墙并没有开发1024以上的端口,导致登录ftp服务器被防火墙阻止。
vsftp:
修改vsftpd.conf配置文件让它支持Passive(被动)模式
#vim /etc/vsftpd/vsftpd.conf
在最后一行添加如下内容:
pasv_min_port=10050 (设置被动模式的端口范围)
pasv_max_port=10060(设置被动模式的端口范围)
pureftp:
vi pure-ftpd.conf
# 被动连接响应的端口范围。- for firewalling.
# PassivePortRange 10050 10060
在防火墙配置文件iptables中添加端口
#vim /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10050:100060 -j ACCEPT
重启服务使其生效
#service vsftpd rstart
#service iptables restart
分享到:
相关推荐
绍开启LINUX防火墙后,FTP PASV不能正常登录问题
构建了一个ftp服务器,通过命令ftp可登录,登录后,无法下载,上传,ls也无法执行。 通过 passive 开启和关闭 PASV模式,再ls 也是同样的问题, # 主动模式 $ pftp -v -A -d 211.159.185.xxx Connected to 211...
vsftp的含义就是Very Security Ftp,下面就简要的说一下它的配置和使用方法,通过本文的介绍也希望您能了解在Linux下配置一个网络服务的基本过程 1.相关配置文件 /etc/vsftpd.conf,vsftpd.ftpuser,vsftpd.user_...
userlist_enable=YES /*用户列表中的用户不能登录FTP*/ #userlist_file=/etc/vsftpd/user_list listen=YES /*监听模式*/ tcp_wrappers=YES 说明:默认配置文件就已经能够实现匿名用户对/var/ftp文件内容的下载,...
处理防火墙和其他网络连接问题时最常见的一个难题是主动FTP与被动FTP的区别以及如何完美地支持它们。幸运地是,本文能够帮助你清除在防火墙环境中如何支持FTP这个问题上的一些混乱。
不过,这样设计不能在基于过滤的防火墙中以包的形式很好地工作,一般情况下还不允许调用任意的端口号。 从另一方面来讲,如果客户端使用PASV指令,数据信道在穿过防火墙时会变为外部调用。这样的调用更容易掌握,...
改正了原Class不能正常运行Linux系Ftp的BUG 可能实行PortMode数据传送 加强了接口. 调用参照' curFtpClent = new FtpClient(); //HostURL curFtpClent.HostUrl = this._NfitsConfigDataCopy.DownloadURI; ...
Centos 8 FTP服务器完美配置方案,实现多虚拟用户FTP连接,同时解决FTP PORT和PASV模式下,存在的问题。
N年前写的FTP客户端,练习程序,支持常用命令,支持PASV与PORT模式 对应的服务器端为: http://download.csdn.net/source/2724443
以前写来练手的linux下的ftp服务器,C语言实现的,支持PORT和PASV模式,主要还是支持下载及部分ftp标准指令。可编译和可运行,代码比较简单和清晰,可帮助理解ftp协议。 如果去看
IIS下FTP服务器的PASV端口范围修改方法
实现ftp上传下载,支持PORT和PASV两种模式
ftp服务器的主要功能是上传下载文件以达到数据共享的目的。各种命令都大部分已经实现,STOR RETR REST, APPE PORT PASV RNFR,RNTO LIST CWD或XCWD NLST DELE 等等
userlist_enable=YES /*用户列表中的用户不能登录FTP*/ #userlist_file=/etc/vsftpd/user_list listen=YES /*监听模式*/ tcp_wrappers=YES 说明:默认配置文件就已经能够实现匿名用户对/var/ftp文件内容的下载,以及...
设置FTP 的实际目录必须在目录后加上“/”符号,否则 pure-ftpd 会为每个 FTP 用户自动在/根目录下建立名为“ftproot 用户名”的主目录。 $obj_db=new db("localhost","root","mypasswd","pureftp"); 第4步,修改...
在安装完成后,很多人会遇到问题,例如FTP服务器进不去,FTP服务器不能正常使用,提示PASV模式失败等,主要原因是防火墙挡住了PASV的端口,需要采取以下措施来解决。 [root@ master ~]#vi /etc/vsftpd/vsftpd.conf ...
IIS FTP里的PASV模式下默认端口范围 1024 - 65535,连接时会从中随机选择到响应。如果该值未指定,或被设置成空字符串,则将使用 Winsock 指定的默认值 1025-5000
我自己的毕业设计作品,比较初级的东西,但是实现了上下传文件,目录管理相关的一些操作.仅供新手参考.实现的命令有USER PASS QUIT PASV TYPE PWD CWD LIST RETR STOR
运行FTP服务的许多站点都开放匿名服务,在这种设置下,用户不需要帐号就可以登录服务器,默认情况下,匿名用户的用户名是:“anonymous”。这个帐号不需要密码,虽然通常要求输入用户的邮件地址作为认证密码,但这...
FTP服务器Port和Pasv模式释义.pdf