TFTPD64从零上手:一台电脑同时跑起TFTP、DHCP、DNS、SNTP与Syslog的完整配置教程
TFTPD64从零上手:一台电脑同时跑起TFTP、DHCP、DNS、SNTP与Syslog的完整配置教程
【免费下载链接】tftpd64The working repository of the famous TFTP server.项目地址: https://gitcode.com/gh_mirrors/tf/tftpd64
TFTPD64是一个轻量级多线程网络服务套件,一个可执行文件里同时装着 TFTP 文件传输、DHCP 地址分配、DNS 中继、SNTP 校时和 Syslog 日志收集五套服务。它体积小、零依赖、开箱即用,是运维工程师、嵌入式开发者和实验室环境搭建网络服务时最顺手的工具之一。
为什么你该用 TFTPD64:一个软件顶五个服务
先花十秒钟认识这套工具的五个成员,后面配置时才不会迷路:
- TFTP 服务器:专传固件升级包、交换机配置、无盘启动镜像的轻量文件协议,走 UDP,没认证也没目录浏览,速度优先;
- DHCP 服务器:给局域网里的设备自动发 IP、网关、DNS,还能顺带下发 PXE 引导文件;
- DNS 中继:把内网设备的域名解析请求转发给上游 DNS,小网络省一台 DNS 机器;
- SNTP 服务器:简化版校时服务,让内网设备时间对齐;
- Syslog 服务器:集中收集路由器、交换机等哑设备的日志,排障时不用一台台登录。
一句话总结它的价值:本来要装五个软件干的活,它一个进程全包了,而且 32 位版叫 Tftpd32,64 位版叫 Tftpd64,按系统位数各取所需。
动手第一步:三条路把程序跑起来
拿到程序的方式有四种,按使用场景对号入座即可。
| 方式 | 适合谁 | 特点 |
|---|---|---|
| 图形安装版 | 普通用户、正式部署 | 有安装向导,自动建开始菜单快捷方式,可选添加防火墙放行规则 |
| 便携版(zip) | 临时救急、U 盘携带 | 解压即用,不写注册表,配置存在同目录 ini 文件里 |
| 服务版 | 服务器长期运行 | 以 Windows 服务方式后台常驻,开机自启,断会话不退出 |
| 源码编译 | 想二次开发、学习原理 | 基于 Visual Studio 工程,需自己拉代码编译 |
便携版最推荐新手起步:解压后双击Tftpd64.exe,主窗口立刻出现,TFTP 服务和 Syslog 服务已经默认在跑了。想从源码编译的话,先拉取仓库再打开解决方案文件:
git clone https://gitcode.com/gh_mirrors/tf/tftpd64二十分钟搭好 TFTP 文件服务器:安全级别与传输参数一次讲清
主窗口顶部是服务标签页,默认停在Tftp Server。第一步点Browse选一个目录作为文件根目录,比如D:\firmware,所有客户端读写都发生在这个目录里。
安全级别是第一个必须认真选的选项,它直接决定别人能对你的磁盘做什么:
| 级别 | 行为 | 适用场景 |
|---|---|---|
| NONE | 读写请求不限制目录,任何盘符都能碰 | 只建议临时调试,生产环境别用 |
| Standard | 读写都限制在当前目录内 | 日常内部使用,性价比最高 |
| High | 只允许写入已存在且为空的文件 | 接收上传且不想被覆盖数据 |
| Read only | 拒绝一切写入 | 只对外下发固件/镜像,最稳妥 |
选完安全级别,再把下面几个传输参数过一遍:
- Timeout:单个数据包等待确认的超时上限,网络差就调大,默认值一般够用;
- Max Retransmit:同一数据包的最大重传次数,防止网络抖动导致传输中断;
- Tftp Port:监听端口,默认 69,冲突才需要改;
- Local ports pool:数据传输用的本地端口范围,写成
3000:3030这样的区间,方便防火墙精确放行; - Option Negotiation:开启后支持 RFC 2347 选项协商,客户端可以请求块大小、超时等参数;
- PXE Compatibility:只协商文件大小,专为 PXE 引导场景兼容性设计。
还有几个勾选项很实用:Show progress Bar会给每个传输弹进度窗口,Beep for long transfer传完响一声提醒,Hide window at startup则让程序最小化到托盘。配置完成后点Save,设置写入tftpd32.ini,下次启动自动生效。
上图就是一次真实传输现场:同一个固件文件同时发给多个设备,日志表格里能看到对端 IP、文件名、进度百分比、已传字节和传输速度,排障时一目了然。
给 PXE 无盘启动配一台 DHCP:三步写出地址池
DHCP 是第二个高频配置项,无盘工作站能不能启动就靠它。切换到DHCP server标签页,点Settings进入配置界面,按三步走:
第一步,圈定地址池。IP pool starting address填分配起始 IP,Size of pool填可分配数量,Lease time填租约时长(分钟)。比如起始192.168.1.100、池大小 100,就能分配 100 个地址。
第二步,填网络参数。把Default gateway(网关)、Mask(子网掩码)、DNS Server(主备 DNS)逐项填好,这些会随租约一起发给客户端。
第三步,指向引导文件。Boot File填无盘启动或 PXE 客户端要拉取的文件名,配合前面 TFTP 服务里的启动镜像目录,客户端就能完成"拿地址 → 拉镜像 → 启动"全流程。
更复杂的场景也有招:勾选Ping会在分配地址前先探测一下是否被占用,Persistent leases会把租约记录持久化到 ini 文件防止重启丢记录,还支持额外下发最多 10 个自定义 DHCP 选项(比如 NTP 服务器、WINS 地址)。
全局设置:绑定网卡、日志与开机隐藏
主窗口的Settings里有个 Global 区域,管的是整个程序的系统级行为:
- 绑定网卡:服务器默认监听所有网卡。多网卡机器上建议用
Bind TFTP to this address或 DHCP 的Local IP指到具体接口,避免流量走错口; - 日志落盘:TFTP 和 Syslog 分别有独立日志文件路径,Syslog 还能开启管道模式把消息实时转发给其他程序处理;
- 事件日志:勾选后错误会写入 Windows 事件日志,适合服务版无人值守场景;
- 隐藏启动:配合服务版使用,窗口隐藏但托盘图标保留,需要时双击唤出。
进阶玩法:拖放传文件、内置客户端与 MD5 校验
配置到这一步,工具已经能干活了。再解锁几个让它更好用的进阶技巧:
拖放即传。TFTPD64 支持直接把文件管理器里的文件拖进窗口对应字段,免去手敲路径。下图就是典型的拖放操作:从文件管理器把固件包拖到 Tftp Client 的传输字段里,点击Get或Put完成传输。

