文章目录
一、FTP传输模式
-
FTP是仅基于TCP的服务,不支持UDP。与众不同的是FTP使用2个端口:数据端口20和命令端口21(也可叫做控制端口)。控制端口一般为21,而数据端口不一定是20,这和FTP的工作模式(主动PORT方式和被动PASV方式)有关,如果是主动模式,应该为20,如果为被动模式,由服务器端和客户端协商,在1025-65535之间随机而定。这就是主动与被动FTP的最大不同之处。
-
FTP主动模式:客户端从一个任意的端口N(N>1024)连接到FTP服务器的port21命令端口,客户端开始监听端口N+1,并发送FTP命令PORT“N+1”到FTP服务器,FTP服务器以数据端口(20)连接到客户端指定的数据端口(N+1)。
-
FTP被动模式:客户端从一个任意的端口N(N>1024)连接到FTP服务器的port 21命令端口,客户端开始监听端口N+1,客户端提交PASV命令,服务器会开启一个任意的端口(P >1024),并发送PORT P命令给客户端。客户端发起从本地端口N+1到服务器的端口P的连接用来传送数据。
-
选择模式的原则 。
(1)客户端没有防火墙时,用主动模式即可。
(2)服务器端没有防火墙时,用被动模式即可。
(3)双方都有防火墙时,vsftpd配置文件设置被动端口范围,服务器端防火墙打开被动端口范围,是否采取被动模式取决于客户端程序。
二、常见的FTP客户端软件的PASV方式的开启关闭方法
-
在ftp命令行中使用passive命令就可以关闭/打开被动模式。
-
在Windows命令行模式下使用ftp命令连接服务器,切换模式命令(quote PORT或quote PASV)。
-
IE:工具 -> Internet选项 -> 高级 -> “使用被动FTP(用于防火墙和DSL调制解调器的兼容)”。
-
FileZillaClient:编辑 ->设置 ->连接 ->FTP 。
-
CuteFTP:Edit -> Setting -> Connection -> Firewall -> “PASV Mode” 或File -> Site Manager,在左边选中站 点 -> Edit -> “Use PASV mode” 。
-
FlashGet:工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”。
-
FlashFXP:选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”或快速连接 -> 切换 -> “使用被动模式”。
三、vsftp安装
1、安装vsftpd服务。
yum install -y vsftpd
2、启动服务。
service vsftpd start
3、重启服务使用restart。
service vsftpd restart
4、设置iptables防火墙开放端口,保存配置。
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp --dport 20 -j ACCEPT
service iptables save
5、关闭selinux防火墙,编辑配置文件/etc/selinux/config,设置SELINUX=disabled,重启系统后生效。
vi /etc/selinux/config
SELINUX=disabled
6、客户端FlieZilla输入本机IP、用户名、密码(root除外)可直接登录到ftp服务器(默认目录/home/username/,可以切换到根目录)且拥有创建、删除、修改、上传、下载权限。