热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

文章目录Linux云计算架构-FTP文件传输协议和TFTP简单文件传输协议1.文件传输协议(FTP)2.部署FTP服务器3.简单文件传输协议࿰

文章目录

  • Linux云计算架构-FTP文件传输协议和TFTP简单文件传输协议
    • 1. 文件传输协议(FTP)
    • 2. 部署FTP服务器
    • 3. 简单文件传输协议(TFTP)
    • 4. 配置并管理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服务器的具体使用,可以关注我,另一篇博客有详细介绍。


推荐阅读
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 基于Linux系统的Kickstart自动化服务器部署方案
    本文针对企业需求,提出了一种基于Linux系统的Kickstart自动化服务器部署方案。该方案旨在通过无盘批量安装操作系统,提高企业IT基础设施的部署效率。Kickstart是一种利用Anaconda工具实现服务器自动化安装的技术,能够显著简化和加速操作系统的安装过程。通过详细的实施规划,本文介绍了Kickstart的工作原理及其在实际部署中的应用,为企业提供了高效的自动化部署解决方案。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 在Python 3环境中,当无法连接互联网时,可以通过下载离线模块包来实现模块的安装。具体步骤包括:首先从PyPI网站下载所需的模块包,然后将其传输到目标环境,并使用`pip install`命令进行本地安装。此方法不仅适用于单个模块,还支持依赖项的批量安装,确保开发环境的完整性和一致性。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • Linux下MySQL 8.0.28安装指南
    本文详细介绍了在Linux系统上安装MySQL 8.0.28的步骤,包括下载数据库、解压数据包、安装必要组件和启动MySQL服务。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 如何在Linux服务器上配置MySQL和Tomcat的开机自动启动
    在Linux服务器上部署Web项目时,通常需要确保MySQL和Tomcat服务能够随系统启动而自动运行。本文将详细介绍如何在Linux环境中配置MySQL和Tomcat的开机自启动,以确保服务的稳定性和可靠性。通过合理的配置,可以有效避免因服务未启动而导致的项目故障。 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • 利用 Python Paramiko 库在远程服务器上高效执行 Shell 脚本的方法与技巧 ... [详细]
author-avatar
何博弘朗
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有