聊聊云服务器 篇四:搭建自己的DNS服务器blocky DNS
在这个系列文章的开篇,我就简单介绍过blocky DNS,目前我的云服务器上依然搭建了这个服务。
blocky有什么作用呢?blocky DNS是一个开源项目,开源地址是:https://github.com/0xERR0R/blocky
主要功能是搭建DNS服务。
1.DNS优选,在若干个DNS服务器中选择当前浏览速度较快的,提升浏览体验。(对于国内网站基本用处不大)
另外还可以手动设置特定网站的DNS解析地址。
2.黑名单,可以对于特定网站进行屏蔽,起到广告屏蔽和安全上网的作用。
3.另外blocky DNS还可以提供prometheus的数据监控服务,使用起来非常方便。
接下来介绍一下blocky DNS的使用,由于属于底层应用基本没什么很炫酷的界面,基本就是代码搞定:
在服务器上基于docker安装blocky DNS:
sudo mkdir -p /home/set/blocky
cd /home/set/blocky
sudo vim config.yml
sudo docker run --restart always --name blocky -v /home/set/blocky/config.yml:/app/config.yml -p 4000:4000 -p 53:53/udp spx01/blocky
我的设置config.yml文件在 /home/set/blocky目录,接下来编辑一下配置文件:
#DNS设置
upstream:
default:
- 8.8.8.8
- 223.5.5.5
- 114.114.114.114
- 119.29.29.29
- 9.9.9.9
- 119.29.29.29
- 1.2.4.8
upstreamTimeout: 5s
port: 53
httpPort: 4000
logLevel: info
logFormat: json
caching:
minTime: 5m
maxTime: 30m
prefetching: true
#prometheus设置
prometheus:
enable: true
path: /metrics
queryLog:
dir: /logs
perClient: true
logRetentionDays: 7
#黑名单设置
blocking:
blackLists:
ads:
- ./hosts/blackhosts
通过上面的设置,我把常用的一些DNS集合到一起,通过blocky对我访问的网站进行DNS优选。另外就是设置blackhosts文件,把不需要访问的网站进行屏蔽(通过这样的方式你还可以管理公司或者家里的DNS服务)
blocky DNS还有一个有趣的功能就是提供metrics文件供prometheus采集,blocky DNS的metrics路径是:http://localhost:4000/metrics,添加到prometheus后可以通过prometheus的图表或者传递给grafana进行查看。
由于我的出租房网络条件很差,所以blocky DNS对于我而言还是提升了不少上网的体验。
当然对于大部分朋友而言这篇文章还便枯燥了,分享出来给用得上的朋友。
finggo
校验提示文案
略懂的大龙猫
校验提示文案
theoly
校验提示文案
略懂的大龙猫
校验提示文案
theoly
校验提示文案
finggo
校验提示文案