文件共享服务FTP
1 FTP服务简介
-
DAS 、NAS、SAN区别
- DAS(Direct-Attached Storage):SCSI,FC
- 连接方式
直连式存储服务器中的一部分,将外置存储通设备通过SCSI或FC接口直接连接到应用服务器上,其他主机不能使用这个存储设备 - 缺点
可管理性差,弹性扩展能力弱
- 连接方式
- NAS(Network-Attached Storage):FC Switch
FTP、NFS、SAMBA都属于NAS存储- 连接方式
网络接入存储NAS存储就是存储设备通过标准的网络拓扑结构(比如以太网)添加到一群计算机上,是文件级的存储方法,它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows NT局域网内,同时NAS的应用非常灵活 - 优点
部署灵活,成本低 - 缺点
备份过程中的带宽消耗,不便于实时修改
- 连接方式
- SAN(Storage Attached Network):Enternet ,Switches
- 连接方式
存储区域网络:采用网状通道(简称FC)技术,通过FC交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络 - 优点
SAN允许企业独立地增加他们的存储容量
SAN允许任何服务器连接到任何存储阵列 - 缺点
成本高,较为复杂
- 连接方式
- DAS(Direct-Attached Storage):SCSI,FC
-
文件传输协议FTP
FTP(File Transfer Protocol )早期的三个应用级协议之一,基于基于C/S结构 -
FTP传输协议采用双通道协议
双通道协议:数据和命令连接,会分别建立2个tcp协议来进行- 数据端口
如果知道FTP服务器的IP地址,客户端默认链接的就是,数据命令端口tcp21 - 传输端口
确认连接后,传输数据会新开一个tcp端口,数据传输格式默认为二进制,可以转换为文本格式,此端口以服务器为角度
分为主动模式和被动模式,用那种模式由客户端定义
- 主动(PORT style):
服务器主动连接客户端,使用固定的tcp20
端口,客户端使用的随机端口,会通过命令端口执行PORT命令
告知FTP服务器,FTP传输数据通道是一次性的,服务器不主动传输数据,就会自动断开- 缺点
可能因为客户端使用的是随机端口,可能被防火墙拦截,导致连接失败 - 端口使用
命令(控制):客户端:随机port —服务器:tcp21
数据:客户端:随机port —服务器:tcp20
- 缺点
- 被动(PASV style):
客户端主动连接服务器,客户端与服务器都是用随机端口,通过命令端口,告知客户端服务器数据接口随机接口- 缺点
服务器端随机端口可能会被防火墙拒绝访问 - 端口使用
命令(控制):客户端:随机port —服务器:tcp21
数据:客户端:随机port —服务器:随机port - 防火墙拦截解决方法
配置具有连接跟踪功能的防火墙,可以识别专有的网络应用协议,例如FTP协议,防火墙会分析命令端口报文,得到协商的随机端口,进而在需要通信时打开对应端口 - 服务器被动模式数据端口
227 Entering Passive Mode (172,16,0,1,224,59)
172.16.0.1为ip地址,224,59为端口运算值
服务器数据端口为:224*256+59
- 缺点
- 主动(PORT style):
- 示例
[root@hai7-7 ~]$ftp 172.20.0.1 Connected to 172.20.0.1 (172.20.0.1). 220 (vsFTPd 2.2.2) <==220为状态码,输入一次命令都回返回一个状态码 Name (172.20.0.1:root): ftp <==ftp为匿名账户 331 Please specify the password. Password: <==匿名账户密码随便敲都可以登入 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. <==默认以二进制模式连接, ftp> pwd 257 "/" <==刚连接所处位置,为ftp系统账号的家目录/var/ftp ftp> ls <==列出文件列表,需要得到数据,就要走数据通道 227 Entering Passive Mode (172,20,0,1,24,126). <==被动模式,随机端口为24.126 ftp> passive <==模式切换命令 Passive mode off. <==显示关闭被动模式 ftp> get winxp_ghost.iso <==下载一个文件 200 PORT command successful. Consider using PASV. <==使用主动模式
- 数据端口
-
FTP软件介绍
- FTP服务器
- 产品
Wu-ftpd,Proftpd,Pureftpd,ServU,IIS,vsftpd - CentOS默认FTP的服务器
vsftpd(VerySecure FTP Daemon)高速,稳定,下载速度是WU-FTP的两倍,单机最多可支持15000个并发
- 产品
- 客户端软件
ftp(支持windows),lftp(增加颜色,支持补全),lftpget,wget,curl- 交互式登录
ftp -A ftpserverport -A主动模式–p 被动模式 lftp -u username ftpserver lftp username@ftpserver
- 非交互式下载ftp文件
- lftpget
lftp get ftp://ftpserver/pub/file
- wget下载,并且显示下载信息
[root@hai7-7 ~]$wget ftp://172.20.0.1/pub/getty
- curl默认为输出到屏幕,-o可以重命名保存为文件
[root@hai7-7 ~]$ curl -o a.html ftp://172.20.0.1/pub/getty
- filezilla:windows较流行的免费软件
- IE登录: ftp://username:password@ftpserver
- lftpget
- ftp常用命令
- get :下载一个文件
- mget:下载多个文件
- put:上传一个文件
- mput:上传多个文件
- !:表示执行本机操作
- cd:切换服务端路径
- lcd:切换客户端路径
- 交互式登录
- FTP服务器
-
ftp登录状态码
常用状态码 常见状态码 1XX:信息类 125:数据连接打开 2XX:成功类状态 200:命令OK, 230:登录成功 3XX:补充类 331:用户名OK 4XX:客户端错误 425:不能打开数据连接 5XX:服务器错误 530:不能登录 -
用户认证
分为三类用户- 匿名账户:ftp,anonymous
对应Linux系统用户ftp,命令行需要提供密码(随便敲),图形化不需要手动填写
共享文件位置:/var/ftp
修改默认目录,即修改ftp账号的家目录usermod -d /data/ftp ftp
- 系统用户
Linux用户,/etc/passwd文件中的用户,密码/etc/shadow
共享文件位置:用户家目录 - 虚拟用户
特定服务的专用用户,独立的用户/密码文件
共享文件位置:为其映射的系统用户的家目录
- 匿名账户:ftp,anonymous
2 vsftpd服务
- 安装
[root@hai7-7 ~]$yum install -y vsftpd
- 程序包文件
- 主程序
/usr/sbin/vsftpd - 用户认证配置文件
/etc/pam.d/vsftpd - 服务脚本
/usr/lib/systemd/system/vsftpd.service(不支持reload)
/etc/rc.d/init.d/vsftpd - 配置文件(man 5 vsftpd.conf)
/etc/vsftpd/vsftpd.conf- 格式:option=value
- 注意:= 前后不要有空格
- 命令端口
listen_port=21'命令行连接非标准端口方式,2121为指定的端口' ftp 192.168.50.97 2121 '图形界面连接' ftp://192.168.50.97:2121
- 日志文件
/var/log/xferlog - 日志滚动策略
/etc/logrotate.d/vsftpd
- 主程序
- 配置文件常见修改内容
- 主动模式端口(windows默认模式)
connect_from_port_20=YES <==主动模式端口为20 ftp_data_port=20 (默认) <==指定主动模式的端口
- 被动模式端口范围(linux默认模式)
开的太少并发连接会受限,例如最大最小都6000,那么被动接口就会固定为6000,也就只能有一个用户访问pasv_min_port=6000 <==0为随机分配 pasv_max_port=6010
- 使用当地时间
修改后Chrome浏览器时间会推后1个时区,火狐浏览器正常
不修改Chrome浏览器正常,火狐浏览器不正常use_localtime=YES <==使用当地时间(默认为NO,使用GMT)
- 匿名用户
anony
- 主动模式端口(windows默认模式)