TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。
基于UDP的tftp协议,在嵌入式Linux开发中,在很多场合都被用到,甚至是必不可少的,特别是在内核调试阶段,在U-Boot下通过TFTP协议从服务器上加载内核并运行,既方便又快捷。
要使用tftp服务,服务器和客户端都是必不可少的,tftp还可以跨平台传输数据,总之,使用范围非常广的强大传输协议。
tftp 服务器搭建:
-
装在客户端和服务端
apt-get install tftp tftpd-hpa -
若没有安装守护进程 xinetd
apt-get install xinetd -
在 /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
-
在/etc/xinetd 路径下创建tftp文件,内容如下:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/tftpboot/ -c 此处为tftp根路径,可自行设置 -c 为开启上传控制
disable = no
per_source = 11
cps = 100 2
flags = IPv4
} -
创建文件 /etc/default/tftpd-hpa ,内容如下:
TFTP_USERNAME=“tftp”
TFTP_DIRECTORY="/home/zhoudy/tftpboot"
TFTP_ADDRESS=“0.0.0.0:69”
TFTP_OPTIONS="-l -c -s" -
更改tftp根路径的权限
chmod 777 /var/tftpboot/ -
重启服务xinetd守护进程服务
/etc/init.d/xinetd restart -
重启tftp服务
/etc/init.d/tftp restart
测试:
本地测试:
tftp localhost 看是否能够进入到tftp服务界面,通过get/put来下载/上传文件。