介绍
SmartDNS是一个运行在本地的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,提高网络访问速度。 同时支持指定特定域名IP地址,并高性匹配,达到过滤广告的效果。
与dnsmasq的all-servers不同,smartdns返回的是访问速度最快的解析结果。
特性
多DNS上游服务器
1
支持配置多个上游DNS服务器,并同时进行查询,即使其中有DNS服务器异常,也不会影响查询。
返回最快IP地址
1
支持从域名所属IP地址列表中查找到访问速度最快的IP地址,并返回给客户端,提高网络访问速度。
支持多种查询协议
1
支持UDP,TCP,TLS, HTTPS查询,以及非53端口查询。
特定域名IP地址指定
1
支持指定域名的IP地址,达到广告过滤效果,避免恶意网站的效果。
域名高性能后缀匹配
1
支持域名后缀匹配模式,简化过滤配置,过滤20万条记录时间<1ms
域名分流
1
支持域名分流,不同类型的域名到不同的DNS服务器查询。
Linux/Windows多平台支持
1
支持标准Linux系统(树莓派),openwrt系统各种固件,华硕路由器原生固件。以及支持Windows 10 WSL (Windows Subsystem for Linux)。
支持IPV4, IPV6双栈
1
支持IPV4,IPV6网络,支持查询A, AAAA记录,支持双栈IP速度优化,并支持完全禁用IPV6 AAAA解析。
高性能,占用资源少
1
多线程异步IO模式,cache缓存查询结果。
架构
1 | 1. SmartDNS接收本地网络设备的DNS查询请求,如PC,手机的查询请求。 |
安装部署
- 下载
1 | # 最新版下载 |
安装
1
2
3tar -zxvf smartdns.1.2021.08.27-1923.x86_64-linux-all.tar.gz
cd smartdns
./install -i配置
1 | vim /etc/smartdns/smartdns.conf |
服务器上配置
1 | # 服务器上添加此DNS server IP |
实际案例应用
IDC纯内网环境
1
纯内网环境没有出公网能力,所以无法使用公网DNS server IP,需要自建内网DNS server。
混合云业务
1 | 私有云/IDC测序访问云上服务,如对象存储、日志服务等。 |