如何配置使用Dnsmasq
此文已由作者赵斌授权网易云社区发布
欢迎访问网易云社区,了解更多网易技术产品运营经验。
一、前言
最近为了测试内容分发网络(Content Delivery Network,简称 CDN)CDN在调用外部API接口时,解析API的域名依赖于域名管理服务器,如果域名解析异常,会严重影响API的调用。于是添加了CDN内部增加域名解析管理模块,用于在域名解析异常时,使用已缓存的域名服务。为了测试此功能需要搭建DNS服务器,接下来介绍下如何在本地用Dnsmasq搭建简单的DNS缓存服务器及如何应用。
二、Dnsmasq的安装、配置、测试
Dnsmasq的安装
apt-get install dnsmasq
配置
编辑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
启动Dnsmasq
service dnsmasq restart
测试:dig www.baidu.com
编辑dnsmasq.hosts来注释掉 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>
此时dig www.baidu.com 得到的IP即为:1.1.1.1
四、Dnsmasq总结
使用Dnsmasq作为本地DNS服务器安装方便,操作简单。同时Dnsmasq的其他功能也很强大,如:支持反DNS劫持、加快解析速度、屏蔽广告、控制内网DNS、强制域名跳转到特定IP上等,这些功能在我们的实际的生活中都是很有用的,后续对于DNS有需求或有兴趣的可以深入研究。
内容分发网络(Content Delivery Network,简称 CDN),是网易云提供的网页和图片、文件下载、视频点播等类型的加速服务。通过将源站内容同步到全国各边缘节点,配合精准的调度系统,将用户的请求分配最佳节点,使用户快速获取内容。
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 缓存测试分享篇:如何利用测试环境进行灰度测试缓存迁移solo
【推荐】 AndroidApp的破解技术有哪些?如何防止反编译?
如何配置使用Dnsmasq的更多相关文章
- Dnsmasq 配置PXE批量安装系统
以下测试都是基于centos 7下的环境 需要安装的软件为 nginx 用来下载ks.cfg和系统镜像文件用的,也可以用ftp服务器来代替 dnsmasq 提供dhcp服务和tftp服务,也可以单独去 ...
- centos下dnsmasq安装与配置
说明1.dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能. 2.dnsmasq可以解决小范围的dns查询问题,如 ...
- centos6 名字服务dnsmasq配置
1 主机名配置 主机hd1配置(后面配置为名字服务器) [grid_hd@hd1 Desktop]$ cat /etc/sysconfig/network NETWORKING=yes HOSTNAM ...
- 树莓派安装DNSMASQ服务
功能: DNSMASQ是一款高性能的.小型的DNS服务器软件. * 缓存域名.IP地址,本地缓存解析的地址. * DHCP服务 1.安装 sudo apt-get update sudo apt-ge ...
- DNSmasq搭建DNS服务器
原文地址:http://jirry.me/2016/04/19/dnsmasq-on-aliyun/ DNSmasq 是一个小巧且方便地用于配置 DNS 和 DHCP 的工具,适用于小型网络,它提供了 ...
- Linux dnsmasq 服务
在日常开发中,有这么一个需求: 大家在公司内网同一个网段下,一般情况上网会由网关(一般是路由器)的DHCP服务分配IP.公司内网里放了几台服务器,分别配置成静态IP,这些IP是DHCP配置时预留的.服 ...
- RHEL/CentOS 7 中配置 PXE 网络启动服务器
RHEL/CentOS 7 中配置 PXE 网络启动服务器 作者: Matei Cezar 译者: LCTT joeren | 2015-02-17 14:28 评论: 13 收藏: 8 分享: ...
- Neutron分析(4)—— neutron-dhcp-agent
一.概述 neutron dhcp为租户网络提供DHCP服务,即IP地址动态分配,另外还会提供metadata请求服务. 3个主要的部件: DHCP agent scheduler:负责DHCP ag ...
- proxy解析
知其所以然 本文不是教程向,倾向于分析科学上网的一些原理.知其所以然,才能更好地使用工具,也可以创作出自己的工具. 科学上网的工具很多,八仙过海,各显神通,而且综合了各种技术.尝试从以下四个方面来解析 ...
随机推荐
- python中字符串使用需要注意的地方
1. r''的使用 'r'是防止字符转义的 如果路径中出现'\t'的话 不加r的话\t就会被转义 而加了'r'之后'\t'就能保留原有的样子 2. u''的使用 引号之前加上字母u时,python会将 ...
- ML2 Extension Manager
The extension manager for ML2 was introduced in Juno (more details can be found in the approvedspec) ...
- Delphi Stringlist Delimiter如何区分TAB和空格
var st: TStrings; begin st := TStringList.Create; st.StrictDelimiter := True;//这个多少人用过? st.Delimiter ...
- Oracle使用hs odbc连接mssql2008
1.创建odbc 2.在 product\11.2.0\dbhome_1\hs\admin\ 下拷贝initdg4odbc,把名字改为initcrmsql(init+所建odbc的名称) HS_FD ...
- python 正则表达式(一)
正则表达式(简称RE)本质上可以看作一个小的.高度专业化的编程语言,在Python中可以通过re模块使用它.使用正则表达式,你需要为想要匹配的字符串集合指定一套规则,字符串集合可以包含英文句子.e-m ...
- POJ 1258 Agri-Net(Prim算法)
题意:n个农场,求把所有农场连接起来所需要最短的距离. 思路:prim算法 课本代码: //prim算法 #include<iostream> #include<stdio.h> ...
- Java企业微信开发_04_消息推送之发送消息(主动)
源码请见: Java企业微信开发_00_源码及资源汇总贴 一.本节要点 1.发送消息与被动回复消息 (1)流程不同:发送消息是第三方服务器主动通知微信服务器向用户发消息.而被动回复消息是 用户发送消息 ...
- nodejs stream基础知识
分类 nodejs 的 stream 有四种: Readable:可读流 Writable: 可写流 Duplex:双工流 Transform:转换流 Readable // _read方法是从底层系 ...
- 汇编题目:在窗口上显示Welcome to masm!
题目:在屏幕中间分别显示绿色.绿底红色.白底蓝色的字符串'welcome to masm!'. 该程序题目来自<王爽 汇编语言_第2版>的188页的说明.相关资料也在上面都有详细说明. 题 ...
- BZOJ3039:玉蟾宫
浅谈栈:https://www.cnblogs.com/AKMer/p/10278222.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?id ...