烂泥:dnsmasq搭建简易DNS服务器
本文由ilanniweb提供友情赞助,首发于烂泥行天下
想要获得更多的文章,可以关注我的微信ilanniweb。
今天我们来介绍一个比较简单的DNS服务器dnsmasq。这款软件,已经被我成功使用到公司的所有虚拟机中,目前公司有虚拟机80台左右,而且所在的服务器运行正常。现在看来dnsnasq还是能支持这么多的机器的,服务器的性能还是可以承担的。
一、dnsmasq简介
dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能。
dnsmasq可以解决小范围的dns查询问题,如果业务是跨机房、跨地区的话不建议使用dnsmasq做为dns解析服务器。
dnsmasq官网如下:
http://www.thekelleys.org.uk/dnsmasq/doc.html

下载dnsmasq地址如下:
http://www.thekelleys.org.uk/dnsmasq/

通过上图,我们可以看到dnsmasq目前还在持续性更新。
二、安装dnsmasq
dnsmasq的安装我们可以源码安装,也可以直接通过yum和apt-get方式进行安装,下面对此分别介绍下。
2.1 源码安装
源码安装dnsmasq,从dnsmasq官网下载,如下:
wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.75.tar.gz

yum -y install gcc

tar -xf dnsmasq-2.75.tar.gz
cd dnsmasq-2.75
make install


安装完毕后,查看下dnsmasq的版本。如下:
dnsmasq -v

2.2 yum和apt-get方式安装
yum方式安装,如下:
yum -y install dnsmasq

dnsmasq -v

apt-get方式安装,如下:
sudo apt-get -y install dnsmasq

dnsmasq -v

dnsmasq安装完毕后,现在我们来配置dnsmasq。
三、dnsmasq配置
dnsmasq配置选项比较多,我们可以根据实际需求来进行配置。下面介绍下,平时最常使用的配置方法。
vim /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
listen-address=192.168.1.24
address=/ilanni.com/192.168.1.24
server=223.5.5.5
bogus-nxdomain=223.5.5.5

resolve-file定义dnsmasq从哪里获取上游DNS服务器的地址, 默认是从/etc/resolv.conf获取。
在此我们定义的是从/etc/resolv.dnsmasq.conf文件中获得。
strict-order表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。
listen-address定义dnsmasq监听的地址,默认是监控本机的所有网卡上。
如果想让局域网内的其他机器使用dnsmasq解析域名的话,需要添加本机的IP地址。
address自定义域名解析的IP地址,在此已ilanni.com这个域名为例。注意dnsmasq是支持泛域名解析的,以上配置就是一个典型的泛域名解析实例。
address也可以过滤某些网站,比如如果不想让客户端解析youk.com这个域名的话,我们这个把该域名解析到一台不存在的服务器上或者解析到127.0.0.1这个地址。如下:
address=/ilanni.com/127.0.0.1
为了防止DNS污染,我们使用bogus-nxdomain定义DNS解析的服务器。
注意:如果在阿里云服务器上配置dnsmasq,一定要启用此项。
server这行告诉dnsmasq使用DNS服务器进行解析
我们也可以通过server对不通的网站使用不通的DNS服务器进行解析。如下:
server=/google.com/8.8.8.8
以上表示对于google的服务,使用谷歌的DNS解析。
以上配置完毕后,需要重启dnsmasq服务,重启完毕后局域网中的其他机器,就可以通过该DNS服务器解析公网的域名。
四、客户端测试
现在我们切换到客户端,修改客户端的dns配置文件。在此已centos6为例进行讲解,如下:
cat /etc/resolv.conf

nslookup ilanni.com
nslookup wwww.ilanni.com
nslookup www.baidu.com

