使用 dnsmasq 配置 DHCP + TFTP 实现小米路由器 Redmi AC2100 救砖

当小米路由器（如 Redmi AC2100）刷机失败，进入了 “砖机” 状态（无法启动，只剩电源灯亮，无法访问后台），可以通过 DHCP + TFTP 的方式来 “救砖” 恢复固件。本文介绍如何利用 dnsmasq 在 Linux 系统（如 Debian/Ubuntu）上配置 DHCP 和 TFTP 服务，帮助路由器自动下载恢复固件 miwifi.bin 并完成刷机。

一、网络环境准备

在进行救砖前，你需要准备：
一台 Linux 电脑，配置静态 IP，建议设置为 192.168.31.2（与路由器默认地址段匹配）。
路由器通过网线连接到电脑（建议直连或通过交换机，避免其他 DHCP 服务干扰）。
下载适用于你设备的官方固件文件，并重命名为 miwifi.bin。
安装并配置 dnsmasq 提供 DHCP + TFTP 服务。

二、dnsmasq 配置示例

编辑 /etc/dnsmasq.conf 或创建自定义配置文件，例如 /etc/dnsmasq.d/tftp.conf，内容如下：

Copy
port=0 # 禁用 DNS 功能，仅作为 DHCP + TFTP 使用
interface=eno1 # 设置网络接口（根据你的网卡名称修改）
bind-interfaces # 绑定接口，避免被其他服务抢占
dhcp-range=192.168.31.50,192.168.31.150,12h # 分配 IP 地址段
dhcp-option-force=66,192.168.31.2 # 指定 TFTP 服务器 IP（即本机 IP）
dhcp-boot=miwifi.bin # 指定启动文件名
enable-tftp # 启用 TFTP 服务
tftp-root=/mnt/tftproot # TFTP 根目录，需将固件放在此路径下

配置完成后，重启 dnsmasq 服务：

Copy
sudo systemctl restart dnsmasq

Copy
⚠️ 注意：配置 dnsmasq 的这台机器必须设置为与路由器相同网段的 IP，如 192.168.31.2，否则路由器无法获取 IP 或下载固件。

三、准备固件文件

Copy
前往 http://miwifi.com/miwifi_download.html 下载适用于 Redmi AC2100 的官方固件（一般为 .bin 格式）。
解压后，将固件文件重命名为 miwifi.bin。
放置到你设置的 TFTP 目录，例如 /mnt/tftproot/。

四、路由器刷机步骤

Copy
路由器断电，按住 Reset 键（用针戳住小孔），然后插上电源。
保持按住 Reset 约 5-10 秒，直到指示灯快速闪烁（表示进入了刷机模式）。
路由器会自动通过 DHCP 获取 IP，然后通过 TFTP 下载 miwifi.bin 并刷入。
整个过程约需 2-5 分钟，刷完后路由器会自动重启，恢复出厂系统。

五、参考资料

OpenWRT 官方页面

小米固件下载

PXE 引导原理参考