如何配置使用Dnsmasq

此文已由作者赵斌授权网易云社区发布

欢迎访问网易云社区,了解更多网易技术产品运营经验。

一、前言

最近为了测试内容分发网络(Content Delivery Network,简称 CDN)CDN在调用外部API接口时,解析API的域名依赖于域名管理服务器,如果域名解析异常,会严重影响API的调用。于是添加了CDN内部增加域名解析管理模块,用于在域名解析异常时,使用已缓存的域名服务。为了测试此功能需要搭建DNS服务器,接下来介绍下如何在本地用Dnsmasq搭建简单的DNS缓存服务器及如何应用。

二、Dnsmasq的安装、配置、测试

  1. Dnsmasq的安装

apt-get install dnsmasq
  1. 配置

  • 编辑dnsmasq.conf配置文件

vim dnsmasq.conf 找到#resolv-file修改为:resolv-file=/etc/resolv.dnsmasq.conf添加:
addn-hosts=/etc/dnsmasq.hosts
  • 编辑resolv.conf配置文件

cp /etc/resolv.conf /etc/resolv.dnsmasq.conf vi /etc/resolv.conf将其中的域名服务器全部去掉,添加:
nameserver 127.0.0.1
  • 编辑dnsmasq.hosts来设置域名

1.1.1.1 www.baidu.com2.2.2.2 www.kaola.com
  1. 启动Dnsmasq

service dnsmasq restart
  1. 测试:dig www.baidu.com


#1.1.1.1 www.baidu.com2.2.2.2 www.kaola.com
  • 再次启动Dnsmasq

service dnsmasq restart

三、Dnsmasq在CDN中的应用

  • 编辑dnsmasq.hosts来设置域名

1.1.1.1 www.baidu.com
  • 启动Dnsmasq

service dnsmasq restart
  • 修改CDN配置文件中关于dns的部分

<dnsCacheUpdateCycle>5</dnsCacheUpdateCycle><dnsCacheDomains>www.baidu.com</dnsCacheDomains><dnsServer>127.0.0.1</dnsServer>

四、Dnsmasq总结

使用Dnsmasq作为本地DNS服务器安装方便,操作简单。同时Dnsmasq的其他功能也很强大,如:支持反DNS劫持、加快解析速度、屏蔽广告、控制内网DNS、强制域名跳转到特定IP上等,这些功能在我们的实际的生活中都是很有用的,后续对于DNS有需求或有兴趣的可以深入研究。


内容分发网络(Content Delivery Network,简称 CDN),是网易云提供的网页和图片、文件下载、视频点播等类型的加速服务。通过将源站内容同步到全国各边缘节点,配合精准的调度系统,将用户的请求分配最佳节点,使用户快速获取内容。

       

免费体验云安全(易盾)内容安全、验证码等服务

11.1—11.15云计算基础服务全场5折起

更多网易技术、产品、运营经验分享请点击


相关文章:
【推荐】 缓存测试分享篇:如何利用测试环境进行灰度测试缓存迁移solo
【推荐】 AndroidApp的破解技术有哪些?如何防止反编译?

原文地址:https://www.cnblogs.com/163yun/p/9930358.html