通过上图,我们可以很明显的看出www.ilanni.com、ilanni.com都解析到了192.168.1.24这台服务器上,而www.baidu.com已经解析到公网的IP地址。
烂泥:dnsmasq搭建简易DNS服务器的更多相关文章
- 使用Dnsmasq搭建本地dns服务器上网
导读 搭建一个属于自己的本地DNS服务器很有必要,利用Dnsmasq来搭建一个属于自己的本地DNS服务器,享受更干净无污染.更智能快速和没有广告干扰的DNS解析服务. 一.Dnsmasq安装 安装并启 ...
- Dnsmasq安装与配置-搭建本地DNS服务器 更干净更快无广告DNS解析
默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...
- Dnsmasq安装与配置-搭建本地DNS服务器
默认的情况下,我们平时上网用的本地DNS服务器都是使用电信或者联通的,但是这样也导致了不少的问题,首当其冲的就是上网时经常莫名地弹出广告,或者莫名的流量被消耗掉导致网速变慢.其次是部分网站域名不能正常 ...
- Python中使用Flask、MongoDB搭建简易图片服务器
主要介绍了Python中使用Flask.MongoDB搭建简易图片服务器,本文是一个详细完整的教程,需要的朋友可以参考下 1.前期准备 通过 pip 或 easy_install 安装了 pymong ...
- ubuntu14.04 dnsmasq搭建本地名字服务器
1 修改dnsmasq配置文件/etc/dnsmasq.conf 在/etc/dnsmasq.conf文件底部增加 #++++++++++++++++++++++++++++++++++++++++ ...
- 理解tomcat之搭建简易http服务器
做过java web的同学都对tomcat非常熟悉.我们在使用tomcat带来的便利的同时,是否想过tomcat是如何工作的呢?tomcat本质是一个http服务器,本篇文章将搭建一个简单的http服 ...
- Centos7搭建主从DNS服务器
1.准备 例:两台192.168.11.10(主),192.168.11.11(从),域名www.test1.com # 主从DNS服务器均需要安装bind.bind-chroot.bind-util ...
- Ubuntu 14.10下搭建简易FTP服务器[vsftpd]
Ubuntu下公认最易上手的ftp软件是vsftpd,既然标题都说了是“简易”的,那么必然是用最大众的..下面是正题 目标需求:搭建一个允许匿名/本地登录的FTP,并且支持上传/下载/修改功能,同时F ...
- python3用http.server模块搭建简易版服务器
基本流程: 1.需要的支持 1)python3用http模块下的子模块,即:http.server模块 2)将希望共享的文件放在c盘下,如:C:\游戏行业面试专用 2.打开cmd,cd c:\\pyt ...
随机推荐
- web前端学习随笔
为什么是随笔 好好算下来,学习web前端已有半个月了,这半个月来主要学习的是HTML和CSS部分,期间有困惑,也有解决困惑时的快感,所以想把这段时间感受到的一些东西记下来,因为内容比较杂,所以干脆叫随 ...
- Sql Server之数据类型详解
数据类型是一种属性,用于指定对象可保存的数据的类型,SQL Server中支持多种数据类型,包括字符类型.数值类型以及日期类型等.数据类型相当于一个容器,容器的大小决定了装的东西的多少,将数据分为 ...
- springmvc处理上传图片代码(校验图片尺寸、图片大小)
package com.maizuo.web.controller; import com.maizuo.domain.Result; import com.maizuo.util.Constants ...
- javascript设计模式实践之模板方法--具有百叶窗切换图片效果的JQuery插件(二)
在上一篇<javascript设计模式实践之迭代器--具有百叶窗切换图片效果的JQuery插件(一)>里,通过采用迭代器模式完成了各初始化函数的定义和调用. 接下来就要完成各个切换效果的编 ...
- C#新手常犯的错误
虽然这篇post的标题是新手常犯的错误,实际上很多有经验的程序员也经常犯这些错误,我整理了一下,就当是笔记.1.遍历List的错误,比如如下代码: List<String> strList ...
- ActiveX(五)更好的“ActiveX”?
前文中四篇随笔.已经可以实现 ActiveX 与 Js 无缝交互. 也就是说借用ActiveX实现更加强大的功能已经完全不是问题.但是.ActiveX 本身还有一个局限性——浏览器兼容问题.如此强大的 ...
- Spring 3.0 AOP (一)AOP 术语
关于AOP.之前我已写过一个系列的随笔: <自己实现简单的AOP>,它的关注点在于实现.实现语言是C#,实现方式为 自定义实现 RealProxy 抽象类.重写Invoke方法,以便进行方 ...
- 基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息
在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单.运单合并.到货扫描.扣仓.出仓.查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于 ...
- 第一篇:Entity Framework 简介
先从ORM说起吧,很多年前,由于.NET的开源组件不像现在这样发达,更别说一个开源的ORM框架,出于项目需要,以及当时OOP兴起(总不至于,在项目里面全是SQL语句),就自己开始写ORM框架.要开发O ...
- eclipse 突然 一直在loading descriptor for XXX (XXX为工程名)
问题: eclipse 启动后,啥也不干,就一直在loading descriptor for XXX (XXX为工程名),,其他什么操作都不能操作. 如下图所示,保存文件也无法保存. 这个怎么办? ...