参考 1.朱有鹏linux核心课程环境搭建教学文档,相关资料可关注微信公众号【朱老师IT充电站】 2.CSDN博主「good-destiny」的原创文章原文连接 3.xinetd介绍,摘自CSDN博主「鹤啸九天-西木」
一、tftp服务器是什么?
TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,基于 UDP 协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场合。默认端口号为69。
TFTP协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。 根据上面关于 TFTP 的介绍,实现TFTP 我们需要搭建一个TFTP 的服务器,ARM开发板当做客户端。 使用虚拟机 Ubuntu来当做服务器,下面我们先讲解一下服务器端的配置。
二、tftp服务器的搭建
1. 第一步,安装tftp服务器
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
xinetd介绍,摘自其他博客
2.第二步, 配置/etc/xinetd.conf
cd /etc/ 查看是否有 xinetd.conf 查看内容是否一致, 如果没有创建一个,并输入如下内容
# Simple configuration file for xinetd
#
#Some defaults, and include /etc/xinetd.d/
defaults
{
#Please note that you need a log_type line to be able to use log_on_success
#and log_on_failure. The default is the following :
#log_type = SYSLOG daemon info
}
includedir /etc/xinetd.d
代码如下(示例):
3. 第三步,配置/etc/default/tftpd-hpa
sudo vim /etc/default/tftpd-hpa
内容修改成 ,其中工作目录TFTP_DIRECTORY="/tftpboot" 如果根目录下没有tftpboot,需要自己创建
#/etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
4. 第四步,配置/etc/xinetd.d/tftp
vim /etc/xinetd.d/tftp
打开文件后,对比如下,保持一致
service tftp
{
socket_type = dgram
wait = yes
disable = no
user = root
protocol = udp
server = /usr/sbin/in.tftpd
server_args = -s /tftpboot
#log_on_success += PID HOST DURATION
#log_on_failure += HOST
per_source = 11
cps =100 2
flags =IPv4
}
5. 第五步:修改权限
sudo chmod 777 /tftpboot
6.第六步:重启服务器
每次修改完后:执行次序 sudo service tftpd-hpa restart //重新启动 tftp服务 sudo /etc/init.d/xinetd reload // 重新加载进程 sudo /etc/init.d/xinetd restart // 重启服务
7. 测试tftp服务器
1.本地测试
- 在/tftpboot目录下
touch file
echo "hello world" > file
在非/tftpboot 目录下 获取文件
yang@ubuntu:~/Desktop$ sudo tftp localhost
[sudo] password for yang: d
tftp> get file
tftp> q
yang@ubuntu:~/Desktop$ cat file
hello world
在非/tftpboot 目录下 发送文件
sudo tftp localhost
put filename
q
cat /tftp/filename
|