工具简介
MOSDNS 是一款轻量级DNS转发/分流工具,支持DoH/DoT、域名规则分流、缓存加速等,适合在OpenWRT路由器上实现国内外域名解析优化。
一、安装MOSDNS适用环境:OpenWRT 21.02+(x86/ARM架构均支持)
1. 下载对应架构的IPK文件
访问MOSDNS GitHub Releases页面:
https://github.com/kkkgo/mosdns/releases
根据路由器CPU架构选择对应版本(常见架构):
2. 上传IPK文件至路由器
使用WinSCP或SSH工具将IPK文件上传至/tmp目录:
- scp mosdns_xx.x.x_linux_amd64.ipk root@192.168.1.1:/tmp/
3. SSH安装
登录路由器SSH,执行以下命令:
- opkg update
- opkg install /tmp/mosdns_xx.x.x_linux_amd64.ipk
二、基础配置
1. 创建配置文件
编辑配置文件/etc/mosdns/config.yaml:
- # 基础监听设置
- listen:
- - protocol: udp
- addr: ":5353" # 监听端口(避免与Dnsmasq冲突)
- - protocol: tcp
- addr: ":5353"
-
- # 上游DNS服务器
- upstream:
- - tag: local_dns
- addr: "udp://223.5.5.5" # 国内DNS
- - tag: foreign_dns
- addr: "tcp://8.8.8.8" # 国外DNS
-
- # 缓存设置
- cache:
- size: 2000
- lazy_cache_ttl: 86400
-
- # 域名分流规则
- rules:
- - type: query_matcher
- args:
- - type: geosite
- keyword: cn
- server: local_dns
- - server: foreign_dns
2. 设置开机启动
创建Init脚本/etc/init.d/mosdns:
- #!/bin/sh /etc/rc.common
-
- START=99
- USE_PROCD=1
-
- start_service() {
- procd_open_instance
- procd_set_param command /usr/bin/mosdns -c /etc/mosdns/config.yaml
- procd_set_param respawn
- procd_close_instance
- }
赋予执行权限:
- chmod +x /etc/init.d/mosdns
- /etc/init.d/mosdns enable
- /etc/init.d/mosdns start
三、OpenWRT联动设置
1. 修改Dnsmasq配置
编辑/etc/dnsmasq.conf,指向MOSDNS:
- no-resolvserver=127.0.0.1#5353 # 使用MOSDNS作为上游
2. 重启服务
- /etc/init.d/dnsmasq restart
- /etc/init.d/mosdns restart
四、验证与使用
1. 检查服务状态
- netstat -tuln | grep 5353 # 确认端口监听
- logread | grep mosdns # 查看日志
2. 测试解析
- nslookup google.com 127.0.0.1 -port=5353
常见问题
相关资源