1.vsftp登录报错:227 Entering Passive Mod 服务器上装了vsftp,由于做了iptables限制,文件不能传到ftp服务器上,查看路由都是好的,就登录看下。
2.原因和解决办法 原因是FTP主动模式造成的。客户端连接ftp的时候默认是被动模式,要把ftp服务器模式改为被动。 #将vsftpd的模式修改为被动模式,添加下面三行到配置文件,重启vsftp服务 pasv_enable=YES pasv_min_port=30000 pasv_max_port=30999
防火墙允许客户端210.21.18.205访问 /sbin/iptables -A INPUT -p tcp -s 210.21.18.205 --dport 5021 -i eth3 -j ACCEPT /sbin/iptables -A INPUT -p tcp -s 210.21.18.205 --dport 30000:30999 -i eth3 -j ACCEPT
3.原理:FTP的传输模式 FTP协议的数据传输存在两种模式:主动模式和被动模式。
这两种模式发起连接的方向截然相反,主动模式是从服务器端向客户端发起;被动模式是客户端向服务器端发起连接。
但是如果服务器和客户之间存在防火墙,主动模式经常会引起一些麻烦。设想,客户位于防火墙之后,防火墙允许所有内部向外部的连接通过,但是对于外部向内部发起的连接却存在很多限制。在这种情况下,客户可以正常地和服务器建立控制连接,而如果使用主动模式,ls、put和get等数据传输命令就很难成功运行,因为防火墙会阻塞从服务器向客户发起的数据传输连接。简单包过滤防火墙把控制连接和数据传输连接完全分离开了,因此很难通过配置防火墙允许主动模式的FTP数据传输连接通过。如果防火墙允许ICMP或者TCP RST报文通过,客户程序就会马上返回connection refused错误信息;而如果防火墙只是做简单的丢弃处理,会造成客户程序挂起一段时间。 |