公众号关注 「奇妙的 Linux 世界」
设为「星标」,每天带你玩转 Linux !

你是否还在为 DNS 污染问题烦恼?是否厌倦了国外网站访问慢、解析不准确的问题?
今天给大家介绍一个开源项目 —— EasyMosdns,它能让你在几分钟内搭建一台支持 ECS 的无污染 DNS 服务器。
什么是 EasyMosdns?
EasyMosdns 是基于 Mosdns/Mosdns-x 制作的 EDNS 部署方案,内置中国大陆地区优化规则与分流 API,满足DNS 日常使用场景。简单来说,它是一个开箱即用的 DNS 解决方案。
传统的 DNS 配置往往需要深度的网络知识和复杂的配置过程。而 EasyMosdns 把这些复杂的工作都封装好了,让普通用户也能轻松搭建专业级的 DNS 服务器。
项目地址:https://github.com/pmkol/easymosdns
官方文档:https://apad.pro/easymosdns
为什么选择 EasyMosdns?
解决 DNS 污染痛点
DNS 污染是国内网络环境的老大难问题。当你访问某些网站时,DNS 查询可能返回错误的 IP 地址,导致网站无法访问或访问速度极慢。
EasyMosdns 通过智能分流策略完美解决这个问题。它能自动识别域名类型,对不同域名采用不同的解析策略:
- • 国内域名使用国内 DNS 服务器解析
- • 海外域名通过无污染通道解析
- • 可疑域名自动走分流 API 确保解析准确性
支持 ECS 优化 CDN 访问
EDNS Client Subnet (ECS) 是 DNS 的一个扩展机制,允许递归 DNS 解析器指定客户端的子网信息,帮助 CDN 选择离客户端最近的服务器。
简单理解,ECS 就像给 DNS 查询加了个「定位服务」。当你访问一个使用 CDN 的网站时,DNS 服务器会根据你的位置信息,返回离你最近的 CDN 节点 IP。这样网站加载速度会更快。
EasyMosdns 内置了针对中国大陆优化的 ECS 配置,确保你能获得最佳的访问体验。
核心功能特性
智能分流机制
EasyMosdns 采用多层分流策略:
- 1. 本地上游并发请求:同时向 DNSPod 和 AliDNS 发起查询,选择最快响应
- 2. 远程上游优先请求:优先使用 EasyMosDNS 分流 API(DoH)
- 3. 备用上游超时处理:当主要上游超时时,自动切换到 GoogleDNS 和 OpenDNS
这种多重保障机制确保了 DNS 解析的速度和稳定性。
隐私保护机制
对于污染列表和自定义列表中的域名,EasyMosdns 在请求上游 DNS 时会自动替换附带的用户 IP 子网信息,保护用户隐私。
强化 Hosts 功能
传统 hosts 文件功能有限,而 EasyMosdns 提供了增强版:
- • 域名支持多个 IP 地址
- • 完整支持 IPv6
- • 支持域名通配符匹配
缓存优化策略
EasyMosdns 提供了两套缓存策略:
- • 局域网缓存:针对内网环境优化,缓存时间较短
- • 广域网缓存:针对公网环境优化,支持 Redis 持久化
缓存系统还支持自动更新和压缩存储,在保证解析速度的同时节省存储空间。
恶意广告过滤
内置轻度广告过滤功能,可以屏蔽常见的恶意广告域名。用户还可以通过白名单自定义过滤规则。
自动规则更新
支持规则自动更新机制,提供直连和 CDN 两种下载方式:
- • 直连方式:适合网络环境较好的用户
- • CDN 方式:适合网络环境一般的用户
安装使用教程
环境要求
在开始安装前,请确保满足以下条件:
- • 已安装 Mosdns 4.5.3 版本或 Mosdns-x
- • Mosdns 工作目录为
/etc/mosdns - • 已备份现有的 config 配置文件
快速安装
- 1. 下载源码包
wget https://mirror.apad.pro/dns/easymosdns.tar.gz
tar xzf easymosdns.tar.gz
- 2. 备份并替换配置
mv /etc/mosdns /etc/mosdns.old
mv easymosdns /etc/mosdns
- 3. 重新安装并启动服务
mosdns service install -d /etc/mosdns -c config.yaml
mosdns service start
看到 service is running 信息就说明部署成功了。
- 4. 配置防火墙
开启必要的防火墙端口:
- • UDP 53:DNS 标准端口
- • TCP 53:DNS over TCP
- • TCP 80、443:HTTP/HTTPS
- • TCP 853:DNS over TLS
高级配置指南
自定义 Hosts 规则
编辑 /etc/mosdns/hosts.txt 文件:
dns.google 8.8.8.8 8.8.4.4 2001:4860:4860::8888
github.com 140.82.112.3 140.82.112.4
注意:格式与传统 hosts 不同,域名在前,IP 在后,支持多个 IP 地址。
配置强制 ECS
对于某些需要获得最佳 CDN 效果的域名,可以强制附带本地 ECS:
编辑 /etc/mosdns/ecs_cn_domain.txt:
domain:github.com
full:stackoverflow.com
keyword:google
配置上游 DNS 服务器
在 /etc/mosdns/config.yaml 中可以自定义上游服务器:
本地上游配置:
- tag: forward_local
type: fast_forward
args:
upstream:
- addr: "223.5.5.5"
- addr: "119.29.29.29"
远程上游配置:
- tag: forward_remote
type: fast_forward
args:
upstream:
- addr: "tcp://208.67.220.220:5353"
enable_pipeline: true
#socks5: "127.0.0.1:1080"
- addr: "udpme://8.8.8.8"
如果网络环境需要代理,可以取消 socks5 配置的注释。
启用 Redis 缓存
对于高并发环境,建议启用 Redis 缓存:
- 1. 安装 Redis 服务
- 2. 修改配置文件,取消 Redis 配置注释:
redis: "redis://127.0.0.1:6379/0"
配置自动更新规则
使用 crontab 设置定时任务:
crontab -e
添加以下规则(每日 5 点通过 CDN 更新):
0 5 * * * /etc/mosdns/rules/update-cdn
支持 DoH 和 DoT
启用 DNS over HTTPS:
取消配置文件中以下部分的注释:
- protocol: http
addr: "127.0.0.1:9053"
url_path: "/dns-query"
get_user_ip_from_header: "X-Forwarded-For"
建议使用 Nginx 反向代理:
server {
location /dns-query {
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
proxy_pass http://127.0.0.1:9053/dns-query;
}
}
启用 DNS over TLS:
取消以下配置注释并指定 SSL 证书:
- protocol: tls
addr: "0.0.0.0:853"
cert: "/etc/mosdns/yourdomain.cert"
key: "/etc/mosdns/yourdomain.key"
性能优化建议
根据环境选择缓存策略
- • 家庭环境:使用默认的内存缓存即可
- • 企业环境:建议启用 Redis 缓存,提高并发处理能力
- • 公共服务:开启压缩存储,节省内存占用
上游 DNS 选择策略
- • 国内用户:优先使用 AliDNS + DNSPod 组合
- • 海外用户:推荐 GoogleDNS + CloudflareDNS 组合
- • 网络受限环境:配置 SOCKS5 代理确保连通性
定制化分流规则
EasyMosdns 支持高度定制化的分流规则。你可以:
- • 根据域名关键字进行分流
- • 按照 IP 段进行分流
- • 设置特定域名走特定上游
常见问题排查
服务启动失败
- 1. 检查端口是否被占用:
netstat -tlnp | grep :53 - 2. 确认配置文件语法正确:
mosdns start --dry-run -c /etc/mosdns/config.yaml - 3. 查看详细错误信息:
journalctl -u mosdns -f
DNS 解析异常
- 1. 测试本地解析:
dig @127.0.0.1 google.com - 2. 检查上游连通性:
ping 8.8.8.8 - 3. 查看分流日志确认规则生效
性能问题
- 1. 监控缓存命中率
- 2. 调整并发查询数量
- 3. 优化上游 DNS 服务器选择
项目生态与社区
EasyMosdns 基于 Mosdns-x 项目开发,拥有活跃的开源社区。项目特点:
- • 完全开源:代码透明,可自由定制
- • 持续更新:规则库定期更新,紧跟网络环境变化
- • 社区支持:Telegram 群组提供技术支持
总结
EasyMosdns 是一个功能强大且易于使用的 DNS 解决方案。它不仅解决了 DNS 污染问题,还通过 ECS 优化、智能缓存、自动更新等功能,为用户提供了完整的 DNS 服务体验。
无论你是网络管理员想要部署企业 DNS 服务,还是技术爱好者希望优化家庭网络环境,EasyMosdns 都是一个值得尝试的选择。
赶快试试吧,几分钟就能让你告别 DNS 烦恼!

🚀 最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」 公众号直接回复 「加群」 邀请你入群。
🌟『极客视界』科技达人必备综合资讯指南,等你来探索!访问网址 https://bestgeek.org 即可打开新世界。
📕 关注『奇妙的 Linux 世界』公众号,带你开启有趣新生活!更多好用好玩的软件资源,可访问 https://666666.dev 免费获取。

你可能还喜欢
点击下方图片即可阅读
网页复制神器 SmartCopy 重磅更新!一键将任意网页变为精美的 Markdown 笔记
点击上方图片,『美团|饿了么』大额外卖红包天天免费领

更多有趣的互联网新鲜事,关注「奇妙的互联网」视频号全了解!



4684

被折叠的 条评论
为什么被折叠?



