得,今天正好有空,跟大家唠唠我捣鼓 tftp 服务器 ip 的那点事儿。平时玩玩路由器、交换机或者搞点嵌入式开发啥的,难免要用到 tftp 这东西传个文件,比如刷个固件啥的。那既然要传东西,就得知道服务器在哪儿,也就是要知道它的 ip 地址。
话说上次我折腾一个老旧的无线AP,想给它升个级续续命,官方文档就说得用 tftp 方式传固件。行,那就动手呗。咱得有个 tftp 服务器。
我一般图方便,就在自己常用的电脑上搭一个。Windows 系统好像默认不带服务端功能,所以我就去网上找个小工具,叫 Tftpd64 的,绿色小巧,用着还行。下载下来,解压就能跑。
准备tftp服务器
软件跑起来后,第一件事就是得告诉它,你要让别人从哪个文件夹下载文件,或者将来接收文件存到哪里。软件界面上一般都有个设置的地方,让你指定一个“根目录”或者叫“Current Directory”。我就在我D盘建个名叫 `tftp_files` 的文件夹,然后在软件里把它设成根目录,再把那个要升级的固件文件(比如叫 `*`)拷贝到这个文件夹里。
有些tftp服务器软件,特别是高级点的或者在Linux上配置时,可能还会让你指定监听哪个IP地址。啥意思?就是如果你的电脑有好几个网卡,比如一个有线的连着路由器,一个无线的上着网,它就问你,这个tftp服务专门给哪个网络接口用。不过我用的 Tftpd64 好像默认是监听所有网络接口(地址显示 0.0.0.0),这样就简单,不用特别指定。
找到服务器IP地址
服务器软件跑起来,文件也准备好,关键一步来:这台跑着tftp服务器的电脑,它的IP地址是 这个不难查。
因为我是在我的 Windows 电脑上运行的 Tftpd64,所以我就直接按 `Win` + `R` 键,输入 `cmd` 然后回车,打开那个黑色的命令行窗口。在里面敲命令:
ipconfig
然后回车。屏幕上会刷出来一堆网络连接的信息。我得找到我连接那个无线AP的那个网络接口。比如我用的是有线连接的,那我就找“以太网适配器 以太网”这一段,下面有一行写着“IPv4 地址 . . . . . . . . . . . . : 192.168.1.108”(这地址是我瞎编的,你得看你自己电脑上显示的)。这个 `192.168.1.108` 就是我这台电脑当前的IP地址,也就是我的tftp服务器的IP地址。
如果是在 Linux 系统上跑 tftp 服务,那一般用 `ifconfig` 或者 `ip addr` 命令也能查到类似的IP地址信息。
客户端连接
知道服务器IP是 `192.168.1.108`,接下来就好办。我登录到那个老旧无线AP的管理界面(或者通过命令行,看设备支持哪种),找到升级固件的地方。它一般会要求你填几个信息:
- TFTP 服务器 IP: 这里就填上刚才查到的 `192.168.1.108`。
- 固件文件名: 这里就填我放在 `tftp_files` 文件夹里的那个文件名,`*`。
填好之后,点“升级”或者“下载”按钮。这时候就能看到 Tftpd64 软件的界面上通常会有日志显示,提示有设备连接上来,开始传输文件 `*`。无线AP那边也会有个进度条或者提示正在下载和更新。
可能遇到的坑
有时候信息都填对,但就是连不上或者传输出错。这时候我一般会检查下电脑的防火墙。因为 tftp 默认用的是 UDP 端口 69,有可能被 Windows 防火墙或者其他安全软件给拦。得去防火墙设置里看看,是不是阻止这个 Tftpd64 程序访问网络,或者是不是阻止 UDP 69 端口的入站连接。需要的话,就给它放行。
确保网络是通的也很重要。可以让电脑 ping 一下那个无线AP的IP,看看能不能通。反过来,如果AP支持 ping 命令,也可以试试从AP去 ping 电脑的IP(也就是tftp服务器的IP)。
把这些都检查一遍,基本就能搞定。等文件传输完成,设备自动重启或者根据提示操作,固件升级就完成。
所以你看,搞清楚 tftp 服务器的 ip,主要就是找到运行服务器的那台机器,查它的网络 IP 地址,然后在需要连接的客户端上正确填入这个地址。自己搭服务器的话,再稍微注意下软件配置和防火墙就行。多动手试几次,就很熟练。