通告 欢迎访问爱刷机(原爱搜路由、爱搜啊博客aisoa.cn)

smartdns,安装smartdns作为内网dns服务器解决dns污染,smartdns定义上游dns服务器

2021-07-23
0评论
/
阅读
管理员

简介

我使用过很多dns软件,但是唯独没有使用过bind,这个真的很有意思,今天要说的是smartdns,一个十分优秀的dns服务器

smartdns作为内网dns服务器

为什么要使用它

为了对抗dns污染,大家都知道一点的是dns污染最大的原因是dns使用了udp协议,所以理论上如果你的dns查询请求发出之后,如果dns劫持设备的发出的响应比真正dns服务器的响应包快的话,你永远会获取不到真正的域名ip,就比如我家的宽带请求某些域名得到的响应ip永远是127.0.0.1,这个就很有意思了,所以为了解决这个问题内网的dns服务器是要支持doh(DNS Queries over HTTPS和dot(DNS over TLS ),正好smartdns是支持使用dot或者doh方式去获取dns解析结果的。

当然除了解决dns污染,还有一个好处就是smartdns支持定义多个上游dns服务器,并且同时对上游的服务器进行查询,支持返回最快的ip地址,也支持域名分流,支持添加自定义解析,支持缓存查询结果,最关键的是支持持久化缓存的查询结果,不会因为dns服务器重启导致缓存丢失,跨平台,不仅x86平台可以使用,树莓派也是可以的

安装smartdns

首先clone项目

git clone https://github.com/pymumu/smartdns.git

之后编译

cd smartdns
make

当然可能需要安装openssl依赖,如果你没有的话

dnf install openssl-devel
make install

之后就是启动了

systemctl restart smartdns.service

如果一切正常,那么应该就可以解析域名了,之后我们自定义配置一下

定义一下缓存的记录

cache-size 409600

缓存持久化

cache-persist yes

持久化缓存文件的路径

cache-file /home/smartdns.cache

定义一下日志相关的东西

log-level info # 日志级别
log-file /home/smartdns.log # 日志文件路径
log-size 12800k # 日志文件大小
log-num 10 # 保留的日志文件数量

定义几个上游的dns服务器

server 114.114.114.114
server 223.5.5.5
server 119.29.29.29
server 8.8.8.8
server 8.8.4.4
server 208.67.222.222
server 119.29.29.29
server 1.2.4.8

-group的意思是

定义几个tls dns服务器

server-tls 1.0.0.1:853
##RedFish
server-tls 118.89.110.78:853
server-tls 47.96.179.163:853
##GeekDNS
server-tls 119.29.107.85:853
server-tls 47.101.136.37:853

定义几个https dns服务器

cd smartdns
make0

多定义几个没事,因为就算dns服务器访问不了,只要有一个dns服务器可以查询那么就可以返回正确的结果

定义自定义域名

cd smartdns
make1

详细的参数可以看

SmartDNS,高性能本地DNS服务器,极大优化网络访问速度

使用总结

这几天使用下来的感受还可以,功能上比dnsmasq强很多,之后慢慢观察吧,内网的速度也快了很多


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2021-07-23发布