利用Dnsmasq部署DNS服务

       最近工作中遇到要使用不同的DNS来解析不同域名的情况,想起比较小巧的,轻量级的Dnsmasq也许是最合适的。下面就来简单记录下操作的过程。

Dnsmasq工作原理

       Dnsmasq提供DNS缓存和DHCP服务、Tftp服务功能。当接受到一个DNS请求时,Dnsmasq首先会查找/etc/hosts这个文件,然后查找/etc/resolv.conf中定义的外部DNS。所以说Dnsmasq是一个很不错的外部DNS中继。

       配置Dnsmasq为DNS缓存服务器,同时在/etc/hosts文件中加入本地内网解析,这样一来每当内网机器查询时就会优先查询hosts文件,这就等于将/etc/hosts共享给全内网机器使用,从而解决内网机器互相识别的问题。

安装Dnsmasq

       在centos上安装Dnsmasq比较简单,如下所示:

Dnsmasq安装

配置Dnsmasq

      Dnsmasq的配置文件在/etc/dnsmasq.conf,默认情况下dnsmasq.conf中只开启了最后include项,可以在/etc/dnsmasq.d中自己写任意名字的配置文件。

配置文件说明(摘取部分重要信息说明)

1、定义dnsmasq从哪里获取上游DNS服务器的地址,默认是从/etc/resolv.conf获取。

resolv-file=/etc/resolv.dnsmasq.conf

2、严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。一般需要开启strict-order

strict-order

3、定义dnsmasq监听的地址,默认是监控本机的所有网卡上。局域网内主机若要使用dnsmasq服务时,指定本机的IP地址

listen-address=127.0.0.1

4、设置一个反向解析,即所有的地址都解析到特定dns去解析

address=/19.76.10.in-addr.arpa/10.20.10.10

5、增加一个域名,强制解析到你指定的地址上

address=/double-click.net/127.0.0.1

6、设置dns缓存大小,默认为150条

cache-size=150

7、设置DNS的日志及日志路径

log-queries

log-facility=/usr/log/dnsmasq.log

配置实例

1、配置本地hosts    vim /etc/hosts

2、配置上游DNS     vim /etc/resolv.dnsmasq.conf

3、本地启用Dnsmasq解析  

启用Dnsmasq

启动Dnsmasq

service dnsmasq start    //启动

netstat -tunlp |grep 53    //查看启动端口

测试Dnsmasq

1、发送http请求:curl -R http://www.baidu.com

2、查看日志

Dnsmasq日志

你可能感兴趣的:(利用Dnsmasq部署DNS服务)