天天看点

Linux 下部署 TFTP 服务

1. TFTP服务简介

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

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

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

Linux 下部署 TFTP 服务

2. Linux下部署TFTP服务

2.1 安装TFTP服务

  • Ubuntu联网,安装xinetd(extended internet daemon)托管服务
sudo apt-get install xinetd      
Linux 下部署 TFTP 服务
  • 查询/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"      
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的/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服务部署成功

继续阅读