1.查看系统版本
[root@Apache vsftpd]# lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.5 (Final)
Release: 6.5
Codename: Final
[root@Apache vsftpd]#
2. 由于FTP采用的是被动方式传输,所以使用的端口是随机的, 造成iptable 无法打开指定的端口 所以我们需要把FTP使用的端口限定在一定范围内。
方法如下: 编辑/etc/vsftpd/vsftpd.conf在文件后面添加如下代码:
pasv_enable=YES //使用被动模式,等待客户端连接
pasv_min_port=60001
pasv_max_port=60010
然后保存,wq 重启vsftp
[root@Apache vsftpd]# service vsftpd restart
3. 编辑iptable的配置文件
[root@Apache vsftpd]# vim /etc/sysconfig/iptables
添加如下代码,开放端口60001~60010
-A INPUT -m state --state NEW -m tcp -p tcp --dport 60001:60010 -j ACCEPT
同时要将默认的FTP,21要端口添加到放行端口的列表
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 60001:60010 -j ACCEPT //开放端口60001到60010
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT //开放21端口
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
4.重启iptables
[root@Apache vsftpd]# service iptables restart