简介:
dnsmasq是一款轻量级的DNS服务器,同时也是开源项目,配置简单快捷,Dnsmasq提供DNS缓存和DHCP服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存DNS请求来提高对访问过的网址的连接速度。作为DHCP服务器,dnsmasq可以为局域网电脑提供内网ip地址和路由,DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,此外它还自带了一个PXE服务器以及对邮件服务器的mx记录的支持,jabber的srv记录的支持等。
部署环境:
Centos 6.5 x86_64操作系统
dnsmasq时base源中的软件包,可以直接安装部署:
1
2
3
<code># yum list | grep dnsmasq</code>
<code>dnsmasq.x86_64 2.48-17.el6 @base </code>
<code>dnsmasq-utils.x86_64 2.48-17.el6 base</code>
安装dnsmasq软件包:
<code>#yum -y install dnsmasq</code>
操作之前先做备份:
<code># cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak</code>
#查看dnsmasq的安装文件路径:
4
5
6
7
8
9
10
11
12
13
14
15
<code># rpm -ql dnsmasq</code>
<code>/etc/dbus-1/system</code><code>.d</code><code>/dnsmasq</code><code>.conf</code>
<code>/etc/dnsmasq</code><code>.conf </code><code>#主配置文件</code>
<code>/etc/dnsmasq</code><code>.d</code>
<code>/etc/rc</code><code>.d</code><code>/init</code><code>.d</code><code>/dnsmasq</code>
<code>/usr/sbin/dnsmasq</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/CHANGELOG</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/COPYING</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/DBus-interface</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/FAQ</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/doc</code><code>.html</code>
<code>/usr/share/doc/dnsmasq-2</code><code>.48</code><code>/setup</code><code>.html</code>
<code>/usr/share/man/man8/dnsmasq</code><code>.8.gz</code>
<code>/var/lib/dnsmasq</code>
将本地的resolv解析文件配置指向本机:
<code>#echo 'nameserver 127.0.0.1' > /etc/resolv.conf</code>
copy一份作为dnsmasq的解析配置文件:
<code>cp</code> <code>/etc/resolv</code><code>.conf </code><code>/etc/resolv</code><code>.dnsmasq.conf</code>
<code>echo</code> <code>'nameserver 8.8.8.8'</code> <code>> </code><code>/etc/resolv</code><code>.dnsmasq.conf</code>
dnsmasq使用到的配置文件如下:
<code># cat /etc/dnsmasq.conf | grep -v '^#' | grep -v '^$'</code>
<code>resolv-</code><code>file</code><code>=</code><code>/etc/resolv</code><code>.dnsmasq.conf</code>
<code>strict-order</code>
<code>interface=eth0</code>
<code>listen-address=192.168.30.131,127.0.0.1</code>
<code>bind-interfaces</code>
<code>addn-hosts=</code><code>/etc/hosts</code> <code>#域名映射文件</code>
其他两个配置文件的内容:
<code>[root@sh-puppet-node2 etc]</code><code># cat /etc/resolv.conf</code>
<code>nameserver 127.0.0.1</code>
<code>[root@sh-puppet-node2 etc]</code><code># cat /etc/resolv.dnsmasq.conf</code>
<code>nameserver 8.8.8.8 </code><code>#4个8谷歌的dns服务器,可能会比较慢</code>
<code>nameserver 114.114.114.114</code>
添加域名映射
<code># cat /etc/hosts</code>
<code>127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4</code>
<code>::1 localhost localhost.localdomain localhost6 localhost6.localdomain6</code>
<code>192.168.30.128 sh-puppet-master.com</code>
<code>192.168.30.130 sh-puppet-node1.com</code>
<code>192.168.30.131 sh-puppet-node2.com</code>
启动dnsmasq服务:
<code># /etc/init.d/dnsmasq restart</code>
<code>Shutting down dnsmasq: [ OK ]</code>
<code>Starting dnsmasq: [ OK ]</code>
就将node2的reslove.conf文件地址指向dns服务器的ip,测试查看域名解析的ip:
<code># dig sh-puppet-node2.com</code>
<a href="https://s5.51cto.com/wyfs02/M00/9A/F0/wKiom1lcYLfynLmeAABpgVr9CAg385.png" target="_blank"></a>
为了防止本地域名可能会和公网上的一些域名重复,所以改为127.0.0.1.
<code>[root@sh-puppet-node2 ~]</code><code># cat /etc/resolv.conf</code>
<code>; generated by </code><code>/sbin/dhclient-script</code>
<code>search shjygw com</code>
<code>#nameserver 202.96.209.5</code>
<code>[root@sh-puppet-node2 ~]</code><code># cat /etc/resolv.dnsmasq.conf</code>
测试ping百度发现不ok,但是不影响内网域名解析:
[root@sh-puppet-node2 ~]# ping www.baidu.com
ping: unknown host
<a href="http://www.baidu.com/" target="_blank">www.baidu.com</a>
说明:图片毁坏就不展示了,有空补上.
本文转自青衫解衣 51CTO博客,原文链接:http://blog.51cto.com/215687833/1944587