Linux云计算架构-FTP文件传输协议和TFTP简单文件传输协议

Linux云计算架构-FTP文件传输协议和TFTP简单文件传输协议

在生产环境中,我们经常要在不同的主机不同的操作系统上互相传输文件,这些互相传输文件的主机不都是linux系统,可能是Windows\UNIX\Mac,这时就需要使用文件传输协议

1. 文件传输协议(FTP)

  1. FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20、21号端口,其中20号端口用于进行数据传输(数据端口)21号端口用于接受客户端发出的相关FTP命令和参数(命令端口)
  2. FTP服务器常部署在内网,易部署,方便管理。而有些FTP客户端工具支持文件的多点下载断点续传技术。
  3. FTP服务器:按照FTP协议在互联网上提供文件存储和访问服务的主机(存放文件的主机)。
    FTP客户端:向服务器发送连接请求,以建立数据传输链路的主机(登录FTP服务器的主机,可以在FTP服务器上下载文件)。
    在这里插入图片描述
  4. FTP协议的工作模式
    主动模式:FTP服务器向FTP客户端发起连接请求
    被动模式:FTP服务器等待FTP客户端发起连接请求(默认模式)
  5. vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行于linux系统的FTP服务程序。(开源、安全、免费、传输快、支持虚拟用户验证)

2. 部署FTP服务器

FTP服务器主机ip地址:192.168.10.10

  1. 安装yum软件仓库
  2. 安装vsftpd服务程序
    yum -y install vsftpd
    在这里插入图片描述
  3. FTP传输协议需要使用到2021号端口,但是iptables默认禁用了这两个端口,所以可以使用以下命令清空防火墙策略,并保存当前防火墙策略。
    iptables -F
    service iptables save
    在这里插入图片描述
  4. vsftpd服务程序的主配置文件(/etc/vsftpd/vsftpd.conf
    小技巧:可通过grep -v '#' /etc/vsftpd/vsftpd.conf或者cat /etc/vsftpd/vsftpd.conf | grep -v "#"筛选出非注释信息的内容。
    在这里插入图片描述
    在这里插入图片描述
[root@server ~]# ll /etc/vsftpd/
总用量 20
-rw-------. 1 root root  125 10月 31 2018 ftpusers
-rw-------. 1 root root  361 10月 31 2018 user_list
-rw-------. 1 root root 5116 10月 31 2018 vsftpd.conf
-rwxr--r--. 1 root root  338 10月 31 2018 vsftpd_conf_migrate.sh

# vsftpd服务的主配置文件
[root@server ~]# cat /etc/vsftpd/vsftpd.conf | grep -v "#"
anonymous_enable=YES  #是否允许匿名用户访问
local_enable=YES  #是否允许本地用户登录FTP
write_enable=YES  
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO  #是否以独立运行的方式监听服务
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

# vsftpd的其他配置文件
# 黑白名单互转文件/etc/vsftpd/user_list
# 可以设置允许和拒绝
[root@server ~]# cat /etc/vsftpd/user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.


# 黑名单文件/etc/vsftpd/ftpusers
# 只能拒绝
[root@server ~]# cat /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp

3. 简单文件传输协议(TFTP)

  1. TFTP是一种基于UDP协议在客户端和服务器之间进行简单文件传输的协议。
  2. TFTP协议占用端口号69,文件的传输过程不如FTP安全可靠。
  3. TFTP不需要客户端的权限认证,在传输一些简单文件时效率更高。
  4. 安装TFTP软件包:
    yum -y install tftp-server 【TFTP服务器】
    yum -y install tftp【TFTP客户端】
    在这里插入图片描述

4. 配置并管理TFTP服务器

  1. 在RHEL7系统中,TFTP服务是使用xinetd服务程序来管理的。xinetd服务用来管理多种轻量级的网络服务,并且具有强大的日志功能。

  2. tftp服务在xinetd服务程序中的配置文件:/etc/xinetd.d/tftp【/etc/xinetd.d/轻量网络服务名】
    在这里插入图片描述

  3. 在安装好tftp-server后,就会出现该配置文件,但是默认禁用该服务,需修改参数disable=no,修改好后要重启xinetd服务,并添加到开机自启项中
    在这里插入图片描述
    在这里插入图片描述

  4. 若是系统的防火墙认为UDP协议的69端口的流量不安全,可能会拒绝,这时需要修改防火墙策略。添加69号端口到防火墙的允许策略。可使用firewall-config进行配置。
    在这里插入图片描述
    在这里插入图片描述

  5. 为了避免因为防火墙导致的流量不可达的问题,可以清空防火墙策略,并保存当前防火墙策略。
    在这里插入图片描述

  6. TFTP服务器的根目录为/var/lib/tftpboot,登录到TFTP服务器即进入到该目录中。

  7. 在TFTP服务器中可以使用的命令
    在这里插入图片描述

  8. 实例
    重启TFTP服务器(192.168.10.10)和TFTP客户端(192.168.10.20),保证能ping通
    服务器是上面配置好的,客户端要安装软件包yum -y install tftp
    为了避免因为防火墙导致的流量无法传输的问题,这里对服务器和客户端都清空防火墙策略,并保存当前防火墙策略。
    在这里插入图片描述
    在这里插入图片描述
    TFTP服务器的根目录为/var/lib/tftpboot
    在服务器的/var/lib/tftpboot目录创建文件readme.txt,并输入内容。
    在这里插入图片描述
    刚进入客户端桌面是没有readme.txt文件的
    在这里插入图片描述
    在客户端输入tftp 192.168.10.10,登录到tftp服务器,下载文件readme.txt,可以看到已经把这个文件下载到桌面了。
    在这里插入图片描述

以上内容就是FTP的基本介绍以及TFTP的配置和使用的全过程,有关于FTP客户端以3种认证模式登录到FTP服务器的具体使用,可以关注我,另一篇博客有详细介绍。

猜你喜欢

转载自blog.csdn.net/weixin_36522099/article/details/107947577