tftp 服务部署

2024-05-08 06:04
文章标签 部署 服务 tftp

本文主要是介绍tftp 服务部署,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这个服务挺简单的,但是今天用到了,还是写一下把

简单文件传输协议(Trivial File Transfer Protocol,TFTP)是一种基于 UDP 协议在客户端
和服务器之间进行简单文件传输的协议。顾名思义,它提供不复杂、开销不大的文件传输服
务(可将其当作 FTP 协议的简化版本)。
TFTP 的命令功能不如 FTP 服务强大,甚至不能遍历目录,在安全性方面也弱于 FTP
服务。而且,由于 TFTP 在传输文件时采用的是 UDP 协议,占用的端口号为 69,因此
文件的传输过程也不像 FTP 协议那样可靠。但是,因为 TFTP 不需要客户端的权限认证,
也就减少了无谓的系统和网络带宽消耗,因此在传输琐碎(trivial)不大的文件时,效率
更高。

TFTP 服务是使用 xinetd 服务程序来管理的。xinetd 服务可以用来管理
多种轻量级的网络服务,而且具有强大的日志功能。简单来说,在安装 TFTP 软件包后,还需
要在 xinetd 服务程序中将其开启,把默认的禁用(disable)参数修改为 no:

  1. 安装tftp

    yum install tftp-server tftp xinetd 
    
    # 检查一下包是否安装
    [root@localhost ~]# rpm -qa|grep tftp
    tftp-5.2-22.el7.x86_64
    tftp-server-5.2-22.el7.x86_64
    [root@localhost ~]# rpm -qa|grep xinetd
    xinetd-2.3.15-14.el7.x86_64
    
  • tftp-server 服务端
  • tftp 客户端
  • xinetd 用来管理TFTP 的程序
  1. 编辑 /etc/xinetd.d/tftp

    service tftp
    {socket_type             = dgramprotocol                = udpwait                    = yesuser                    = rootserver                  = /usr/sbin/in.tftpdserver_args             = -s /var/lib/tftpboot -c   disable                 = no 	per_source              = 11cps                     = 100 2flags                   = IPv4
    }
    
  • disable = no 启用tftp服务器
  • server_args = -s /var/lib/tftpboot -c /var/lib/tftpboot 默认的存储位置,可以修改, -c 加上-c参数可以上传文件,不然就无法上传

重启xinetd服务

[root@localhost ~]# systemctl restart xinetd
[root@localhost ~]# systemctl enable xinetd

tftp使用udp 69端口,需要开放端口,或者关闭防火墙

  1. 测试
    tftp默认文件路径在/var/lib/tftpboot/
    在服务端生成文件
    [root@localhost ~]# echo "success" > /var/lib/tftpboot/test.txt
    

在客户端下载测试

[root@localhost ~]# tftp 192.168.92.80
tftp> get test.txt
tftp> q
[root@localhost ~]# cat test.txt 
success

192.168.92.80 是服务端的IP

在客户端上传测试

[root@localhost ~]# ll
total 8
-rw-------. 1 root root 1357 Apr 28 10:41 anaconda-ks.cfg
-rw-r--r--. 1 root root    8 May  7 09:31 test.txt
[root@localhost ~]# tftp 192.168.92.80
tftp> put test.txt
Error code 0: Permission denied
[root@localhost ~]# tftp 192.168.92.80
tftp> put anaconda-ks.cfg
Error code 0: Permission denied
[root@localhost ~]# chmod 777 anaconda-ks.cfg 
[root@localhost ~]# tftp 192.168.92.80
tftp> put anaconda-ks.cfg
Error code 0: Permission denied
[root@localhost ~]# ls
anaconda-ks.cfg  test.txt
[root@localhost ~]# tftp 192.168.92.80
tftp> put anaconda-ks.cfg

在上面报了一个权限错误 Error code 0: Permission denied,解决办法将 服务端 执行:
chmod 777 /var/lib/tftpboot

这篇关于tftp 服务部署的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/969506

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Java服务实现开启Debug远程调试

《Java服务实现开启Debug远程调试》文章介绍如何通过JVM参数开启Java服务远程调试,便于在线上排查问题,在IDEA中配置客户端连接,实现无需频繁部署的调试,提升效率... 目录一、背景二、相关图示说明三、具体操作步骤1、服务端配置2、客户端配置总结一、背景日常项目中,通常我们的代码都是部署到远程

linux部署NFS和autofs自动挂载实现过程

《linux部署NFS和autofs自动挂载实现过程》文章介绍了NFS(网络文件系统)和Autofs的原理与配置,NFS通过RPC实现跨系统文件共享,需配置/etc/exports和nfs.conf,... 目录(一)NFS1. 什么是NFS2.NFS守护进程3.RPC服务4. 原理5. 部署5.1安装NF

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

redis-sentinel基础概念及部署流程

《redis-sentinel基础概念及部署流程》RedisSentinel是Redis的高可用解决方案,通过监控主从节点、自动故障转移、通知机制及配置提供,实现集群故障恢复与服务持续可用,核心组件包... 目录一. 引言二. 核心功能三. 核心组件四. 故障转移流程五. 服务部署六. sentinel部署

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令