DNSmasq服务搭建

DNSmasq介绍

DNSmasq是一个小巧且方便地用于配置 DNS 和 DHCP 的工具,适用于小型网络,它提供了DNS功能和可选择的DHCP功能。

它服务那些只在本地适用的域名,这些域名是不会在全球的DNS服务器中出现的。DHCP服务器和DNS服务器结合,

并且允许DHCP分配的地址能在DNS中正常解析,而这些DHCP分配的地址和相关命令可以配置到每台主机中,

也可以配置到一台核心设备中(比如路由器),DNSmasq支持静态和动态两种DHCP配置方式。

因此如果需要快速搭建一个DNS服务或者DHCP服务,那么可以使用此程序来搭建

 

本文参考 :http://www.360doc.com/content/14/0913/13/8314158_409140713.shtml

 


 

下载与安装

官方文档

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

下载地址

http://www.thekelleys.org.uk/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

 

编译安装dnsmasq

 make install

 

版本查看

dnsmasq -v

 

其他安装方式

yum -y install dnsmasq

sudo apt-get -y install dnsmasq

 

 

 

 


配置服务

查看需要监听网卡的IP地址

ifconfig

 

dnsmasq配置

vim /etc/dnsmasq.conf    #下面是需要修改的选项

复制代码
resolv-file=/etc/resolv.conf

strict-order

listen-address=192.168.153.128address=/demon.com/192.168.153.128server=114.114.114.114bogus-nxdomain=114.114.114.114
复制代码

 

对参数的解释

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

strict-order     表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。

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

address      启用泛域名解析,即自定义解析a记录,如下配置为demon.com这个域名:

address=/demon.com/127.0.0.1  #访问demon.com时的所有域名都会被解析成127.0.0.1

bogus-nxdomain  为防止DNS污染,使用参数定义的DNS解析的服务器。注意:如果是阿里云服务器上配置dnsmasq要启用此项。

server      指定dnsmasq程序使用哪个DNS服务器进行解析。       对于不同的网站可以使用不同的域名对应解析如下配置

server=/google.com/8.8.8.8    #表示对于google的服务,使用谷歌的DNS解析。

以上配置完毕后,需要重启dnsmasq服务,重启完毕后局域网中的其他机器,就可以通过该DNS服务器解析公网的域名。

 

 

 

 

 


解析测试

启动服务

dnsmasq

 

修改resolv.conf文件,将服务器地址改为本机地址

vim  /etc/resolv.conf

 

对于reslov.conf的这个文件作用主要有四个关键字:

nameserver      //定义DNS服务器的IP地址domain          //定义本地域名search          //定义域名的搜索列表sortlist        //对返回的域名进行排序

 

举个例子

domain             demonxian3.com

search              www.demonxian3.com mail.demonxian3.com ftp.demonxian3.com

nameserver      114.114.114.114

nameserver      223.5.5.5

 

另外:domain和search不能共存;如果同时存在,后面出现的将会被使用。

当程序寻找不到主机域名时,会对 search 后面的参数一一查找主机域名

 

 测试是否解析成功

 

因为之前配置了 address=/demon.com/192.168.153.128

所以当我们访问www.demon.com时被解析成本机的IP地址


Powered By Z-BlogPHP 1.5.2 Zero

175.es

. theme by Plat together