smartdns,安装smartdns作为内网dns服务器解决dns污染,smartdns定义上游dns服务器
简介
我使用过很多dns软件,但是唯独没有使用过bind,这个真的很有意思,今天要说的是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强很多,之后慢慢观察吧,内网的速度也快了很多
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包