红米B19刷机后DNS锁死?三步解锁,别急着刷回官方!

liuzw 1 0

本文信息核实于2026-08-06

先说结论:红米路由器B19刷机后DNS无法修改,90%不是硬件故障,也不是固件bug,而是刷入的第三方固件(比如OpenWrt、Padavan)默认把LAN口的DNS服务给“劫持”了,或者防火墙规则残留导致你改的设置被覆盖。 别慌,别急着还原官方固件,今天这篇攻略就是来给你“解锁”的,全程实操,不整虚的。


一、为什么刷机后DNS就“锁死”了?核心原因就这三点

很多兄弟刷机后兴冲冲去后台改DNS,结果发现要么保存后自动跳回默认值,要么改了没效果,网页照样打不开。我折腾了三天,翻了N个论坛帖子,总结下来就三个原因:

  1. 固件默认开启了“DNS劫持”或“DNS转发”
    像OpenWrt默认会启动dnsmasq,它接管了所有内网设备的DNS请求。你在“网络-DHCP/DNS”里改的DNS,其实只是改了下发客户端的地址,但dnsmasq自己还在用上游的114或者8.8.8.8。你要改的是dnsmasq的上游DNS,而不是DHCP里的那个。

  2. 防火墙规则残留
    部分第三方固件在刷入时会写入一条iptables规则,强制把53端口流量转发到特定IP。你改再多次,流量还是被劫持到那个IP上。这个最坑,因为后台看不出来。

  3. 你改错了地方
    很多朋友在“网络-接口-LAN”里改DNS,但实际生效的是“DHCP和DNS”里的设置。改错地方等于白改。


二、三步解锁,彻底解决DNS无法修改

下面我直接上干货,按步骤操作,每一步都是实测过的。

第一步:先检查是不是dnsmasq“作祟”

  1. 用SSH登录你的B19(不会SSH的,先去后台开启SSH,或者用系统自带的终端工具)。
  2. 输入命令查看当前dnsmasq配置: bash cat /etc/config/dhcp 找到config dnsmasq段,看里面的option serveroption noresolv字段。如果noresolv1,说明它完全忽略了上游DNS,只用自己配置的。

  3. 修改方法:编辑配置文件 bash vi /etc/config/dhcpoption noresolv改成0,然后在list server后面加上你想用的DNS,比如: list server '223.5.5.5' list server '119.29.29.29' 保存后重启dnsmasq: bash /etc/init.d/dnsmasq restart

这一步能解决70%的问题。 如果还不行,看第二步。

第二步:干掉残留的防火墙规则

  1. 查看防火墙NAT规则: bash iptables -t nat -L -n | grep 53 如果看到类似REDIRECTDNAT到某个IP的规则,就是它在劫持。

  2. 删除所有相关规则: bash iptables -t nat -D PREROUTING -p udp --dport 53 -j REDIRECT --to-ports 53 iptables -t nat -D PREROUTING -p tcp --dport 53 -j REDIRECT --to-ports 53 如果不止一条,用iptables -t nat -F PREROUTING清空整个链(但注意别删了其他重要规则,建议先备份)。

  3. 保存规则(防止重启失效): bash netfilter-persistent save 或者写进/etc/firewall.user里,每次开机自动执行。

第三步:改对位置——这才是最终方案

如果你用的还是官方固件改的,或者上面两步都做了还是无效,那大概率是你改的地方不对。

正确操作路径: - 进入后台 → “网络” → “DHCP/DNS” → 找到“服务器设置”或“DNS转发” → 在“上游DNS服务器”里填写你想要的DNS(比如223.5.5.58.8.8.8)。 - 同时去“网络” → “接口” → “LAN” → 把“使用自定义DNS服务器”勾上,填上同样的DNS。 - 关键一步: 在“DHCP/DNS”的“高级设置”里,把“禁止解析”和“忽略解析文件”都取消勾选。

然后再去电脑或手机刷新DNS缓存,测试一下。


三、关于DNS修改的5个高频问题(FAQ)

Q1:我改完DNS后,手机能连上网,但电脑不行,是为什么? A:大概率是电脑的DNS缓存没刷新。用管理员命令行执行ipconfig /flushdns,或者重启电脑。如果还不行,检查电脑网卡的DNS是不是被手动设置了,改成自动获取。

Q2:刷机后DNS改不了,是不是固件本身有bug? A:2026年现在的第三方固件已经非常成熟,B19的适配版基本没有这种低级bug。99%是配置问题,按我上面的三步走,都能解决。

Q3:我用的官方固件,但DNS也改不了,怎么办? A:官方固件的DNS修改入口在“高级设置”→“网络设置”→“DHCP服务器”里,改完保存后要重启路由器。如果还是不行,可能是运营商劫持了DNS,建议开启路由器自带的“DNS加密”功能(DoH/DoT)。

Q4:改成8.8.8.8后,网速变慢了,是正常的吗? A:正常,因为Google的DNS服务器在海外,延迟高。国内用户建议用223.5.5.5(阿里)或119.29.29.29(腾讯),速度更快,还支持防劫持。

Q5:刷机后DNS设置保存了,但重启又变回默认,怎么永久生效? A:这是因为你修改的配置没有被写入持久化存储。在OpenWrt里,改完配置后要执行/etc/init.d/dnsmasq enable,并确保/etc/config/dhcp文件有写权限。另外,不要用后台的“保存&应用”按钮,用SSH改配置文件最稳妥。


四、实用建议:避免再踩坑的3个技巧

  1. 刷机前备份原厂配置
    用B19自带的备份功能,或者SSH备份整个/etc目录。万一刷机后出问题,可以快速恢复,不用全网找原厂固件。

如果你需要的话,可以试试下面的免费工具:

📲
小米ROM固件下载站
免费在线工具,无需下载,即开即用
立即使用 →
📲
路由器固件下载
免费在线工具,无需下载,即开即用
立即使用 →
  1. 优先选官方适配的稳定版固件
    别追新,别用测试版。2026年了,B19的OpenWrt官方版已经非常稳定,去官网下载即可。第三方魔改版可能加了不少“私货”,包括DNS劫持。

  2. 学会用SSH,比后台省心一百倍
    很多问题在后台界面看不出来,但SSH一眼就能看出问题。花半小时学几个常用命令,以后刷机、改配置、排查故障都轻松很多。


最后说一句,红米B19这台机器性价比确实高,刷机后性能更强,但玩机需谨慎。遇到问题别急着刷回官方,按这个攻略排查一遍,基本都能搞定。如果还不行,评论区留言,我看到都会回。祝大家上网飞快,DNS想改就改!

抱歉,评论功能暂时关闭!