自带 TFTP 客户端。别急着另找客户端工具,Tftp Client标签页本身就是个完整的客户端:填主机 IP、本地文件、目标文件名,支持 Get(下载)和 Put(上传),临时拉取文件够用了。
MD5 校验。勾选Create md5 file后,每次成功读取文件会自动生成对应的 MD5 签名文件,分发固件后可以快速比对完整性。
安全提醒说三遍都不嫌多:别在公网或不可信网络开 NONE 级别;TFTP 目录权限按最小化原则设置,只放该共享的文件;DHCP 池子大小按实际设备数规划,避免地址被无关设备占光。
高频翻车现场:三个典型故障与对症下药
配置看起来都对,服务却不干活?下面三个场景基本覆盖了 90% 的问题。
现象一:客户端一直超时,文件传不出去。原因多半是防火墙拦了 UDP 69 端口和数据端口池。处理:在防火墙里放行程序本身,或按上面说的Local ports pool范围精确放行 UDP 端口。
现象二:能下载不能上传。看一眼安全级别——八成设成了Read only。处理:改成Standard或High(后者要求目标文件已存在且为空),再试一次。
现象三:PXE 客户端拿到 IP 却拉不到启动文件。原因通常是 Boot File 写的文件名和 TFTP 目录里的实际文件名不一致,或者大小写对不上。处理:核对引导文件名,确认文件确实位于 TFTP 根目录下,再检查日志表格里是否有该客户端的请求记录。
收尾:上线前对照这份检查清单
TFTPD64 的价值在于"小而全":五类网络服务、一个进程、零运行时依赖,从测试台到生产环境都能扛。正式上线前,建议按下面这份清单过一遍:
- 在隔离的测试网段完整跑通"客户端拿 IP → 拉固件 → 校验 MD5"全流程;
- 确认安全级别不是 NONE,TFTP 目录只放必要文件;
- 防火墙规则按最小端口范围放行,而不是直接关防火墙;
- 服务版部署时开启事件日志,便于无人值守排障;
- 备份好
tftpd32.ini,它就是你的全部配置。
先测试、再部署,五个服务一次到位。现在就去把程序跑起来,动手配你的第一台 TFTPD64 吧。
【免费下载链接】tftpd64The working repository of the famous TFTP server.项目地址: https://gitcode.com/gh_mirrors/tf/tftpd64
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
