Linux下部署TFTP服务

描述

1. TFTP服务简介

TFTP是 Trivial File Transfer Protocol 的缩写,即简单文件传输协议,是一个基于 UDP 协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合

TFTP协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。 TFTP协议传输是由客户端发起的

客户机和服务器之间的交互过程如下图示:

开发板

2. Linux下部署TFTP服务

2.1 安装TFTP服务

Ubuntu联网,安装xinetd(extended internet daemon)托管服务

sudo apt-get install xinetd

开发板

查询/etc/下是否存在xinetd.conf文件,若没有需自己新建一个,内容修改如下

# Simple configuration file for xinetd
#
# Some defaults, and include /etc/xinetd.d/
defaults
{

}
#表示告诉xinetd要包含的文件或目录是/etc/xinetd.d
includedir /etc/xinetd.d

创建linux/tftp文件夹,并赋予可读可写可执行权限(777)

mkdir -p /home/andyxi/linux/tftp
sudo chmod 777 /home/andyxi/linux/tftp/

安装tftp-hpa(客户端)和tftpd-hpa(服务端)服务程序

sudo apt-get install tftp-hpa tftpd-hpa

打开tftpd-hpa配置文件/etc/default/tftpd-hpa,将上面创建的tftp目录设置为TFTP服务器工作目录

TFTP_DIRECTORY="/home/andyxi/linux/tftp"

创建/etc/xinetd.d/tftp配置文件,并添加如下内容,如果/etc文件夹中没有xinetd.d子目录,可自行创建

server tftp
{
  socket_type = dgram
  wait = yes
  disable = no
  user = root
  protocol = udp
  server = /usr/sbin/in.tftpd
  server_args = -s /home/andyxi/linux/tftp -c 
  #log_on_success += PID HOST DURATION
  #log_on_failure += HOST
  per_source = 11
  cps =100 2
  flags =IPv4
}

重启tftpd-hpa服务

sudo service tftpd-hpa restart

重启xinetd服务

sudo service xinetd restart

2.2 TFTP测试

这里使用 Ubuntu作为TFTP服务器端,Linux开发板作为客户端来进行TFTP测试。 确保网络环境正常,Ubuntu、Windows和开发板能相互ping通

在ubuntu的/home/andyxi/linux/tftp目录下创建test.c文件

cd /home/andyxi/linux/tftp
vi test.c

在开发板中执行tftp命令将虚拟机TFTP工作目录下的test.c文件拷贝到开发板中

tftp -g -r test.c 192.168.10.100

若文件被成功传输到开发板上,说明TFTP服务部署成功

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分