开启LINUX防火墙后,FTP PASV不能正常登录问题
来源:互联网 发布:网页棋牌游戏源码网 编辑:程序博客网 时间:2024/05/16 00:28
开启LINUX防火墙后,FTP PASV不能正常登录问题
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
0 0
- 开启LINUX防火墙后,FTP PASV不能正常登录问题
- 开启LINUX防火墙后,FTP PASV不能正常登录问题
- 集成shiro后,登录页面样式不能正常显示问题
- linux开启ftp服务后root用户无权限登录处理
- vsftpd-ftp 正常登录后,出现500 OOPS: cap_set_proc
- thinkphp 解决tp开启子域名配置后tp自带的分页类不能正常使用问题
- ftp可以正常登录,但登录后执行ftp命令没有响应
- linux关闭防火墙&开启防火墙
- ftp自动登录,脚本正确,不能登录的问题
- linux 开启 telnet和ftp 并实现root帐号登录
- 搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法
- 搭建windows server 2008 r2 FTP 后 开启防火墙无法访问的解决办法
- 开启关闭Linux防火墙
- 开启关闭Linux防火墙
- linux--开启关闭防火墙
- linux防火墙开启关闭
- linux防火墙关闭开启
- linux防火墙关闭开启
- Java线程(三):线程协作-生产者/消费者问题
- HMM--hidden markov model
- SVN服务器搭建和使用(一)
- 1:jdbc 连接数据库基础
- RESTful API 设计最佳实践
- 开启LINUX防火墙后,FTP PASV不能正常登录问题
- java操作NoSQL数据库mongodb
- 关于PJSIP 添加视频的思路和想法
- Java线程(八):锁对象Lock-同步问题更完美的处理方式
- quick-cocos2d-x教程10:实现血条效果。
- SQLite在Android打开错误
- main函数的三个参数
- POJ2442 Sequence【k小堆问题】
- Java线程(九):Condition-线程通信更高效的方式