烂泥:dnsmasq搭建简易DNS服务器

简介:
+关注继续查看

今天我们来介绍一个比较简单的DNS服务器dnsmasq。这款软件,已经被我成功使用到公司的所有虚拟机中,目前公司有虚拟机80台左右,而且所在的服务器运行正常。现在看来dnsnasq还是能支持这么多的机器的,服务器的性能还是可以承担的。

一、dnsmasq简介

dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能。

dnsmasq可以解决小范围的dns查询问题,如果业务是跨机房、跨地区的话不建议使用dnsmasq做为dns解析服务器。

dnsmasq官网如下:

http://www.thekelleys.org.uk/dnsmasq/doc.html

clip_image001

下载dnsmasq地址如下:

http://www.thekelleys.org.uk/dnsmasq/

clip_image002

通过上图,我们可以看到dnsmasq目前还在持续性更新。

二、安装dnsmasq

dnsmasq的安装我们可以源码安装,也可以直接通过yum和apt-get方式进行安装,下面对此分别介绍下。

2.1 源码安装

源码安装dnsmasq,从dnsmasq官网下载,如下:

wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.75.tar.gz

clip_image003

yum -y install gcc

clip_image004

tar -xf dnsmasq-2.75.tar.gz

cd dnsmasq-2.75

make install

clip_image005

clip_image006

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

dnsmasq -v

clip_image007

2.2 yum和apt-get方式安装

yum方式安装,如下:

yum -y install dnsmasq

clip_image008

dnsmasq -v

clip_image009

apt-get方式安装,如下:

sudo apt-get -y install dnsmasq

clip_image010

dnsmasq -v

clip_image011

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

clip_image012

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

clip_image013

nslookup ilanni.com

nslookup wwww.ilanni.com

nslookup www.baidu.com

clip_image014

通过上图,我们可以很明显的看出www.ilanni.com、ilanni.com都解析到了192.168.1.24这台服务器上,而www.baidu.com已经解析到公网的IP地址。


本文转自 烂泥行天下 51CTO博客,原文链接:http://blog.51cto.com/ilanni/1708505

相关文章
|
9月前
|
Java 应用服务中间件 网络安全
在手机上app中链接或者浏览器上访问电脑上Tomcat搭建的服务器以及其内容
在手机上app中链接或者浏览器上访问电脑上Tomcat搭建的服务器以及其内容
154 0
在手机上app中链接或者浏览器上访问电脑上Tomcat搭建的服务器以及其内容
|
9月前
|
网络安全 开发工具 数据安全/隐私保护
gitlab在服务器上的安装与配置-自己搭建一个gitlab服务器
gitlab在服务器上的安装与配置-自己搭建一个gitlab服务器
624 0
|
9月前
|
应用服务中间件 测试技术 nginx
软件测试|Docker 搭建Web服务器nginx
软件测试|Docker 搭建Web服务器nginx
164 0
软件测试|Docker 搭建Web服务器nginx
|
9月前
|
NoSQL Redis CDN
分布式服务器框架之搭建C#+MongoDB+Redis初步
WebAccount站点主要干的事儿是下发 服务器状态信息,这个服务器会和WorldServer建立连接,等所有的GameServer初始化完成之后会同步给WorldServer,WorldServer同步给账号服务器站点,然后账号站点等待玩家请求。
|
9月前
|
NoSQL 算法 中间件
分布式服务器框架之搭建C#+MongoDB+Redis初步
Common类库主要做的是一些大家都需要用到的通用的事情,为了避免重复,所以就提取出来了一个Dll。Common库主要是实现了表格数据的加载模块、在CsRedisClient、MongoClient中间件的基础上进行二次封装。实现了数据库连接、Redis连接、以及数据库和Redis的增删改查断开操作。
|
10月前
|
弹性计算 移动开发 Ubuntu
阿里云上搭建HLS直播服务器
通过将摄像头的rtmp视频流推送到服务器,转换成HLS(HTTP Live Streaming)格式,用户可以通过H5浏览器直接打开直播视频。
444 0
|
10月前
|
Linux Shell 数据安全/隐私保护
CentOS 搭建SVN服务器
CentOS 搭建SVN服务器
194 0
CentOS 搭建SVN服务器
搭建自己的发送邮件服务器
搭建自己的发送邮件服务器
搭建自己的发送邮件服务器
|
10月前
|
消息中间件 关系型数据库 Shell
MacOS下的AMQP服务器以及PHP扩展搭建
MacOS下的AMQP服务器以及PHP扩展搭建
253 0
|
10月前
|
存储 数据可视化 Java
【日志审计】极易上手搭建自己日志采集服务器分析日志(winlogbeat+Elasticsearch+Kibana)
【日志审计】极易上手搭建自己日志采集服务器分析日志(winlogbeat+Elasticsearch+Kibana)
284 0
【日志审计】极易上手搭建自己日志采集服务器分析日志(winlogbeat+Elasticsearch+Kibana)
相关产品
云解析DNS
推荐文章
更多