解决iptables和vsftpd设置的问题 博客分类: linux/centos/ubuntu 防火墙J#工做 解决iptables和vsftpd设置的问题 修改 vi /etc/sysconfig/iptables-config IPTABLES_MODULES="ip_conntrack_ftp" iptables -P INPUT DROP iptables -A INPUT -p tcp --dport 20 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT service iptables save service iptables restart 附件 FTP两种方式的工做原理: Port模式 FTP 客户端首先动态的选择一个端口(通常是1024以上的)和FTP服务器的TCP 21端口创建链接,经过这个通道发送命令,客户端须要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端经过本身的TCP 20端口链接至客户端的指定端口发送数据。 FTP server必须和客户端创建一个新的链接用来传送数据。 Passive模式 在创建控制通道的时候和Standard模式相似,但创建链接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)而且通知客户端在这个端口上传送数据的请求,客户端链接FTP服务器此端口,而后FTP服务器将经过这个端口进行数据的传送,这个时候FTP server再也不须要创建一个新的和客户端之间的链接。 不少防火墙在设置的时候都是不容许接受外部发起的链接的,因此许多位于防火墙后或内网的FTP服务器不支持PASV模式,由于客户端没法穿过防火墙打开FTP服务器的高端端口;而许多内网的客户端不能用PORT模式登录FTP服务器,由于从服务器的TCP 20没法和内部网络的客户端创建一个新的链接,形成没法工做