在现代家庭网络环境中,路由器早已不再是简单的网络地址转换设备,通过刷写如Tomato这样的高级固件,我们可以将路由器打造成一个功能强大的网络控制中心,在Tomato固件上搭建自定义DNS服务是一项极具价值的应用,它不仅能提升网络访问的隐私性和速度,还能实现全设备的广告拦截与内容过滤,为整个局域网带来质的飞跃。

为何要在路由器层面搭建DNS?
传统的网络设置中,DNS服务器通常由互联网服务提供商(ISP)自动分配,这存在几个明显的弊端,ISP的DNS服务器可能会记录用户的浏览历史,存在隐私泄露的风险,其解析速度和稳定性并非总是最优,而在路由器上搭建自定义DNS服务,则能从根本上解决这些问题,并带来诸多额外优势:
- 全网络广告拦截:通过集成AdGuard Home、Pi-hole等工具,可以在DNS解析层面直接屏蔽已知的广告、跟踪和恶意软件域名,这意味着连接到该网络的所有设备——无论是电脑、手机、智能电视还是游戏机——都能享受到无广告的清爽体验,且无需在每个设备上单独安装拦截软件。
- 强化隐私保护:您可以自由选择将DNS查询请求发送给哪些上游服务器,例如注重隐私的Cloudflare(1.1.1.1)、Quad9(9.9.9.9)等,从而避免ISP的追踪。
- 本地DNS缓存加速:当网络内任何设备访问过某个域名后,解析结果会被缓存在路由器上,下次再访问时,路由器可直接返回IP地址,显著缩短了域名解析的时间,提升网页加载速度。
- 自定义局域网域名:可以轻松为网络内的NAS、打印机、摄像头等设备设置易于记忆的本地域名(如
nas.lan),方便访问和管理。
准备工作:启用JFFS分区
在开始安装DNS服务之前,最关键的一步是确保Tomato固件的JFFS(Journalling Flash File System)分区已启用,JFFS是路由器闪存中一块可读写的区域,我们将用它来存放AdGuard Home等程序的配置文件和数据库。
进入Tomato管理界面,导航至“管理员设置” -> “JFFS”页面,选择“启用”,然后格式化JFFS分区(如果之前未使用过),保存设置并重启路由器,这一步是后续所有操作的基础,请务必完成。
安装与配置AdGuard Home
AdGuard Home是一个功能强大且资源占用相对较低的开源DNS解决方案,非常适合在路由器上运行。
第一步:通过SSH连接路由器
您需要一个SSH客户端(如Windows上的PuTTY或macOS/Linux上的终端),使用以下命令连接到您的路由器(默认IP地址为192.168.1.1,用户名为admin):
ssh admin@192.168.1.1

第二步:下载并安装AdGuard Home 连接成功后,您需要获取适用于您路由器CPU架构的AdGuard Home版本,大多数Tomato路由器基于MIPS架构,但部分新型号可能为ARM,您可以在AdGuard Home的GitHub发布页面找到对应的版本。
使用wget命令直接下载到路由器的JFFS分区中,下载MIPS版本:
cd /jffs
wget https://github.com/AdguardTeam/AdGuardHome/releases/download/v[版本号]/AdGuardHome_linux_mipsle.tar.gz
下载完成后,解压文件:
tar -xzvf AdGuardHome_linux_mipsle.tar.gz
进入解压后的目录并运行安装脚本:
cd AdGuardHome
./AdGuardHome -s install
第三步:初始化配置
安装脚本会自动将AdGuard Home设置为系统服务,打开浏览器,访问 http://192.168.1.1:3000,您将看到AdGuard Home的初始化向导,按照提示设置管理员用户名和密码。
第四步:配置Tomato的DHCP服务 这是让所有设备自动使用新DNS服务的关键一步,回到Tomato管理界面,进入“基本设置” -> “网络”页面,在“DHCP服务器”部分,找到“DNS”选项。

| 配置项 | 修改前 | 修改后 |
|---|---|---|
| DNS | 自动 (从ISP获取) | 168.1.1 (路由器IP) |
将“自动”改为手动,并填入路由器自身的IP地址,这样,所有通过DHCP获取IP的设备,都会将DNS服务器指向您的路由器,从而由AdGuard Home接管所有DNS查询。
保存设置并重启路由器,至此,整个搭建过程便已完成,您可以在AdGuard Home的管理界面(默认为http://192.168.1.1,端口80)查看查询日志、过滤规则,并享受纯净的网络环境。
相关问答 (FAQs)
Q1:搭建DNS服务后,部分设备无法上网或网络变慢怎么办? A1:这通常由两个原因导致,第一,可能是上游DNS服务器选择不当或响应较慢,建议在AdGuard Home的设置中,尝试更换为其他公共DNS,如Cloudflare、Quad9或阿里DNS,第二,如果开启了DNS over HTTPS (DoH) 或 DNS over TLS (DoT),可能会因路由器性能不足或网络环境干扰导致连接问题,可以尝试暂时关闭这些加密功能,观察网络是否恢复正常。
Q2:在Tomato路由器上运行AdGuard Home会严重影响性能吗? A2:这取决于您的路由器硬件配置和网络设备的数量,对于拥有较好CPU(如双核或更高)和至少256MB内存的现代路由器,AdGuard Home的资源占用是完全可接受的,对日常上网体验影响微乎其微,但如果您的路由器型号较老、配置较低,在高负载情况下(如多人同时观看高清视频),可能会感到轻微的卡顿,建议在安装后通过Tomato的“实时监控”功能观察CPU和内存使用率。