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

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

1、dnsmasq简介

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

dnsmasq能够解决小范围的dns查询问题,若是业务是跨机房、跨地区的话不建议使用dnsmasq作为dns解析服务器。centos

dnsmasq官网以下:服务器

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

clip_p_w_picpath001

下载dnsmasq地址以下:dom

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

clip_p_w_picpath002

经过上图,咱们能够看到dnsmasq目前还在持续性更新。工具

2、安装dnsmasq

dnsmasq的安装咱们能够源码安装,也能够直接经过yum和apt-get方式进行安装,下面对此分别介绍下。性能

2.1 源码安装

源码安装dnsmasq,从dnsmasq官网下载,以下:测试

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

clip_p_w_picpath003

yum -y install gcc

clip_p_w_picpath004

tar -xf dnsmasq-2.75.tar.gz

cd dnsmasq-2.75

make install

clip_p_w_picpath005

clip_p_w_picpath006

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

dnsmasq -v

clip_p_w_picpath007

2.2 yum和apt-get方式安装

yum方式安装,以下:

yum -y install dnsmasq

clip_p_w_picpath008

dnsmasq -v

clip_p_w_picpath009

apt-get方式安装,以下:

sudo apt-get -y install dnsmasq

clip_p_w_picpath010

dnsmasq -v

clip_p_w_picpath011

dnsmasq安装完毕后,如今咱们来配置dnsmasq。

3、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_p_w_picpath012

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服务器解析公网的域名。

4、客户端测试

如今咱们切换到客户端,修改客户端的dns配置文件。在此已centos6为例进行讲解,以下:

cat /etc/resolv.conf

clip_p_w_picpath013

nslookup ilanni.com

nslookup wwww.ilanni.com

nslookup www.baidu.com

clip_p_w_picpath014

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

相关文章
相关标签/搜索