MosDNS 是一款专为 OpenWrt 路由器设计的高性能 DNS 转发和过滤工具,主要用于改善家庭网络中的 DNS 解析体验。它结合了高效解析、规则过滤和隐私保护功能,能够有效屏蔽广告、恶意网站,并支持多种上游 DNS 协议(如 DoH、DoT、Plain DNS 等)。MosDNS 的核心优势在于其灵活性和强大的规则管理能力,适合需要对 DNS 流量进行精细控制的用户。
1. 确认设备架构
在安装之前,必须确认你的路由器硬件架构,以确保下载的 .ipk
文件与设备兼容。
方法 1:通过 OpenWrt Web 界面
- 登录 OpenWrt Web 界面 :
- 打开浏览器,访问路由器的管理页面(通常是
http://192.168.1.1
)。
- 输入用户名和密码登录(默认用户名通常是
root
)。
- 查看系统信息 :
- 在左侧菜单中找到
系统
-> 系统
。
- 向下滚动到“系统信息”部分,查找 “处理器架构” 或 “Architecture” 字段。
- 输出:
Processor: x86_64
- 常见的架构包括:
x86_64
:适用于 Intel/AMD 64 位处理器。
aarch64
或 arm64
:适用于 ARM 64 位处理器。
mipsel
:适用于 MIPS 架构的处理器。
方法 2:通过命令行
- 连接到路由器 :
- 使用 SSH 工具(如 FinalShell、PuTTY 或终端)连接到路由器。
- 运行以下命令 :
uname -m
输出:
x86_64
- 查看详细 CPU 信息(可选) : 如果需要更多详细信息,可以运行以下命令:
cat /proc/cpuinfo
2. 下载所需的 .ipk
文件
根据确认的设备架构,前往 luci-app-mosdns Releases 页面,下载适合你设备架构的文件。
(1)MosDNS 核心程序
- 文件名:
mosdns_<version>_<arch>.ipk
- 示例:
mosdns_5.3.3-r4_x86_64.ipk
(2)LuCI 插件
- 文件名:
luci-app-mosdns_<version>_all.ipk
- 示例:
luci-app-mosdns_1.6.11-r1_all.ipk
(3)中文语言包(可选)
- 文件名:
luci-i18n-mosdns-zh-cn_<version>_all.ipk
- 示例:
luci-i18n-mosdns-zh-cn_25.061.23891.2523534_all.ipk
(4)规则更新工具(可选)
- 文件名:
v2dat_<version>_<arch>.ipk
- 示例:
v2dat_2022.12.15.47b8ee51-r2_x86_64.ipk
你可以直接点击文件链接下载到本地电脑,或者使用 wget
命令在路由器上直接下载。
3. 上传 .ipk
文件到路由器
将下载的 .ipk
文件上传到路由器的 /tmp/mosdns/
目录。以下是两种常见方法:
方法 1:通过 SCP 或 WinSCP 上传
- 使用 SCP 或 WinSCP 工具连接到路由器。
- SCP 命令示例 (Linux/MacOS 终端):
scp mosdns_5.3.3-r4_x86_64.ipk root@192.168.1.1:/tmp/mosdns/
scp luci-app-mosdns_1.6.11-r1_all.ipk root@192.168.1.1:/tmp/mosdns/
scp luci-i18n-mosdns-zh-cn_25.061.23891.2523534_all.ipk root@192.168.1.1:/tmp/mosdns/
scp v2dat_2022.12.15.47b8ee51-r2_x86_64.ipk root@192.168.1.1:/tmp/mosdns/
- WinSCP :
- 打开 WinSCP,输入路由器的 IP 地址、用户名(通常是
root
)和密码。
- 将
.ipk
文件拖放到 /tmp/mosdns/
目录。
方法 2:直接在路由器上下载
如果路由器可以直接访问互联网,可以在路由器上使用 wget
命令下载文件:
mkdir -p /tmp/mosdns
cd /tmp/mosdns
wget https://github.com/sbwml/luci-app-mosdns/releases/download/v5.3.3-r4/mosdns_5.3.3-r4_x86_64.ipk
wget https://github.com/sbwml/luci-app-mosdns/releases/download/v5.3.3-r4/luci-app-mosdns_1.6.11-r1_all.ipk
wget https://github.com/sbwml/luci-app-mosdns/releases/download/v5.3.3-r4/luci-i18n-mosdns-zh-cn_25.061.23891.2523534_all.ipk
wget https://github.com/sbwml/luci-app-mosdns/releases/download/v5.3.3-r4/v2dat_2022.12.15.47b8ee51-r2_x86_64.ipk
4. 检查文件是否正确上传
运行以下命令,确认文件已成功上传到 /tmp/mosdns/
目录:
ls /tmp/mosdns/
你应该看到类似以下的输出:
luci-app-mosdns_1.6.11-r1_all.ipk
luci-i18n-mosdns-zh-cn_25.061.23891.2523534_all.ipk
mosdns_5.3.3-r4_x86_64.ipk
v2dat_2022.12.15.47b8ee51-r2_x86_64.ipk
5. 安装 MosDNS 和相关组件
按照以下顺序安装各个组件。
(1)安装规则更新工具(v2dat
)
运行以下命令安装 v2dat
:
opkg install /tmp/mosdns/v2dat_2022.12.15.47b8ee51-r2_x86_64.ipk
(2)安装 MosDNS 核心程序
运行以下命令安装 mosdns
:
opkg install /tmp/mosdns/mosdns_5.3.3-r4_x86_64.ipk
(3)安装 LuCI 插件
运行以下命令安装 luci-app-mosdns
:
opkg install /tmp/mosdns/luci-app-mosdns_1.6.11-r1_all.ipk
(4)安装中文语言包(可选)
如果你需要使用中文界面,可以安装 luci-i18n-mosdns-zh-cn
:
opkg install /tmp/mosdns/luci-i18n-mosdns-zh-cn_25.061.23891.2523534_all.ipk
6. 启动 MosDNS 服务
安装完成后,启动 MosDNS 服务并设置开机自启:
/etc/init.d/mosdns start
/etc/init.d/mosdns enable
说明:可以在web界面启动。
常见问题及解决方案
问题 1:No such file or directory
原因
- 文件未正确上传到路由器。
- 文件路径或名称拼写错误。
解决方法
- 确认文件是否存在于
/tmp/mosdns/
目录中:
ls /tmp/mosdns/
- 确保文件名完全匹配(包括大小写和
.ipk
后缀)。
- 如果文件不存在,重新上传文件。
问题 2:依赖项缺失
例如,安装 luci-app-mosdns
时提示缺少 v2dat
:
pkg_hash_check_unresolved: cannot find dependency v2dat for luci-app-mosdns
解决方法
先安装依赖项(如 v2dat
),然后再安装主程序:
opkg install tmp/mosdns/v2dat_2022.12.15.47b8ee51-r2_x86_64.ipk
opkg install /tmp/mosdns/luci-app-mosdns_1.6.11-r1_all.ipk
问题 3:架构不匹配
例如,安装时提示与架构不兼容:
Packages for luci-app-mosdns found, but incompatible with the architectures configured
解决方法
- 确认设备架构:
uname -m
- 确保所有
.ipk
文件与设备架构匹配。例如,如果你的设备是 x86_64
,则需要下载 x86_64
版本的文件。
问题 4:磁盘空间不足
例如,安装时提示存储空间不足:
No space left on device