项目简介
SmartDNS是运行在本地的DNS服务器,用于提升DNS查询效率与响应速度。它接收本地客户端的DNS查询请求,从多个上游DNS服务器获取结果,将访问速度最快的结果返回给客户端,以此提高网络访问速度。同时,该系统支持指定特定域名的IP地址,通过高性能匹配实现过滤广告的效果。
项目的主要特性和功能
- 支持配置多个上游DNS服务器并同时查询,部分服务器异常也不影响查询。
- 能从域名所属IP地址列表中找出访问最快的IP地址返回给客户端。
- 支持UDP、TCP、TLS、HTTPS查询以及非53端口查询。
- 可指定域名的IP地址,实现广告过滤与避免访问恶意网站。
- 支持域名后缀匹配模式,简化过滤配置,过滤20万条记录时间小于1ms。
- 支持域名分流,不同类型域名可到不同DNS服务器查询。
- 支持标准Linux系统(树莓派)、openwrt系统各种固件、华硕路由器原生固件以及Windows 10 WSL。
- 支持IPV4、IPV6双栈,可查询A、AAAA记录,支持双栈IP速度优化,能完全禁用IPV6 AAAA解析。
- 采用多线程异步IO模式,通过cache缓存查询结果,高性能且占用资源少。
安装使用步骤
假设用户已下载本项目的源码文件。
1. 下载配套安装包
根据系统类型下载对应的SmartDNS安装包,并上传到目标系统中。
2. 标准Linux系统安装(树莓派、X86_64系统)
安装
shell
dpkg -i smartdns.xxxxxxxx.armhf.deb
或
shell
tar zxf smartdns.xxxxxxxx.x86-64.tar.gz
cd smartdns
chmod +x ./install
./install -i
修改配置
编辑配置文件 /etc/smartdns/smartdns.conf
,配置上游DNS服务器信息。
shell
vi /etc/smartdns/smartdns.conf
启动服务
shell
systemctl enable smartdns
systemctl start smartdns
将DNS请求转发到SmartDNS
修改本地路由器的DNS服务器配置,将DNS服务器配置为SmartDNS的IP地址。
3. openwrt/LEDE
安装
将软件包上传到路由器的 /root
目录,并执行以下命令安装:
shell
opkg install smartdns.xxxxxxxx.xxxx.ipk
opkg install luci-app-smartdns.xxxxxxxx.xxxx.all.ipk
修改配置
登录openwrt管理页面,打开 Services
-> SmartDNS
进行配置。
启动服务
勾选配置页面中的 Enable
来启动SmartDNS。
4. 华硕路由器原生固件/梅林固件
安装
将软件包上传到路由器的 /tmp/mnt/sda1
目录,并执行以下命令安装:
shell
ipkg install smartdns.xxxxxxx.mipsbig.ipk
重启路由器
重启路由器后,使用 nslookup -querytype=ptr smartdns
查询域名,检查服务是否配置成功。
5. optware/entware
安装
将软件包上传到路由器的 /tmp
目录,并执行以下命令安装:
shell
ipkg install smartdns.xxxxxxx.mipsbig.ipk
修改配置
编辑配置文件 /opt/etc/smartdns/smartdns.conf
,配置上游DNS服务器信息。
shell
vi /opt/etc/smartdns/smartdns.conf
重启路由器
重启路由器后,使用 nslookup -querytype=ptr smartdns
查询域名,检查服务是否配置成功。
6. Windows 10 WSL安装/WSL ubuntu
安装
下载安装包 smartdns.xxxxxxxx.x86_64.tar.gz
,并解压到D盘根目录。双击 install.bat
进行安装。
修改配置
编辑配置文件 D:\smartdns\etc\smartdns\smartdns.conf
,配置上游DNS服务器信息。
重新加载配置
双击 reload.bat
重新加载配置。
将DNS请求转发到SmartDNS
将Windows的默认DNS服务器修改为 127.0.0.1
。
检测服务是否配置成功
使用 nslookup -querytype=ptr smartdns
查询域名,检查服务是否配置成功。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】