FTP支持两种模式,一种方式叫作Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。linux
主动模式下FTP 客户端首先和FTP服务器的TCP 21端口创建链接,经过这个通道发送命令,客户端须要接收数据的时候在这个通道上发送PORT命令,PORT命令包含了客户端用什么端口接收数据,在传送数据的时候,服务器端经过本身的TCP 20端口链接至客户端的指定端口发送数据。vim
被动模式(Passive)模式在创建控制通道的时候和Standard模式相似,但创建链接后发送的不是Port命令,而是Pasv命令,FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)而且通知客户端在这个端口上传送数据的请求,客户端链接FTP服务器此端口,而后FTP服务器将经过这个端口进行数据的传送,这个时候FTP server再也不须要创建一个新的和客户端之间的链接。服务器
由于大部分ftp客户端软件都是被动模式,因此就只介绍被动模式tcp
一、设置被动模式打开的配置文件ide
#vim /etc/vsftpd/vsftpd.conf
添加或修改如下内容spa
connect_from_port_10021=YES //这里的10021端口,你能够修改成你喜欢的 pasv_min_port= //设置被动模式最小端口数,能够不用那么大,但数值最好大些(至少也大于1024) pasv_max_port= //设置被动模式最大端口数
二、而后更改防火策略rest
#vim /etc/sysconfig/iptables
添加如下防火规则orm
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10021 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888:8899 -j ACCEPTserver
三、最后重启服务使防火规则生效ip
#service vsftpd restart #service iptables restart
到这里咱们的vsftp正式修改端口到10021
经过 ftp://IP:10021 来指定端口访问,固然,若是你发现selinux仍是会阻止ftp那就先设置为临时关闭吧!(#setenforce 0)