前言

我相信大家接触到tftp大多数原因是PXE网络自动化部署的功劳,一般是在Linux环境下采用PXE+TFTP+DHCP+(HTTP/FTP/NFS)来实现,因为最近在生产环境中分别测试使用了云霁科技的Cloudboot和大名鼎鼎的Cobbler,只是针对大规模型号和配置不一样的物理机实现成本太高配置不够灵活,最后考虑采用Windows笔记本+交换机+tftpd32来实现。而且最近在更新Cisco网络交换机固件的时候发现使用tftp相比ftp来说更加容易,想想就整一篇简单的文档出来。

tftp是一个非常简单好用的文件传输协议

更新历史

2017年01月18日 - 初稿

阅读原文 - https://wsgzao.github.io/post/tftp/

扩展阅读

TFTP - http://www.tftp-server.com/


tftp应用场景

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69,它基于UDP协议而实现。

  1. 交换机或路由器升级或备份
  2. 无盘工作站存放boot loader
  3. 嵌入式开发时装载系统
  4. 大规模的服务安装布署

tftp使用

注意修改防火墙和selinux配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#安装
yum install -y tftp-server

#注意disable选项为no
#修改项server_args=,可以修改tftp-server的根目录,参数-s指定chroot,-c指定了可以创建文件
vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

#设置tftp开机自动启动
chkconfig tftp on

#启动xinetd服务
/etc/init.d/xinetd restart

#验证tftp是否启动成功并监听本地69端口
netstat -anup | grep 69
udp 0 0 0.0.0.0:69 0.0.0.0:* 15763/xinetd

#测试上传和下载
yum install tftp
tftp -i 192.168.1.1 put test
tftp -i 192.168.1.1 get test
文章目录
  1. 1. 前言
  2. 2. 更新历史
  3. 3. tftp应用场景
  4. 4. tftp使用