问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

TFTP服务器搭建指南:从入门到实战

创作时间:
作者:
@小白创作中心

TFTP服务器搭建指南:从入门到实战

引用
CSDN
1.
https://m.blog.csdn.net/boy_ding_jian/article/details/140085246

TFTP(Trivial File Transfer Protocol)是一种简单文件传输协议,主要用于在嵌入式设备和服务器之间进行文件传输。本文将详细介绍TFTP服务器的简介、特点、应用场景以及搭建步骤,帮助读者快速掌握这一实用技术。

TFTP服务器简介

TFTP是TCP/IP协议族中被用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务,端口号为69。

TFTP文件传输的特点

  • TFTP使用客户服务器方式和使用UDP数据报,因此TFTP需要有自己的差错改正措施。
  • TFTP支持小文件传输。
  • TFTP没有一个庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别。

TFTP服务器的适用场景

  • 需要频繁修改内容,比如在开发板上要实现某个共功能,需要从服务器下载文件,但需要对这个功能进行不断调试,需要不断修改服务器中的代码,且开发板需要不断从服务器中下载这些文件,这个时候TFTP文件传输就会比较方便。

TFTP环境搭建

在线安装TFTP服务器和客户端

ping www.baidu.com  //检测网络是否有问题
sudo apt-get install tftpd-hpa tftp-hpa //安装服务器和客户端  

修改配置文件

首先输入命令打开配置文件

sudo vi /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="--secure"  

设定TFTP根目录:利用Ctrl+Alt+T重新打开一个终端,并且cd到一个你想存放服务器文件的文件夹。我这里是在我的共享文件夹share下面新建了一个tftpboot文件夹:

cd /mnt/hgfs/share/study
mkdir tftpboot  

修改根目录tftpboot/的权限:

chmod a+w tftpboot  

接着回到刚才打开的配置文件,修改TFTP的根目录:

TFTP_DIRECTORY="/mnt/hgfs/share/study/tftpboot" //修改TFTP根目录  

修改TFTP网关:0.0.0.0表示任意的IP均可下载服务器文件,69为TFTP服务器端口。

TFTP_ADDRESS="0.0.0.0:69" //0.0.0.0表示任意的IP均可下载服务器文件,69为TFTP服务器端口  

修改TFTP启动参数:

TFTP_OPTIONS="-c -l -s" //修改TFTP启动参数  

修改TFTP启动参数:
-l:以standalone/listen模式启动TFTP服务,而不是从xinetd启动;
-c:可创建新文件,默认情况下,TFTP只允许覆盖原有文件,不能创建新文件;
-s:改变TFTP启动的根目录,不用手动指定目录,默认使用配置文件中的目录。

重启TFTP服务器

sudo service tftpd-hpa restart  

在TFTP根目录下创建一个新文件file

touch file  

从TFTP根目录下载文件file,以测试TFTP服务器是否成功

~$ tftp localhost
tftp> get file
tftp> q  

从TFTP服务下载file文件,并输入q推出,再输入ls,查看文件列表:
如果能看到file文件,则说明TFTP环境搭建成功。

卸载TFTP服务的命令

 sudo apt-get remove --purge tftpd-hpa tftp-hpa  

如遇到TFTP服务搭建不成功,可以执行上述命令卸载(包括配置文件),再执行以下命令重新搭建:

sudo apt-get install tftpd-hpa tftp-hpa
sudo service tftpd-hpa restart  

常见错误

错误现象:Transfer timed out

可能的原因是tftpd服务没有启动或者网络出现文件,解决办法就是检查网络或者启动服务。

错误现象:Error code 2: Only absolute filenames allowed

可能的原因是/etc/default/tftpd-hpa中配置出错,解决办法就是重新配置。

错误现象:Error code 1:File not found

可能的原因有三个:
一是文件确实不存在;
二是修改配置文件后,没有重新启动,这时执行下面代码重新启动即可:

sudo service tftpd-hpa restart  

三是TFTP启动参数中没有指定-c选项,允许上传文件,上传的时候一定要确保文件先存在于上传目录下。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号