tftp 服务部署

embedded/2024/9/22 10:55:36/

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

简单文件传输协议(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


http://www.ppmy.cn/embedded/37981.html

相关文章

结构分析的有限元法及matlab实现(徐荣桥)|【PDF教材+配套案例Matlab源码】

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

微信社交平台的未来展望,2024微信的重点发展趋势

WeChat社交媒体平台概述 截至2024年,WeChat的月活跃用户超过13亿,预计到今年年底,WeChat用户将超过16.7亿。当然,全球WeChat用户数量的数字表明,该应用程序在世界上最受欢迎的应用程序中排名第五(仅次于Fa…

Qt---day2-信号与槽

1、思维导图 2、 拖拽式 源文件 #include "mywidget.h" #include "ui_mywidget.h" MyWidget::MyWidget(QWidget *parent) : QWidget(parent) , ui(new Ui::MyWidget) { ui->setupUi(this); //按钮2 this->btn2new QPushButton("按钮2",th…

消息队列使用常见问题

一、消息丢失的时机? 生产端消息丢失 问题:因为网络异常导致消息发送失败,此时可能会产生消息丢失的情况,重试后可能产生消息重复生产的情况。 解决:超时重试,并在消费端保证幂等性。 消息队列中消息丢失 …

3dmax-vray6渲染器参数设置

适用于3dmax2018-2023版本 一、【公用】 小图输出大小:1500*1125,勾选大气、效果; 大图输出大小:3000*2250,勾选大气、效果、置换; 二、【vray】 小图抗锯齿类型:渐进式;最小细分:1,最大细分:100&#…

农村公交与异构无人机协同配送优化

针对农村公交与异构无人机协同配送的优化问题,可以从以下几个方面进行探讨: 1. 融合公交与无人机配送 公交物流体系:利用农村公交网络,建立以公交车辆为基础的物流配送体系。公交车辆可以沿途收集或投递货物,提高物流配送效率。无人机辅助配送:在公交物流体系的基础上,…

JAVA语言程序设计1(第七章)

一、编程思想 1. 面向过程: (1) 面向过程:将问题分为第一步、第二步、第三步... 直到问题解决 (2) 问题:解决小业务相对比较简单,但是面对复杂业务时,相对不好处理 2. 面向对象: (1) 面向对象&#…

.Wormhole勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复

导言: 随着信息技术的飞速发展,网络安全问题愈发凸显其重要性。近年来,勒索病毒成为了网络安全领域的一大难题,而其中的.Wormhole勒索病毒更是以其独特的传播方式和强大的破坏力引起了广泛关注。本文将详细介绍.Wormhole勒索病毒…